[alsa-devel] HDMI Repoll after pm?
Takashi Iwai
tiwai at suse.de
Thu Dec 10 14:18:13 CET 2015
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. Does the following patch work better?
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);
More information about the Alsa-devel
mailing list