1. 24 Feb, 2021 3 commits
    • Hans de Goede's avatar
      ASoC: rt5670: Remove ADC vol-ctrl mute bits poking from Sto1 ADC mixer settings · 674e4ff4
      Hans de Goede authored
      The SND_SOC_DAPM_MIXER declaration for "Sto1 ADC MIXL" and "Sto1 ADC MIXR"
      was using the mute bits from the RT5670_STO1_ADC_DIG_VOL control as mixer
      master mute bits.
      
      But these bits are already exposed to userspace as controls as part of the
      "ADC Capture Volume" / "ADC Capture Switch" control pair:
      
              SOC_DOUBLE("ADC Capture Switch", RT5670_STO1_ADC_DIG_VOL,
                      RT5670_L_MUTE_SFT, RT5670_R_MUTE_SFT, 1, 1),
              SOC_DOUBLE_TLV("ADC Capture Volume", RT5670_STO1_ADC_DIG_VOL,
                              RT5670_L_VOL_SFT, RT5670_R_VOL_SFT,
                              127, 0, adc_vol_tlv),
      
      Both the fact that the mute bits belong to the same reg as the vol-ctrl
      and the "Digital Mixer Path" diagram in the datasheet clearly shows that
      these mute bits are not part of the mixer and having 2 separate controls
      poking at the same bits is a bad idea.
      
      Remove the master-mute bits settings from the  "Sto1 ADC MIXL" and
      "Sto1 ADC MIXR" DAPM widget declarations, avoiding these bits getting
      poked from 2 different places.
      
      This should not cause any issues for userspace. AFAICT the rt567x codecs
      are only used on x86/ACPI devices and the UCM profiles used there already
      set the "ADC Capture Switch" as needed.
      Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
      Link: https://lore.kernel.org/r/20210215142118.308516-4-hdegoede@redhat.comSigned-off-by: default avatarMark Brown <broonie@kernel.org>
      674e4ff4
    • Hans de Goede's avatar
      ASoC: rt5670: Remove 'HP Playback Switch' control · 8022f098
      Hans de Goede authored
      The RT5670_L_MUTE_SFT and RT5670_R_MUTE_SFT bits (bits 15 and 7) of the
      RT5670_HP_VOL register are set / unset by the headphones deplop code
      run by rt5670_hp_event() on SND_SOC_DAPM_POST_PMU / SND_SOC_DAPM_PRE_PMD.
      
      So we should not also export a control to userspace which toggles these
      same bits.
      
      This should not cause any issues for userspace. AFAICT the rt567x codecs
      are only used on x86/ACPI devices and the UCM profiles used there do not
      use the "HP Playback Switch" control.
      Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
      Link: https://lore.kernel.org/r/20210215142118.308516-3-hdegoede@redhat.comSigned-off-by: default avatarMark Brown <broonie@kernel.org>
      8022f098
    • Hans de Goede's avatar
      ASoC: rt5670: Remove 'OUT Channel Switch' control · 30be2641
      Hans de Goede authored
      The "OUT Channel Switch" control is a left over from code copied from
      thr rt5640 codec driver.
      
      With the rt5640 codec driver the output volume controls have 2 pairs of
      mute bits:
      bit 7, 15: Mute Control for Spk/Headphone/Line Output Port
      bit 6, 14: Mute Control for Spk/Headphone/Line Volume Channel
      
      Bits 7 and 15 are normal mute bits on the rt5670/5672 which are
      controlled by 2 dapm widgets:
      	SND_SOC_DAPM_SWITCH("LOUT L Playback", SND_SOC_NOPM, 0, 0,
      			    &lout_l_enable_control),
      	SND_SOC_DAPM_SWITCH("LOUT R Playback", SND_SOC_NOPM, 0, 0,
      			    &lout_r_enable_control),
      
      But on the 5670/5672 bit 6 is always reserved, where as bit 14 is
      "LOUT Differential Mode" on the 5670 and also reserved on the 5672.
      
      So the "OUT Channel Switch" control which is controlling bits 6+14
      of the "LINE Output Control" register is bogus -> remove it.
      
      This should not cause any issues for userspace. AFAICT the rt567x codecs
      are only used on x86/ACPI devices and the UCM profiles used there do not
      use the "OUT Channel Switch" control.
      Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
      Link: https://lore.kernel.org/r/20210215142118.308516-2-hdegoede@redhat.comSigned-off-by: default avatarMark Brown <broonie@kernel.org>
      30be2641
  2. 23 Feb, 2021 2 commits
  3. 22 Feb, 2021 2 commits
  4. 17 Feb, 2021 6 commits
  5. 15 Feb, 2021 1 commit
  6. 12 Feb, 2021 3 commits
  7. 11 Feb, 2021 12 commits
  8. 10 Feb, 2021 11 commits