On Wed, Nov 11, 2009 at 7:24 PM, Mark Brown broonie@opensource.wolfsonmicro.com wrote:
On Wed, Nov 11, 2009 at 03:10:57PM +0800, Barry Song wrote:
Due to some hardware dependence issues, some devices maybe require different suspend/resume execution order for CPU and Codec DAI to make sure the hardware can work normally after executing sleep and wakeup.
Are there any actual systems that this solves problems for - if so, what are the problems? I don't think this solution is general enough to be scalable, it'll work for one particular use case but if we get further reorderings needed it'll become difficult to manage.
If we're going to be doing anything with this I think it would be much better to use the pm_link infrastructure which will be appearing in 2.6.34. This should allow us to provide arbatrary ordering of device level suspend and resume.
I am glad to hear there is a plan about pm_link. I think that will provide generic support for all related issues. And I also think my solution can only solve some particular cases. Here I have a problem about blackfin TDM. After a deep sleep(all suspend to memory and most parts power-down), If codec resumes at first, clock ans sync are provided by it at onece. Then while CPU TDM interface resumes, it will fail to go back to right status for work. In the reverse orders, CPU interfaces stand there at first and wait coming sync and clocks, it can go to right status. Do you have any idea about fixing it better?