On 27. 01. 23 17:25, Limonciello, Mario wrote:
[AMD Official Use Only - General]
-----Original Message----- From: Jaroslav Kysela perex@perex.cz Sent: Friday, January 27, 2023 10:23 To: Limonciello, Mario Mario.Limonciello@amd.com; Mukunda, Vijendar Vijendar.Mukunda@amd.com; Saba Kareem, Syed Syed.SabaKareem@amd.com; linux-kernel@vger.kernel.org Cc: Pananchikkal, Renjith Renjith.Pananchikkal@amd.com; Mark Pearson mpearson@lenovo.com; Liam Girdwood lgirdwood@gmail.com; Mark Brown broonie@kernel.org; Takashi Iwai tiwai@suse.com; alsa- devel@alsa-project.org Subject: Re: [PATCH 2/6] ASoC: amd: yc: Add a module parameter to influence pdm_gain
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@amd.com
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.
I had consider this, but the hardware default at reset is 0x0. Do you think it's still necessary for posterity?
You're using 0644 permissions for the module parameter, so the value can be changed by root using sysfs anytime (between SNDRV_PCM_TRIGGER calls).
Jaroslav