Re: [PATCH] ALSA: hda/hdmi - Don't report Jack event if no need to do that

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On 2019/5/4 下午3:18, Takashi Iwai wrote:
On Sat, 04 May 2019 04:45:36 +0200,
Hui Wang wrote:

On 2019/5/3 下午11:57, Takashi Iwai wrote:
On Fri, 03 May 2019 06:05:09 +0200,
Hui Wang wrote:

Right...

And inspired by your change, maybe we just make this change, then it
is enough to fix the falsely report issue here.

@@ -1551,8 +1551,11 @@ static bool hdmi_present_sense_via_verbs(struct hdmi_spec_per_pin *per_pin,
  	ret = !repoll || !eld->monitor_present || eld->eld_valid;
  	jack = snd_hda_jack_tbl_get(codec, pin_nid);
-	if (jack)
+	if (jack) {
  		jack->block_report = !ret;
+		jack->pin_sense = (eld->monitor_present && eld->eld_valid) ?
+			AC_PINSENSE_PRESENCE : 0;
+	}

because in the snd_hda_pin_sense(), the jack_dirty is set to 0, then
we change the jack->pin_sense,  and in the report_sync() it will
decide the jack state according to the jack->pin_sense we changed.
OK, that should work, just overriding and correcting the pin_sense.

I guess the only missing code path is the case where jack->dirty is
set manually without the callback call via
snd_hda_jack_set_dirty_all().  Through a quick glance, it's called
from the common resume code, hda_call_codec_resume().  But, again,
HDMI codec has its own resume to refresh pin detection
(generic_hdmi_resume()), and the changed code-path should be
involved.

The rest callers of snd_hda_jack_set_dirty_all() are the polling mode
and the unsol event handler for the old HDMI codecs, both of which we
don't care much.

That said, your minimal change looks good to me, and I'll happily
apply as long as it's tested.  Of course, it needs some more careful
comments about the behavior.

OK,  after testing it, I will send the patch to review.

Thanks.




Thanks!

Takashi
_______________________________________________
Alsa-devel mailing list
Alsa-devel@xxxxxxxxxxxxxxxx
https://mailman.alsa-project.org/mailman/listinfo/alsa-devel
_______________________________________________
Alsa-devel mailing list
Alsa-devel@xxxxxxxxxxxxxxxx
https://mailman.alsa-project.org/mailman/listinfo/alsa-devel




[Index of Archives]     [ALSA User]     [Linux Audio Users]     [Pulse Audio]     [Kernel Archive]     [Asterisk PBX]     [Photo Sharing]     [Linux Sound]     [Video 4 Linux]     [Gimp]     [Yosemite News]

  Powered by Linux