At Tue, 26 Nov 2013 06:56:12 +0000, Lin, Mengdong wrote:
-----Original Message----- From: Takashi Iwai [mailto:tiwai@suse.de] Sent: Tuesday, November 26, 2013 2:14 PM To: Wang Xingchao
I test WAKEEN feature on Haswell machines before, it could really wakeup system from D3.
But the runtime suspend doesn't power down to D3 by itself. Did you test really with D3?
I will double check this on Haswell with sound git tree for-linus branch. We've tried Android on Haswell-ULT last week, the display HD-A controller can enter D3 and HDMI cable plug-in can wake up the controller and codec. The code base is v3.9 with various driver patches.
Hrm, but as I mentioned, we have no D3 call in runtime suspend callback. How does it reach to D3 then? Maybe that part is patched in your side?
For non-Haswell platforms, hardware team suggest that unless all of the codecs on the HD-A link support EPSS and ClkStopOK, runtime PM of the controller should not be enabled on the controller. Otherwise, functionality will be lost and there are likely going to be audio artifacts.
Is EPSS mandatory? We have already a check of ClkStopOK bit, but EPSS influences only on the wait time, so far.
Takashi
Thanks Mengdong
The controller must be in RESET mode after enter runtime-suspend, otherwise it will not be waken up even if codec send out wake-up event. And STATESTS will be cleared after controller brought out of RESET mode.
And I noticed that RESET mode makes some machines inconsistent, e.g. the mute LED is reset on HP machines without keeping the previous state. I need to double-check whether this still happens with the recent fixes.