mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-03-16 04:04:06 +00:00
ASoC: codecs: lpass-rx-macro: fix sidetone register offsets
commitfca041a3ab
upstream. For some reason we ended up with incorrect register offfset calcuations for sidetone. regmap clearly throw errors when accessing these incorrect registers as these do not belong to any read/write ranges. so fix them to point to correct register offsets. Fixes:f3ce6f3c9a
("ASoC: codecs: lpass-rx-macro: add iir widgets") Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> Link: https://lore.kernel.org/r/20220126113549.8853-3-srinivas.kandagatla@linaro.org Signed-off-by: Mark Brown <broonie@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
0b3a311f3c
commit
0e543dc647
1 changed files with 4 additions and 4 deletions
|
@ -2688,8 +2688,8 @@ static uint32_t get_iir_band_coeff(struct snd_soc_component *component,
|
|||
int reg, b2_reg;
|
||||
|
||||
/* Address does not automatically update if reading */
|
||||
reg = CDC_RX_SIDETONE_IIR0_IIR_COEF_B1_CTL + 16 * iir_idx;
|
||||
b2_reg = CDC_RX_SIDETONE_IIR0_IIR_COEF_B2_CTL + 16 * iir_idx;
|
||||
reg = CDC_RX_SIDETONE_IIR0_IIR_COEF_B1_CTL + 0x80 * iir_idx;
|
||||
b2_reg = CDC_RX_SIDETONE_IIR0_IIR_COEF_B2_CTL + 0x80 * iir_idx;
|
||||
|
||||
snd_soc_component_write(component, reg,
|
||||
((band_idx * BAND_MAX + coeff_idx) *
|
||||
|
@ -2718,7 +2718,7 @@ static uint32_t get_iir_band_coeff(struct snd_soc_component *component,
|
|||
static void set_iir_band_coeff(struct snd_soc_component *component,
|
||||
int iir_idx, int band_idx, uint32_t value)
|
||||
{
|
||||
int reg = CDC_RX_SIDETONE_IIR0_IIR_COEF_B2_CTL + 16 * iir_idx;
|
||||
int reg = CDC_RX_SIDETONE_IIR0_IIR_COEF_B2_CTL + 0x80 * iir_idx;
|
||||
|
||||
snd_soc_component_write(component, reg, (value & 0xFF));
|
||||
snd_soc_component_write(component, reg, (value >> 8) & 0xFF);
|
||||
|
@ -2739,7 +2739,7 @@ static int rx_macro_put_iir_band_audio_mixer(
|
|||
int iir_idx = ctl->iir_idx;
|
||||
int band_idx = ctl->band_idx;
|
||||
u32 coeff[BAND_MAX];
|
||||
int reg = CDC_RX_SIDETONE_IIR0_IIR_COEF_B1_CTL + 16 * iir_idx;
|
||||
int reg = CDC_RX_SIDETONE_IIR0_IIR_COEF_B1_CTL + 0x80 * iir_idx;
|
||||
|
||||
memcpy(&coeff[0], ucontrol->value.bytes.data, params->max);
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue