Re: ALSA: Conexant CX20585 (thinkpad t510) speaker powersave regression

From: Takashi Iwai
Date: Fri Jul 12 2013 - 08:40:21 EST


At Thu, 11 Jul 2013 23:42:27 -0500,
Jason Schindler wrote:
>
> I'm attempting to jump into the thread from here:
>
> http://markmail.org/message/zqbhcuc2gnxji3s7
>
> I'm experiencing the same issue as described in the thread. I'm
> currently running kernel 3.9.6, but have had the issue for some time.
>
> I attempted to go through the debugging requested by Takashi Iwai on Jan 13.
>
> Immediately after issuing the "hda-verb /dev/snd/hwC0D0 0x1f
> SET_POWER_STATE 0" command, here is the trace output:
>
> # tracer: nop
> #
> # entries-in-buffer/entries-written: 8/8 #P:4
> #
> # _-----=> irqs-off
> # / _----=> need-resched
> # | / _---=> hardirq/softirq
> # || / _--=> preempt-depth
> # ||| / delay
> # TASK-PID CPU# |||| TIMESTAMP FUNCTION
> # | | | |||| | |
> hda-verb-14066 [001] .... 90509.001737: hda_power_count: [0:0]
> power_count=2, power_on=1, power_transition=0
> hda-verb-14066 [001] .... 90509.001740: hda_send_cmd: [0:0] val=1f70500
> hda-verb-14066 [001] .... 90509.001814: hda_get_response: [0:0] val=0
> hda-verb-14066 [001] .... 90509.001814: hda_power_count: [0:0]
> power_count=1, power_on=1, power_transition=0
> hda-verb-14122 [003] .... 90712.799801: hda_power_count: [0:0]
> power_count=2, power_on=1, power_transition=0
> hda-verb-14122 [003] .... 90712.799804: hda_send_cmd: [0:0] val=1f70500
> hda-verb-14122 [003] .... 90712.799880: hda_get_response: [0:0] val=0
> hda-verb-14122 [003] .... 90712.799881: hda_power_count: [0:0]
> power_count=1, power_on=1, power_transition=0
>
> When the speakers stop, here is the output:
>
> # tracer: nop
> #
> # entries-in-buffer/entries-
> written: 8/8 #P:4
> #
> # _-----=> irqs-off
> # / _----=> need-resched
> # | / _---=> hardirq/softirq
> # || / _--=> preempt-depth
> # ||| / delay
> # TASK-PID CPU# |||| TIMESTAMP FUNCTION
> # | | | |||| | |
> hda-verb-14066 [001] .... 90509.001737: hda_power_count: [0:0]
> power_count=2, power_on=1, power_transition=0
> hda-verb-14066 [001] .... 90509.001740: hda_send_cmd: [0:0] val=1f70500
> hda-verb-14066 [001] .... 90509.001814: hda_get_response: [0:0] val=0
> hda-verb-14066 [001] .... 90509.001814: hda_power_count: [0:0]
> power_count=1, power_on=1, power_transition=0
> hda-verb-14122 [003] .... 90712.799801: hda_power_count: [0:0]
> power_count=2, power_on=1, power_transition=0
> hda-verb-14122 [003] .... 90712.799804: hda_send_cmd: [0:0] val=1f70500
> hda-verb-14122 [003] .... 90712.799880: hda_get_response: [0:0] val=0
> hda-verb-14122 [003] .... 90712.799881: hda_power_count: [0:0]
> power_count=1, power_on=1, power_transition=0
>
> I'm a bit out of my element here, if I've missed a crucial step,
> please let me know.

Well, there is no difference in the traces above.

Actually, after talking with Conexant guys, we concluded that this
problem doesn't seem to be an issue of the Conexant codec at all, but
rather Lenovo's firmware who powers down the speaker. Maybe some
thermal or power condition triggers it.

So, if it's a regression in the kernel, you should check whether ACPI
or whatever else change influences on the behavior, not only the sound
driver change.


Takashi
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/