On 27. 01. 23 17:01, Mario Limonciello wrote:
In case of regressions for any users that the new pdm_gain value is too high and for additional debugging, introduce a module parameter that would let them configure it. Signed-off-by: Mario Limonciello <mario.limonciello@xxxxxxx> --- sound/soc/amd/yc/acp6x-pdm-dma.c | 7 ++++++- sound/soc/amd/yc/acp6x.h | 2 +- 2 files changed, 7 insertions(+), 2 deletions(-)
...
pdm_ctrl = acp6x_readl(acp_base + ACP_WOV_MISC_CTRL); - pdm_ctrl |= ACP_WOV_MISC_CTRL_MASK; + pdm_ctrl |= FIELD_PREP(ACP_WOV_GAIN_CONTROL, pdm_gain);
The bits should be zeroed (AND - &) before OR to make sure that the correct value is written to the register. More related patches are affected.
acp6x_writel(pdm_ctrl, acp_base + ACP_WOV_MISC_CTRL);
Jaroslav -- Jaroslav Kysela <perex@xxxxxxxx> Linux Sound Maintainer; ALSA Project; Red Hat, Inc.