[alsa-devel] HDMI Repoll after pm?
David Henningsson
david.henningsson at canonical.com
Thu Dec 10 14:28:16 CET 2015
On 2015-12-10 14:18, Takashi Iwai wrote:
> On Thu, 10 Dec 2015 13:59:59 +0100,
> David Henningsson wrote:
>>
>>
>>
>> On 2015-12-10 10:53, Takashi Iwai wrote:
>>> On Thu, 10 Dec 2015 10:47:59 +0100,
>>> David Henningsson wrote:
>>>>
>>>> Hi Takashi,
>>>>
>>>> A recent change in sound.git seems to have introduced some repoll after
>>>> pm. Is this an intentional change? I don't think it's wrong per se (it
>>>> stops after 6 repolls), but it breaks my hda-emu tester when "list" does
>>>> not return the expected input.
>>>
>>> Hm, there is no such an intended change.
>>
>> After testing some more, I've found that reverting e90247f9 (Split ELD
>> update code from hdmi_present_sense) fixes the issue, so it seems like
>> this commit indeed contains a functional change...
>
> Thanks for chasing it.
It's almost unreal...my tester framework finally caught a bug (that you
didn't catch before I saw it!). I cannot believe it, it only took, like,
three years or so :-)
> Does the following patch work better?
It certainly does. Thanks!
Tested-by: David Henningsson <david.henningsson at canonical.com>
>
>
> Takashi
>
> ---
> diff --git a/sound/pci/hda/patch_hdmi.c b/sound/pci/hda/patch_hdmi.c
> index 35a78a6f87a6..2a7d29a07f31 100644
> --- a/sound/pci/hda/patch_hdmi.c
> +++ b/sound/pci/hda/patch_hdmi.c
> @@ -1605,6 +1605,7 @@ static bool hdmi_present_sense(struct hdmi_spec_per_pin *per_pin, int repoll)
> */
> int present;
> bool ret;
> + bool do_repoll = false;
>
> snd_hda_power_up_pm(codec);
> present = snd_hda_pin_sense(codec, pin_nid);
> @@ -1629,9 +1630,11 @@ static bool hdmi_present_sense(struct hdmi_spec_per_pin *per_pin, int repoll)
> eld->eld_size) < 0)
> eld->eld_valid = false;
> }
> + if (!eld->eld_valid && repoll)
> + do_repoll = true;
> }
>
> - if (!eld->eld_valid && repoll)
> + if (do_repoll)
> schedule_delayed_work(&per_pin->work, msecs_to_jiffies(300));
> else
> update_eld(codec, per_pin, eld);
>
--
David Henningsson, Canonical Ltd.
https://launchpad.net/~diwic
More information about the Alsa-devel
mailing list