lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Thu, 16 Dec 2021 17:13:15 +0530
From:   Ajit Kumar Pandey <AjitKumar.Pandey@....com>
To:     Shuming [范書銘] <shumingf@...ltek.com>,
        "broonie@...nel.org" <broonie@...nel.org>,
        "alsa-devel@...a-project.org" <alsa-devel@...a-project.org>
Cc:     Oder Chiou <oder_chiou@...ltek.com>,
        "Sunil-kumar.Dommati@....com" <Sunil-kumar.Dommati@....com>,
        open list <linux-kernel@...r.kernel.org>,
        "Basavaraj.Hiregoudar@....com" <Basavaraj.Hiregoudar@....com>,
        Takashi Iwai <tiwai@...e.com>,
        Liam Girdwood <lgirdwood@...il.com>,
        "Vijendar.Mukunda@....com" <Vijendar.Mukunda@....com>,
        "Alexander.Deucher@....com" <Alexander.Deucher@....com>,
        Jack Yu <jack.yu@...ltek.com>,
        Derek [方德義] <derek.fang@...ltek.com>,
        "Flove(HsinFu)" <flove@...ltek.com>,
        Albert Chen <albertchen@...ltek.com>
Subject: Re: [PATCH v2 1/1] ASoC: rt5682s: Add dapm switch to mute/unmute HP
 playback output



On 12/9/2021 7:55 AM, Shuming [范書銘] wrote:
> [CAUTION: External Email]
> 
>> Subject: [PATCH v2 1/1] ASoC: rt5682s: Add dapm switch to mute/unmute HP
>> playback output
>>
>> Add dapm switch in playback path to mute or unmute HP output data.
>> We will set and reset MUTE_SFT bit in RT5682S_HP_CTRL_1 register based on
>> switch value to mute or unmute respective channel.
>>
>> Signed-off-by: Ajit Kumar Pandey <AjitKumar.Pandey@....com>
>> ---
>>   sound/soc/codecs/rt5682s.c | 19 +++++++++++++++++--
>>   1 file changed, 17 insertions(+), 2 deletions(-)
>>
>> diff --git a/sound/soc/codecs/rt5682s.c b/sound/soc/codecs/rt5682s.c index
>> d49a4f68566d..21ab5f7df422 100644
>> --- a/sound/soc/codecs/rt5682s.c
>> +++ b/sound/soc/codecs/rt5682s.c
>> @@ -1573,6 +1573,14 @@ static const char * const
>> rt5682s_adcdat_pin_select[] = {
>>        "ADCDAT1", "ADCDAT2",
>>   };
>>
>> +/* Out Switch */
>> +static const struct snd_kcontrol_new hpol_switch =
>> +     SOC_DAPM_SINGLE_AUTODISABLE("Switch", RT5682S_HP_CTRL_1,
>> +             RT5682S_L_MUTE_SFT, 1, 1);
>> +static const struct snd_kcontrol_new hpor_switch =
>> +     SOC_DAPM_SINGLE_AUTODISABLE("Switch", RT5682S_HP_CTRL_1,
>> +             RT5682S_R_MUTE_SFT, 1, 1);
>> +
>>   static SOC_VALUE_ENUM_SINGLE_DECL(rt5682s_adcdat_pin_enum,
>>        RT5682S_GPIO_CTRL_1, RT5682S_GP4_PIN_SFT,
>> RT5682S_GP4_PIN_MASK,
>>        rt5682s_adcdat_pin_select, rt5682s_adcdat_pin_values); @@ -1746,6
>> +1754,11 @@ static const struct snd_soc_dapm_widget
>> rt5682s_dapm_widgets[] = {
>>        SND_SOC_DAPM_PGA_S("HP Amp", 1, SND_SOC_NOPM, 0, 0,
>> rt5682s_hp_amp_event,
>>                SND_SOC_DAPM_POST_PMD | SND_SOC_DAPM_POST_PMU),
>>
>> +     SND_SOC_DAPM_SWITCH("HPOL Playback", SND_SOC_NOPM, 0, 0,
>> +             &hpol_switch),
>> +     SND_SOC_DAPM_SWITCH("HPOR Playback", SND_SOC_NOPM, 0, 0,
>> +             &hpor_switch),
>> +
>>        /* CLK DET */
>>        SND_SOC_DAPM_SUPPLY("CLKDET SYS", RT5682S_CLK_DET,
>>                RT5682S_SYS_CLK_DET_SFT, 0, NULL, 0), @@ -1895,8 +1908,10 @@
>> static const struct snd_soc_dapm_route rt5682s_dapm_routes[] = {
>>        {"HP Amp", NULL, "CLKDET SYS"},
>>        {"HP Amp", NULL, "SAR"},
>>
>> -     {"HPOL", NULL, "HP Amp"},
>> -     {"HPOR", NULL, "HP Amp"},
>> +     {"HPOL Playback", "Switch", "HP Amp"},
>> +     {"HPOR Playback", "Switch", "HP Amp"},
>> +     {"HPOL", NULL, "HPOL Playback"},
>> +     {"HPOR", NULL, "HPOR Playback"},
>>   };
> 
> RT5682S enables the 1 bit control for HP output.
> Therefore, the setting of RT5682S_HP_CTRL_1[15][7] will be not effective.
> 
>
Ok, it was actually effective and muted audio when we test in our 
platform, possible because i'm tearing down dapm path based on switch
value. If we don't have register bits available to mute i'll resubmit 
the change with virtual switch widget to disable DAPM and stop audio.

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ