RE: [PATCH v2 2/2] ASoC: rt715:add Mic Mute LED control support

From: Limonciello, Mario
Date: Tue Jan 12 2021 - 09:50:15 EST


> > -----Original Message-----
> > From: Pierre-Louis Bossart <pierre-louis.bossart@xxxxxxxxxxxxxxx>
> > Sent: 2021年1月12日 2:07
> > To: Yuan, Perry; oder_chiou@xxxxxxxxxxx; perex@xxxxxxxx; tiwai@xxxxxxxx
> > Cc: alsa-devel@xxxxxxxxxxxxxxxx; Limonciello, Mario; lgirdwood@xxxxxxxxx;
> > linux-kernel@xxxxxxxxxxxxxxx; broonie@xxxxxxxxxx
> > Subject: Re: [PATCH v2 2/2] ASoC: rt715:add Mic Mute LED control support
> >
> >
> > [EXTERNAL EMAIL]
> >
> >
> >
> >
> > > @@ -268,6 +269,7 @@ static int rt715_sdca_put_volsw(struct snd_kcontrol
> > *kcontrol,
> > > unsigned int reg2 = mc->rreg;
> > > unsigned int reg = mc->reg;
> > > unsigned int max = mc->max;
> > > + unsigned int val0, val1;
> > > int err;
> > >
> > > val = ucontrol->value.integer.value[0]; @@ -286,7 +288,22 @@ static
> > > int rt715_sdca_put_volsw(struct snd_kcontrol *kcontrol,
> > > if (err < 0)
> > > return err;
> > > }
> > > -
> > > +#if IS_ENABLED(CONFIG_DELL_PRIVACY)
> > > + /* Privacy LED Trigger State Changed by muted/unmute switch */
> > > + if (mc->invert) {
> > > + val0 = ucontrol->value.integer.value[0];
> > > + val1 = ucontrol->value.integer.value[1];
> > > + if (val0 == 1 && val1 == 1) {
> > > + rt715->micmute_led = LED_OFF;
> > > + ledtrig_audio_set(LED_AUDIO_MICMUTE,
> > > + rt715->micmute_led ? LED_ON :
> > LED_OFF);
> > > + } else if (val0 == 0 && val1 == 0) {
> > > + rt715->micmute_led = LED_ON;
> > > + ledtrig_audio_set(LED_AUDIO_MICMUTE,
> > > + rt715->micmute_led ? LED_ON :
> > LED_OFF);
> > > + }
> > > + }
> > > +#endif
> >
> > Should this be activated for specific DMI quirks? This driver is used in
> non-Dell
> > platforms (I am thinking of Intel RVPs or Realtek daughterboards), I am not
> > sure if a build-time behavior change makes sense.
> >
> > Or conversely could we just set the LEDs unconditionally if doing so is
> > harmless?
>
> The current mic mute led setting path is not common used for other vendors,
> just Dell platform
> support this mic mute led set operation.
>
> Do you think that I need to add one DMI quirk in the next version ?
> If so, I can add that.
>
>


In the HDA audio case this is modeled off of, the code runs whether or not a
vendor has support for a mic mute LED. The calls to ledtrig_audio_set should
be a no-op. I agree with @Pierre-Louis Bossart in this case, we should just
be running it whether or not dell-privacy is compiled in. If another vendor
chooses to add LED support they'll just need to set up their ledtrig supported
backend and not change codec code.