[alsa-devel] [PATCH] ALSA: hda - Update HDMI monitor_present from a temporary structure
Takashi Iwai
tiwai at suse.de
Wed Apr 13 17:01:52 CEST 2016
On Wed, 13 Apr 2016 16:53:59 +0200,
Hyungwon Hwang wrote:
>
> 2016년 04월 13일 16:33에 Takashi Iwai 이(가) 쓴 글:
> > On Wed, 13 Apr 2016 02:27:39 +0200,
> > Hyungwon Hwang wrote:
> >>
> >> pin_eld is a temporary structure. So before calling update_eld(),
> >> eld should be updated from pin_eld.
> >>
> >> Signed-off-by: Hyungwon Hwang <hyungwon.hwang7 at gmail.com>
> >
> > It's not clear what you're trying to solve only by the description
> > above alone. It's about the inconsistent "monitor present" appearance
> > in eld proc file, right? You need to write "why your patch is
> > necessary" in your patch description.
> >
> > Now back to the code change:
> >
> >> ---
> >> sound/pci/hda/patch_hdmi.c | 2 ++
> >> 1 file changed, 2 insertions(+)
> >>
> >> diff --git a/sound/pci/hda/patch_hdmi.c b/sound/pci/hda/patch_hdmi.c
> >> index 5af372d..9de114d 100644
> >> --- a/sound/pci/hda/patch_hdmi.c
> >> +++ b/sound/pci/hda/patch_hdmi.c
> >> @@ -1414,6 +1414,8 @@ static bool hdmi_present_sense_via_verbs(struct hdmi_spec_per_pin *per_pin,
> >>
> >> mutex_lock(&per_pin->lock);
> >> pin_eld->monitor_present = !!(present & AC_PINSENSE_PRESENCE);
> >> + eld->monitor_present = pin_eld->monitor_present;
> >> +
> >> if (pin_eld->monitor_present)
> >> eld->eld_valid = !!(present & AC_PINSENSE_ELDV);
> >> else
> >
> > OK, this would work, but the fundamental problem is that pin_eld is
> > modified in this function. This used to work in the past casually due
> > to a bug, but I plugged it in the commit bd48128539ab
> > ALSA: hda - Fix forgotten HDMI monitor_present update
> > but overlooked the regression in non-component side. My bad.
> >
> > So, the real fix is to replace the all pin_eld with eld in this
> > function. The untested patch is below. Could you check whether this
> > works for you?
>
> Your code works well in my case, and seems more reasonable even to me.
> Thanks for your review and work.
OK, I resubmit your and my patches with slightly more comments, then
apply them to for-linus branch.
thanks,
Takashi
More information about the Alsa-devel
mailing list