On Fri, Nov 13, 2009 at 9:38 PM, Mark Brown broonie@opensource.wolfsonmicro.com wrote:
On Fri, Nov 13, 2009 at 12:51:18PM +0800, Barry Song wrote:
It doesn't make sense to call suspend/resume of all cpu/codec dais even they are not initialized and registered. This will cause many problems foraudio PM. The condition card is not instantiated covers codec is null, so delete the check that codec is null.
Hrm. It's not clear that this is the best approach here - it'd mean that things like the CODEC drivers would need to have two suspend and resume paths, one for use before the card comes up and one for use afterwards. As things stand this will fix whatever problem you are seeing but will create problems for other systems where we'll stop suspending devices that need it.
As with your TDM port issue pm_link is going to be really helpful here once it hits mainline. Let me have a think about what (if anything) we can do in the meantime, this area is a little fragile.
Mark, You misunderstand my patch:-) This patch is to solve a completely different problem with the last one I sent. Its meaning is very simple actually. While card->instantiated is not 1, it means the card(cpu dai/codec dai and related stuff) and the whole links are not built successfully at all. So devices are not even initialized at all. And the audio system doesn't start to work. Since so, suspend/resume should be not needed for the whole system. Thanks Barry