At Mon, 25 Nov 2013 10:20:55 +0100, David Henningsson wrote:
On 11/25/2013 08:17 AM, Takashi Iwai wrote:
At Mon, 25 Nov 2013 07:32:57 +0100, David Henningsson wrote:
On 11/22/2013 12:57 PM, Takashi Iwai wrote:
Hi,
after my previous fix, the runtime PM seems working stably finally. However, there seem still some glitches:
- The wakeup via jack or HDMI/DP detection doesn't seem to work on my
test machines. WAKEEN is set properly. And its value can be read correctly at the point of runtime resume, too.
Hi and thanks for working on this.
I've been trying to reproduce the above, but I can't seem to activate runtime PM at all. I can't seem to get a callback to runtime_suspend, and further investigation shows that /sys/class/sound/card0/power/runtime_status shows "unsupported".
You need to adjust power/control of the parent PCM device, i.e. /sys/devices/pci/*/power/control. The following udev rule should work for HD-audio. Give it a try.
ACTION=="add", SUBSYSTEM=="pci", ATTR{class}=="0x040300", TEST=="power/control", ATTR{power/control}="auto"
I tried this rule, but it did not make any difference - /sys/class/sound/card0/device/power/control was still on. (And I did proofread the rule...)
This (and other sound/*) doesn't matter. Only the entry in the PCI device counts. It's the runtime PM of the PCI device after all. (Remember that the runtime PM callbacks are set only on this device.)
You can put a printk in azx_runtime_suspend(). For Haswell, it should work as is with 3.13-rc1.
For IvyBridge, check sound-unstable test/hda branch. I'll try to merge to sound git tree once after brushing up and submitting for review.
Takashi