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]));