Re: [PATCH 7/7] ASoC: codecs: msm8916-wcd-digital: drop dead gain hacks

From: Srinivas Kandagatla
Date: Tue Jan 16 2024 - 07:33:20 EST


Hi Johan,

did you see any issue with this codec?

These are not really hacks, to make the gains effective it has to be applied in a particular order.


On 16/01/2024 09:39, Johan Hovold wrote:
- /* apply the digital gain after the interpolator is enabled */

As you noticed in the comments, the gains have to be reprogrammed after interpolator and its clks are enabled.


- usleep_range(10000, 10100);
- snd_soc_component_write(component, rx_gain_reg[w->shift],
- snd_soc_component_read(component, rx_gain_reg[w->shift]));
- break;
case SND_SOC_DAPM_POST_PMD:
snd_soc_component_update_bits(component, LPASS_CDC_CLK_RX_RESET_CTL,
1 << w->shift, 1 << w->shift);
@@ -630,9 +613,6 @@ static int msm8916_wcd_digital_enable_dec(struct snd_soc_dapm_widget *w,
snd_soc_component_update_bits(component, tx_mux_ctl_reg,
TX_MUX_CTL_HPF_BP_SEL_MASK,
TX_MUX_CTL_HPF_BP_SEL_NO_BYPASS);
- /* apply the digital gain after the decimator is enabled */
same here.

- snd_soc_component_write(component, tx_gain_reg[w->shift],
- snd_soc_component_read(component, tx_gain_reg[w->shift]));