All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3 0/6] Fix default DMIC gain on AMD PDM drivers
@ 2023-01-31 18:46 ` Mario Limonciello
  0 siblings, 0 replies; 24+ messages in thread
From: Mario Limonciello @ 2023-01-31 18:46 UTC (permalink / raw)
  To: Jaroslav Kysela, Mukunda Vijendar, Saba Kareem Syed
  Cc: Pananchikkal Renjith, Mark Pearson, Mario Limonciello,
	alsa-devel, linux-kernel

It's been reported that a number of laptops have a low volume
level from the digital microphone compared to Windows.

AMD offers a register that can adjust the gain for PDM which is not
configured at maximum gain by default.

To fix this change the default for all 3 drivers to raise the gain
but also offer a module parameter. The module parameter can be used
for debugging if the gain is too high on a given laptop.

This is intentionally split into multiple patches for default and
parameter so that if the default really does behave better universally
we can bring it back to stable too later.

v2->v3:
 * Use clamp and clear properly

Mario Limonciello (6):
  ASoC: amd: yc: Adjust the gain for PDM DMIC
  ASoC: amd: yc: Add a module parameter to influence pdm_gain
  ASoC: amd: renoir: Adjust the gain for PDM DMIC
  ASoC: amd: renoir: Add a module parameter to influence pdm_gain
  ASoC: amd: ps: Adjust the gain for PDM DMIC
  ASoC: amd: ps: Add a module parameter to influence pdm_gain

 sound/soc/amd/ps/acp63.h             | 2 +-
 sound/soc/amd/ps/ps-pdm-dma.c        | 8 +++++++-
 sound/soc/amd/renoir/acp3x-pdm-dma.c | 8 +++++++-
 sound/soc/amd/renoir/rn_acp3x.h      | 2 +-
 sound/soc/amd/yc/acp6x-pdm-dma.c     | 8 +++++++-
 sound/soc/amd/yc/acp6x.h             | 2 +-
 6 files changed, 24 insertions(+), 6 deletions(-)

-- 
2.34.1


^ permalink raw reply	[flat|nested] 24+ messages in thread

* [PATCH v3 0/6] Fix default DMIC gain on AMD PDM drivers
@ 2023-01-31 18:46 ` Mario Limonciello
  0 siblings, 0 replies; 24+ messages in thread
From: Mario Limonciello @ 2023-01-31 18:46 UTC (permalink / raw)
  To: Jaroslav Kysela, Mukunda Vijendar, Saba Kareem Syed
  Cc: linux-kernel, alsa-devel, Mark Pearson, Pananchikkal Renjith,
	Mario Limonciello

It's been reported that a number of laptops have a low volume
level from the digital microphone compared to Windows.

AMD offers a register that can adjust the gain for PDM which is not
configured at maximum gain by default.

To fix this change the default for all 3 drivers to raise the gain
but also offer a module parameter. The module parameter can be used
for debugging if the gain is too high on a given laptop.

This is intentionally split into multiple patches for default and
parameter so that if the default really does behave better universally
we can bring it back to stable too later.

v2->v3:
 * Use clamp and clear properly

Mario Limonciello (6):
  ASoC: amd: yc: Adjust the gain for PDM DMIC
  ASoC: amd: yc: Add a module parameter to influence pdm_gain
  ASoC: amd: renoir: Adjust the gain for PDM DMIC
  ASoC: amd: renoir: Add a module parameter to influence pdm_gain
  ASoC: amd: ps: Adjust the gain for PDM DMIC
  ASoC: amd: ps: Add a module parameter to influence pdm_gain

 sound/soc/amd/ps/acp63.h             | 2 +-
 sound/soc/amd/ps/ps-pdm-dma.c        | 8 +++++++-
 sound/soc/amd/renoir/acp3x-pdm-dma.c | 8 +++++++-
 sound/soc/amd/renoir/rn_acp3x.h      | 2 +-
 sound/soc/amd/yc/acp6x-pdm-dma.c     | 8 +++++++-
 sound/soc/amd/yc/acp6x.h             | 2 +-
 6 files changed, 24 insertions(+), 6 deletions(-)

-- 
2.34.1


^ permalink raw reply	[flat|nested] 24+ messages in thread

* [PATCH v3 1/6] ASoC: amd: yc: Adjust the gain for PDM DMIC
  2023-01-31 18:46 ` Mario Limonciello
@ 2023-01-31 18:46   ` Mario Limonciello
  -1 siblings, 0 replies; 24+ messages in thread
From: Mario Limonciello @ 2023-01-31 18:46 UTC (permalink / raw)
  To: Jaroslav Kysela, Mukunda Vijendar, Saba Kareem Syed, linux-kernel
  Cc: Pananchikkal Renjith, Mark Pearson, Mario Limonciello,
	Liam Girdwood, Mark Brown, Jaroslav Kysela, Takashi Iwai,
	alsa-devel

A number of users for Lenovo Rembrandt based laptops are
reporting that the microphone is too quiet relative to
Windows with a dual boot.

Increase the PDM gain to overcome this problem.

Signed-off-by: Mario Limonciello <mario.limonciello@amd.com>
---
 sound/soc/amd/yc/acp6x.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sound/soc/amd/yc/acp6x.h b/sound/soc/amd/yc/acp6x.h
index 74b596e6807ad..846ca10e24d3f 100644
--- a/sound/soc/amd/yc/acp6x.h
+++ b/sound/soc/amd/yc/acp6x.h
@@ -31,7 +31,7 @@
 #define ACP_ERROR_STAT	29
 #define PDM_DECIMATION_FACTOR	2
 #define ACP_PDM_CLK_FREQ_MASK	7
-#define ACP_WOV_MISC_CTRL_MASK	0x10
+#define ACP_WOV_MISC_CTRL_MASK	0x18
 #define ACP_PDM_ENABLE		1
 #define ACP_PDM_DISABLE		0
 #define ACP_PDM_DMA_EN_STATUS	2
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 24+ messages in thread

* [PATCH v3 1/6] ASoC: amd: yc: Adjust the gain for PDM DMIC
@ 2023-01-31 18:46   ` Mario Limonciello
  0 siblings, 0 replies; 24+ messages in thread
From: Mario Limonciello @ 2023-01-31 18:46 UTC (permalink / raw)
  To: Jaroslav Kysela, Mukunda Vijendar, Saba Kareem Syed, linux-kernel
  Cc: alsa-devel, Pananchikkal Renjith, Takashi Iwai, Liam Girdwood,
	Mark Brown, Mario Limonciello, Mark Pearson

A number of users for Lenovo Rembrandt based laptops are
reporting that the microphone is too quiet relative to
Windows with a dual boot.

Increase the PDM gain to overcome this problem.

Signed-off-by: Mario Limonciello <mario.limonciello@amd.com>
---
 sound/soc/amd/yc/acp6x.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sound/soc/amd/yc/acp6x.h b/sound/soc/amd/yc/acp6x.h
index 74b596e6807ad..846ca10e24d3f 100644
--- a/sound/soc/amd/yc/acp6x.h
+++ b/sound/soc/amd/yc/acp6x.h
@@ -31,7 +31,7 @@
 #define ACP_ERROR_STAT	29
 #define PDM_DECIMATION_FACTOR	2
 #define ACP_PDM_CLK_FREQ_MASK	7
-#define ACP_WOV_MISC_CTRL_MASK	0x10
+#define ACP_WOV_MISC_CTRL_MASK	0x18
 #define ACP_PDM_ENABLE		1
 #define ACP_PDM_DISABLE		0
 #define ACP_PDM_DMA_EN_STATUS	2
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 24+ messages in thread

* [PATCH v3 2/6] ASoC: amd: yc: Add a module parameter to influence pdm_gain
  2023-01-31 18:46 ` Mario Limonciello
@ 2023-01-31 18:46   ` Mario Limonciello
  -1 siblings, 0 replies; 24+ messages in thread
From: Mario Limonciello @ 2023-01-31 18:46 UTC (permalink / raw)
  To: Jaroslav Kysela, Mukunda Vijendar, Saba Kareem Syed, linux-kernel
  Cc: Pananchikkal Renjith, Mark Pearson, Mario Limonciello,
	Liam Girdwood, Mark Brown, Jaroslav Kysela, Takashi Iwai,
	alsa-devel

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.

This parameter should be removed in the future:
 * If it's determined that the parameter is not needed, just hardcode
   the correct value as before
 * If users do end up using it to debug and report different values
   we should introduce a config knob that can have policy set by ucm.

Signed-off-by: Mario Limonciello <mario.limonciello@amd.com>
---
v2->v3:
 * Use clamp() and clear bits appropriately
v1->v2:
 * Add a guard for values > 3 to overflow the FIELD_PREP
 * Clear ACP_WOV_GAIN_CONTROL before setting it
---
 sound/soc/amd/yc/acp6x-pdm-dma.c | 8 +++++++-
 sound/soc/amd/yc/acp6x.h         | 2 +-
 2 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/sound/soc/amd/yc/acp6x-pdm-dma.c b/sound/soc/amd/yc/acp6x-pdm-dma.c
index acecd6a4ec4b1..294dd7fb43c9b 100644
--- a/sound/soc/amd/yc/acp6x-pdm-dma.c
+++ b/sound/soc/amd/yc/acp6x-pdm-dma.c
@@ -7,6 +7,7 @@
 
 #include <linux/platform_device.h>
 #include <linux/module.h>
+#include <linux/bitfield.h>
 #include <linux/err.h>
 #include <linux/io.h>
 #include <sound/pcm_params.h>
@@ -18,6 +19,10 @@
 
 #define DRV_NAME "acp_yc_pdm_dma"
 
+static int pdm_gain = 3;
+module_param(pdm_gain, int, 0644);
+MODULE_PARM_DESC(pdm_gain, "Gain control (0-3)");
+
 static const struct snd_pcm_hardware acp6x_pdm_hardware_capture = {
 	.info = SNDRV_PCM_INFO_INTERLEAVED |
 		SNDRV_PCM_INFO_BLOCK_TRANSFER |
@@ -55,7 +60,8 @@ static void acp6x_enable_pdm_clock(void __iomem *acp_base)
 
 	acp6x_writel(pdm_clk_enable, acp_base + ACP_WOV_CLK_CTRL);
 	pdm_ctrl = acp6x_readl(acp_base + ACP_WOV_MISC_CTRL);
-	pdm_ctrl |= ACP_WOV_MISC_CTRL_MASK;
+	pdm_ctrl &= ~ACP_WOV_GAIN_CONTROL;
+	pdm_ctrl |= FIELD_PREP(ACP_WOV_GAIN_CONTROL, clamp(pdm_gain, 0, 3));
 	acp6x_writel(pdm_ctrl, acp_base + ACP_WOV_MISC_CTRL);
 }
 
diff --git a/sound/soc/amd/yc/acp6x.h b/sound/soc/amd/yc/acp6x.h
index 846ca10e24d3f..036207568c048 100644
--- a/sound/soc/amd/yc/acp6x.h
+++ b/sound/soc/amd/yc/acp6x.h
@@ -31,7 +31,7 @@
 #define ACP_ERROR_STAT	29
 #define PDM_DECIMATION_FACTOR	2
 #define ACP_PDM_CLK_FREQ_MASK	7
-#define ACP_WOV_MISC_CTRL_MASK	0x18
+#define ACP_WOV_GAIN_CONTROL	GENMASK(4, 3)
 #define ACP_PDM_ENABLE		1
 #define ACP_PDM_DISABLE		0
 #define ACP_PDM_DMA_EN_STATUS	2
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 24+ messages in thread

* [PATCH v3 2/6] ASoC: amd: yc: Add a module parameter to influence pdm_gain
@ 2023-01-31 18:46   ` Mario Limonciello
  0 siblings, 0 replies; 24+ messages in thread
From: Mario Limonciello @ 2023-01-31 18:46 UTC (permalink / raw)
  To: Jaroslav Kysela, Mukunda Vijendar, Saba Kareem Syed, linux-kernel
  Cc: alsa-devel, Pananchikkal Renjith, Takashi Iwai, Liam Girdwood,
	Mark Brown, Mario Limonciello, Mark Pearson

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.

This parameter should be removed in the future:
 * If it's determined that the parameter is not needed, just hardcode
   the correct value as before
 * If users do end up using it to debug and report different values
   we should introduce a config knob that can have policy set by ucm.

Signed-off-by: Mario Limonciello <mario.limonciello@amd.com>
---
v2->v3:
 * Use clamp() and clear bits appropriately
v1->v2:
 * Add a guard for values > 3 to overflow the FIELD_PREP
 * Clear ACP_WOV_GAIN_CONTROL before setting it
---
 sound/soc/amd/yc/acp6x-pdm-dma.c | 8 +++++++-
 sound/soc/amd/yc/acp6x.h         | 2 +-
 2 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/sound/soc/amd/yc/acp6x-pdm-dma.c b/sound/soc/amd/yc/acp6x-pdm-dma.c
index acecd6a4ec4b1..294dd7fb43c9b 100644
--- a/sound/soc/amd/yc/acp6x-pdm-dma.c
+++ b/sound/soc/amd/yc/acp6x-pdm-dma.c
@@ -7,6 +7,7 @@
 
 #include <linux/platform_device.h>
 #include <linux/module.h>
+#include <linux/bitfield.h>
 #include <linux/err.h>
 #include <linux/io.h>
 #include <sound/pcm_params.h>
@@ -18,6 +19,10 @@
 
 #define DRV_NAME "acp_yc_pdm_dma"
 
+static int pdm_gain = 3;
+module_param(pdm_gain, int, 0644);
+MODULE_PARM_DESC(pdm_gain, "Gain control (0-3)");
+
 static const struct snd_pcm_hardware acp6x_pdm_hardware_capture = {
 	.info = SNDRV_PCM_INFO_INTERLEAVED |
 		SNDRV_PCM_INFO_BLOCK_TRANSFER |
@@ -55,7 +60,8 @@ static void acp6x_enable_pdm_clock(void __iomem *acp_base)
 
 	acp6x_writel(pdm_clk_enable, acp_base + ACP_WOV_CLK_CTRL);
 	pdm_ctrl = acp6x_readl(acp_base + ACP_WOV_MISC_CTRL);
-	pdm_ctrl |= ACP_WOV_MISC_CTRL_MASK;
+	pdm_ctrl &= ~ACP_WOV_GAIN_CONTROL;
+	pdm_ctrl |= FIELD_PREP(ACP_WOV_GAIN_CONTROL, clamp(pdm_gain, 0, 3));
 	acp6x_writel(pdm_ctrl, acp_base + ACP_WOV_MISC_CTRL);
 }
 
diff --git a/sound/soc/amd/yc/acp6x.h b/sound/soc/amd/yc/acp6x.h
index 846ca10e24d3f..036207568c048 100644
--- a/sound/soc/amd/yc/acp6x.h
+++ b/sound/soc/amd/yc/acp6x.h
@@ -31,7 +31,7 @@
 #define ACP_ERROR_STAT	29
 #define PDM_DECIMATION_FACTOR	2
 #define ACP_PDM_CLK_FREQ_MASK	7
-#define ACP_WOV_MISC_CTRL_MASK	0x18
+#define ACP_WOV_GAIN_CONTROL	GENMASK(4, 3)
 #define ACP_PDM_ENABLE		1
 #define ACP_PDM_DISABLE		0
 #define ACP_PDM_DMA_EN_STATUS	2
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 24+ messages in thread

* [PATCH v3 3/6] ASoC: amd: renoir: Adjust the gain for PDM DMIC
  2023-01-31 18:46 ` Mario Limonciello
@ 2023-01-31 18:46   ` Mario Limonciello
  -1 siblings, 0 replies; 24+ messages in thread
From: Mario Limonciello @ 2023-01-31 18:46 UTC (permalink / raw)
  To: Jaroslav Kysela, Mukunda Vijendar, Saba Kareem Syed, linux-kernel
  Cc: Pananchikkal Renjith, Mark Pearson, Mario Limonciello,
	Liam Girdwood, Mark Brown, Jaroslav Kysela, Takashi Iwai,
	alsa-devel

A similar issue that was reported on Rembrandt based laptops with
low DMIC volume is also being reported for Barcelo based laptops
that use renoir acp3x.

Increase the PDM gain to overcome this problem.

Signed-off-by: Mario Limonciello <mario.limonciello@amd.com>
---
 sound/soc/amd/renoir/rn_acp3x.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sound/soc/amd/renoir/rn_acp3x.h b/sound/soc/amd/renoir/rn_acp3x.h
index ca586603d7203..c174f84650d24 100644
--- a/sound/soc/amd/renoir/rn_acp3x.h
+++ b/sound/soc/amd/renoir/rn_acp3x.h
@@ -34,7 +34,7 @@
 #define ACP_ERROR_STAT 29
 #define PDM_DECIMATION_FACTOR 0x2
 #define ACP_PDM_CLK_FREQ_MASK 0x07
-#define ACP_WOV_MISC_CTRL_MASK 0x10
+#define ACP_WOV_MISC_CTRL_MASK 0x18
 #define ACP_PDM_ENABLE 0x01
 #define ACP_PDM_DISABLE 0x00
 #define ACP_PDM_DMA_EN_STATUS 0x02
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 24+ messages in thread

* [PATCH v3 3/6] ASoC: amd: renoir: Adjust the gain for PDM DMIC
@ 2023-01-31 18:46   ` Mario Limonciello
  0 siblings, 0 replies; 24+ messages in thread
From: Mario Limonciello @ 2023-01-31 18:46 UTC (permalink / raw)
  To: Jaroslav Kysela, Mukunda Vijendar, Saba Kareem Syed, linux-kernel
  Cc: alsa-devel, Pananchikkal Renjith, Takashi Iwai, Liam Girdwood,
	Mark Brown, Mario Limonciello, Mark Pearson

A similar issue that was reported on Rembrandt based laptops with
low DMIC volume is also being reported for Barcelo based laptops
that use renoir acp3x.

Increase the PDM gain to overcome this problem.

Signed-off-by: Mario Limonciello <mario.limonciello@amd.com>
---
 sound/soc/amd/renoir/rn_acp3x.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sound/soc/amd/renoir/rn_acp3x.h b/sound/soc/amd/renoir/rn_acp3x.h
index ca586603d7203..c174f84650d24 100644
--- a/sound/soc/amd/renoir/rn_acp3x.h
+++ b/sound/soc/amd/renoir/rn_acp3x.h
@@ -34,7 +34,7 @@
 #define ACP_ERROR_STAT 29
 #define PDM_DECIMATION_FACTOR 0x2
 #define ACP_PDM_CLK_FREQ_MASK 0x07
-#define ACP_WOV_MISC_CTRL_MASK 0x10
+#define ACP_WOV_MISC_CTRL_MASK 0x18
 #define ACP_PDM_ENABLE 0x01
 #define ACP_PDM_DISABLE 0x00
 #define ACP_PDM_DMA_EN_STATUS 0x02
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 24+ messages in thread

* [PATCH v3 4/6] ASoC: amd: renoir: Add a module parameter to influence pdm_gain
  2023-01-31 18:46 ` Mario Limonciello
@ 2023-01-31 18:46   ` Mario Limonciello
  -1 siblings, 0 replies; 24+ messages in thread
From: Mario Limonciello @ 2023-01-31 18:46 UTC (permalink / raw)
  To: Jaroslav Kysela, Mukunda Vijendar, Saba Kareem Syed, linux-kernel
  Cc: Pananchikkal Renjith, Mark Pearson, Mario Limonciello,
	Liam Girdwood, Mark Brown, Jaroslav Kysela, Takashi Iwai,
	alsa-devel

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.

This parameter should be removed in the future:
 * If it's determined that the parameter is not needed, just hardcode
   the correct value as before
 * If users do end up using it to debug and report different values
   we should introduce a config knob that can have policy set by ucm.

Signed-off-by: Mario Limonciello <mario.limonciello@amd.com>
---
v2->v3:
 * Use clamp() and clear bits appropriately
v1->v2:
 * Add a guard for values > 3 to overflow the FIELD_PREP
 * Clear ACP_WOV_GAIN_CONTROL before setting it
---
 sound/soc/amd/renoir/acp3x-pdm-dma.c | 8 +++++++-
 sound/soc/amd/renoir/rn_acp3x.h      | 2 +-
 2 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/sound/soc/amd/renoir/acp3x-pdm-dma.c b/sound/soc/amd/renoir/acp3x-pdm-dma.c
index 7203c6488df0e..0d8b693aecc9f 100644
--- a/sound/soc/amd/renoir/acp3x-pdm-dma.c
+++ b/sound/soc/amd/renoir/acp3x-pdm-dma.c
@@ -6,6 +6,7 @@
 
 #include <linux/platform_device.h>
 #include <linux/module.h>
+#include <linux/bitfield.h>
 #include <linux/err.h>
 #include <linux/io.h>
 #include <linux/pm_runtime.h>
@@ -17,6 +18,10 @@
 
 #define DRV_NAME "acp_rn_pdm_dma"
 
+static int pdm_gain = 3;
+module_param(pdm_gain, int, 0644);
+MODULE_PARM_DESC(pdm_gain, "Gain control (0-3)");
+
 static const struct snd_pcm_hardware acp_pdm_hardware_capture = {
 	.info = SNDRV_PCM_INFO_INTERLEAVED |
 		SNDRV_PCM_INFO_BLOCK_TRANSFER |
@@ -80,7 +85,8 @@ static void enable_pdm_clock(void __iomem *acp_base)
 
 	rn_writel(pdm_clk_enable, acp_base + ACP_WOV_CLK_CTRL);
 	pdm_ctrl = rn_readl(acp_base + ACP_WOV_MISC_CTRL);
-	pdm_ctrl |= ACP_WOV_MISC_CTRL_MASK;
+	pdm_ctrl &= ~ACP_WOV_GAIN_CONTROL;
+	pdm_ctrl |= FIELD_PREP(ACP_WOV_GAIN_CONTROL, clamp(pdm_gain, 0, 3));
 	rn_writel(pdm_ctrl, acp_base + ACP_WOV_MISC_CTRL);
 }
 
diff --git a/sound/soc/amd/renoir/rn_acp3x.h b/sound/soc/amd/renoir/rn_acp3x.h
index c174f84650d24..7d0f4e6a2834d 100644
--- a/sound/soc/amd/renoir/rn_acp3x.h
+++ b/sound/soc/amd/renoir/rn_acp3x.h
@@ -34,7 +34,7 @@
 #define ACP_ERROR_STAT 29
 #define PDM_DECIMATION_FACTOR 0x2
 #define ACP_PDM_CLK_FREQ_MASK 0x07
-#define ACP_WOV_MISC_CTRL_MASK 0x18
+#define ACP_WOV_GAIN_CONTROL	GENMASK(4, 3)
 #define ACP_PDM_ENABLE 0x01
 #define ACP_PDM_DISABLE 0x00
 #define ACP_PDM_DMA_EN_STATUS 0x02
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 24+ messages in thread

* [PATCH v3 4/6] ASoC: amd: renoir: Add a module parameter to influence pdm_gain
@ 2023-01-31 18:46   ` Mario Limonciello
  0 siblings, 0 replies; 24+ messages in thread
From: Mario Limonciello @ 2023-01-31 18:46 UTC (permalink / raw)
  To: Jaroslav Kysela, Mukunda Vijendar, Saba Kareem Syed, linux-kernel
  Cc: alsa-devel, Pananchikkal Renjith, Takashi Iwai, Liam Girdwood,
	Mark Brown, Mario Limonciello, Mark Pearson

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.

This parameter should be removed in the future:
 * If it's determined that the parameter is not needed, just hardcode
   the correct value as before
 * If users do end up using it to debug and report different values
   we should introduce a config knob that can have policy set by ucm.

Signed-off-by: Mario Limonciello <mario.limonciello@amd.com>
---
v2->v3:
 * Use clamp() and clear bits appropriately
v1->v2:
 * Add a guard for values > 3 to overflow the FIELD_PREP
 * Clear ACP_WOV_GAIN_CONTROL before setting it
---
 sound/soc/amd/renoir/acp3x-pdm-dma.c | 8 +++++++-
 sound/soc/amd/renoir/rn_acp3x.h      | 2 +-
 2 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/sound/soc/amd/renoir/acp3x-pdm-dma.c b/sound/soc/amd/renoir/acp3x-pdm-dma.c
index 7203c6488df0e..0d8b693aecc9f 100644
--- a/sound/soc/amd/renoir/acp3x-pdm-dma.c
+++ b/sound/soc/amd/renoir/acp3x-pdm-dma.c
@@ -6,6 +6,7 @@
 
 #include <linux/platform_device.h>
 #include <linux/module.h>
+#include <linux/bitfield.h>
 #include <linux/err.h>
 #include <linux/io.h>
 #include <linux/pm_runtime.h>
@@ -17,6 +18,10 @@
 
 #define DRV_NAME "acp_rn_pdm_dma"
 
+static int pdm_gain = 3;
+module_param(pdm_gain, int, 0644);
+MODULE_PARM_DESC(pdm_gain, "Gain control (0-3)");
+
 static const struct snd_pcm_hardware acp_pdm_hardware_capture = {
 	.info = SNDRV_PCM_INFO_INTERLEAVED |
 		SNDRV_PCM_INFO_BLOCK_TRANSFER |
@@ -80,7 +85,8 @@ static void enable_pdm_clock(void __iomem *acp_base)
 
 	rn_writel(pdm_clk_enable, acp_base + ACP_WOV_CLK_CTRL);
 	pdm_ctrl = rn_readl(acp_base + ACP_WOV_MISC_CTRL);
-	pdm_ctrl |= ACP_WOV_MISC_CTRL_MASK;
+	pdm_ctrl &= ~ACP_WOV_GAIN_CONTROL;
+	pdm_ctrl |= FIELD_PREP(ACP_WOV_GAIN_CONTROL, clamp(pdm_gain, 0, 3));
 	rn_writel(pdm_ctrl, acp_base + ACP_WOV_MISC_CTRL);
 }
 
diff --git a/sound/soc/amd/renoir/rn_acp3x.h b/sound/soc/amd/renoir/rn_acp3x.h
index c174f84650d24..7d0f4e6a2834d 100644
--- a/sound/soc/amd/renoir/rn_acp3x.h
+++ b/sound/soc/amd/renoir/rn_acp3x.h
@@ -34,7 +34,7 @@
 #define ACP_ERROR_STAT 29
 #define PDM_DECIMATION_FACTOR 0x2
 #define ACP_PDM_CLK_FREQ_MASK 0x07
-#define ACP_WOV_MISC_CTRL_MASK 0x18
+#define ACP_WOV_GAIN_CONTROL	GENMASK(4, 3)
 #define ACP_PDM_ENABLE 0x01
 #define ACP_PDM_DISABLE 0x00
 #define ACP_PDM_DMA_EN_STATUS 0x02
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 24+ messages in thread

* [PATCH v3 5/6] ASoC: amd: ps: Adjust the gain for PDM DMIC
  2023-01-31 18:46 ` Mario Limonciello
@ 2023-01-31 18:46   ` Mario Limonciello
  -1 siblings, 0 replies; 24+ messages in thread
From: Mario Limonciello @ 2023-01-31 18:46 UTC (permalink / raw)
  To: Jaroslav Kysela, Mukunda Vijendar, Saba Kareem Syed, linux-kernel
  Cc: Pananchikkal Renjith, Mark Pearson, Mario Limonciello,
	Liam Girdwood, Mark Brown, Jaroslav Kysela, Takashi Iwai,
	alsa-devel

No issues have been reported yet for DMIC audio level on ps platforms,
but as problems were found both on YC (Rembrandt) and Renoir based
designs it's very likely they happen on ps too.

Increase the PDM gain to solve this problem.

Signed-off-by: Mario Limonciello <mario.limonciello@amd.com>
---
 sound/soc/amd/ps/acp63.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sound/soc/amd/ps/acp63.h b/sound/soc/amd/ps/acp63.h
index 5e7f9c1c1b0e8..bae8288d8231c 100644
--- a/sound/soc/amd/ps/acp63.h
+++ b/sound/soc/amd/ps/acp63.h
@@ -30,7 +30,7 @@
 #define ACP_ERROR_STAT	29
 #define PDM_DECIMATION_FACTOR	2
 #define ACP_PDM_CLK_FREQ_MASK	7
-#define ACP_WOV_MISC_CTRL_MASK	0x10
+#define ACP_WOV_MISC_CTRL_MASK	0x18
 #define ACP_PDM_ENABLE		1
 #define ACP_PDM_DISABLE		0
 #define ACP_PDM_DMA_EN_STATUS	2
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 24+ messages in thread

* [PATCH v3 5/6] ASoC: amd: ps: Adjust the gain for PDM DMIC
@ 2023-01-31 18:46   ` Mario Limonciello
  0 siblings, 0 replies; 24+ messages in thread
From: Mario Limonciello @ 2023-01-31 18:46 UTC (permalink / raw)
  To: Jaroslav Kysela, Mukunda Vijendar, Saba Kareem Syed, linux-kernel
  Cc: alsa-devel, Pananchikkal Renjith, Takashi Iwai, Liam Girdwood,
	Mark Brown, Mario Limonciello, Mark Pearson

No issues have been reported yet for DMIC audio level on ps platforms,
but as problems were found both on YC (Rembrandt) and Renoir based
designs it's very likely they happen on ps too.

Increase the PDM gain to solve this problem.

Signed-off-by: Mario Limonciello <mario.limonciello@amd.com>
---
 sound/soc/amd/ps/acp63.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sound/soc/amd/ps/acp63.h b/sound/soc/amd/ps/acp63.h
index 5e7f9c1c1b0e8..bae8288d8231c 100644
--- a/sound/soc/amd/ps/acp63.h
+++ b/sound/soc/amd/ps/acp63.h
@@ -30,7 +30,7 @@
 #define ACP_ERROR_STAT	29
 #define PDM_DECIMATION_FACTOR	2
 #define ACP_PDM_CLK_FREQ_MASK	7
-#define ACP_WOV_MISC_CTRL_MASK	0x10
+#define ACP_WOV_MISC_CTRL_MASK	0x18
 #define ACP_PDM_ENABLE		1
 #define ACP_PDM_DISABLE		0
 #define ACP_PDM_DMA_EN_STATUS	2
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 24+ messages in thread

* [PATCH v3 6/6] ASoC: amd: ps: Add a module parameter to influence pdm_gain
  2023-01-31 18:46 ` Mario Limonciello
@ 2023-01-31 18:46   ` Mario Limonciello
  -1 siblings, 0 replies; 24+ messages in thread
From: Mario Limonciello @ 2023-01-31 18:46 UTC (permalink / raw)
  To: Jaroslav Kysela, Mukunda Vijendar, Saba Kareem Syed, linux-kernel
  Cc: Pananchikkal Renjith, Mark Pearson, Mario Limonciello,
	Liam Girdwood, Mark Brown, Jaroslav Kysela, Takashi Iwai,
	alsa-devel

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.

This parameter should be removed in the future:
 * If it's determined that the parameter is not needed, just hardcode
   the correct value as before
 * If users do end up using it to debug and report different values
   we should introduce a config knob that can have policy set by ucm.

Signed-off-by: Mario Limonciello <mario.limonciello@amd.com>
---
v2->v3:
 * Use clamp() and clear bits appropriately
v1->v2:
 * Add a guard for values > 3 to overflow the FIELD_PREP
 * Clear ACP_WOV_GAIN_CONTROL before setting it
---
 sound/soc/amd/ps/acp63.h      | 2 +-
 sound/soc/amd/ps/ps-pdm-dma.c | 8 +++++++-
 2 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/sound/soc/amd/ps/acp63.h b/sound/soc/amd/ps/acp63.h
index bae8288d8231c..bed4d51e226a5 100644
--- a/sound/soc/amd/ps/acp63.h
+++ b/sound/soc/amd/ps/acp63.h
@@ -30,7 +30,7 @@
 #define ACP_ERROR_STAT	29
 #define PDM_DECIMATION_FACTOR	2
 #define ACP_PDM_CLK_FREQ_MASK	7
-#define ACP_WOV_MISC_CTRL_MASK	0x18
+#define ACP_WOV_GAIN_CONTROL	GENMASK(4, 3)
 #define ACP_PDM_ENABLE		1
 #define ACP_PDM_DISABLE		0
 #define ACP_PDM_DMA_EN_STATUS	2
diff --git a/sound/soc/amd/ps/ps-pdm-dma.c b/sound/soc/amd/ps/ps-pdm-dma.c
index eea71a9d2ef1a..91f1631f42c6b 100644
--- a/sound/soc/amd/ps/ps-pdm-dma.c
+++ b/sound/soc/amd/ps/ps-pdm-dma.c
@@ -7,6 +7,7 @@
 
 #include <linux/platform_device.h>
 #include <linux/module.h>
+#include <linux/bitfield.h>
 #include <linux/err.h>
 #include <linux/io.h>
 #include <sound/pcm_params.h>
@@ -18,6 +19,10 @@
 
 #define DRV_NAME "acp_ps_pdm_dma"
 
+static int pdm_gain = 3;
+module_param(pdm_gain, int, 0644);
+MODULE_PARM_DESC(pdm_gain, "Gain control (0-3)");
+
 static const struct snd_pcm_hardware acp63_pdm_hardware_capture = {
 	.info = SNDRV_PCM_INFO_INTERLEAVED |
 		SNDRV_PCM_INFO_BLOCK_TRANSFER |
@@ -55,7 +60,8 @@ static void acp63_enable_pdm_clock(void __iomem *acp_base)
 
 	acp63_writel(pdm_clk_enable, acp_base + ACP_WOV_CLK_CTRL);
 	pdm_ctrl = acp63_readl(acp_base + ACP_WOV_MISC_CTRL);
-	pdm_ctrl |= ACP_WOV_MISC_CTRL_MASK;
+	pdm_ctrl &= ~ACP_WOV_GAIN_CONTROL;
+	pdm_ctrl |= FIELD_PREP(ACP_WOV_GAIN_CONTROL, clamp(pdm_gain, 0, 3));
 	acp63_writel(pdm_ctrl, acp_base + ACP_WOV_MISC_CTRL);
 }
 
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 24+ messages in thread

* [PATCH v3 6/6] ASoC: amd: ps: Add a module parameter to influence pdm_gain
@ 2023-01-31 18:46   ` Mario Limonciello
  0 siblings, 0 replies; 24+ messages in thread
From: Mario Limonciello @ 2023-01-31 18:46 UTC (permalink / raw)
  To: Jaroslav Kysela, Mukunda Vijendar, Saba Kareem Syed, linux-kernel
  Cc: alsa-devel, Pananchikkal Renjith, Takashi Iwai, Liam Girdwood,
	Mark Brown, Mario Limonciello, Mark Pearson

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.

This parameter should be removed in the future:
 * If it's determined that the parameter is not needed, just hardcode
   the correct value as before
 * If users do end up using it to debug and report different values
   we should introduce a config knob that can have policy set by ucm.

Signed-off-by: Mario Limonciello <mario.limonciello@amd.com>
---
v2->v3:
 * Use clamp() and clear bits appropriately
v1->v2:
 * Add a guard for values > 3 to overflow the FIELD_PREP
 * Clear ACP_WOV_GAIN_CONTROL before setting it
---
 sound/soc/amd/ps/acp63.h      | 2 +-
 sound/soc/amd/ps/ps-pdm-dma.c | 8 +++++++-
 2 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/sound/soc/amd/ps/acp63.h b/sound/soc/amd/ps/acp63.h
index bae8288d8231c..bed4d51e226a5 100644
--- a/sound/soc/amd/ps/acp63.h
+++ b/sound/soc/amd/ps/acp63.h
@@ -30,7 +30,7 @@
 #define ACP_ERROR_STAT	29
 #define PDM_DECIMATION_FACTOR	2
 #define ACP_PDM_CLK_FREQ_MASK	7
-#define ACP_WOV_MISC_CTRL_MASK	0x18
+#define ACP_WOV_GAIN_CONTROL	GENMASK(4, 3)
 #define ACP_PDM_ENABLE		1
 #define ACP_PDM_DISABLE		0
 #define ACP_PDM_DMA_EN_STATUS	2
diff --git a/sound/soc/amd/ps/ps-pdm-dma.c b/sound/soc/amd/ps/ps-pdm-dma.c
index eea71a9d2ef1a..91f1631f42c6b 100644
--- a/sound/soc/amd/ps/ps-pdm-dma.c
+++ b/sound/soc/amd/ps/ps-pdm-dma.c
@@ -7,6 +7,7 @@
 
 #include <linux/platform_device.h>
 #include <linux/module.h>
+#include <linux/bitfield.h>
 #include <linux/err.h>
 #include <linux/io.h>
 #include <sound/pcm_params.h>
@@ -18,6 +19,10 @@
 
 #define DRV_NAME "acp_ps_pdm_dma"
 
+static int pdm_gain = 3;
+module_param(pdm_gain, int, 0644);
+MODULE_PARM_DESC(pdm_gain, "Gain control (0-3)");
+
 static const struct snd_pcm_hardware acp63_pdm_hardware_capture = {
 	.info = SNDRV_PCM_INFO_INTERLEAVED |
 		SNDRV_PCM_INFO_BLOCK_TRANSFER |
@@ -55,7 +60,8 @@ static void acp63_enable_pdm_clock(void __iomem *acp_base)
 
 	acp63_writel(pdm_clk_enable, acp_base + ACP_WOV_CLK_CTRL);
 	pdm_ctrl = acp63_readl(acp_base + ACP_WOV_MISC_CTRL);
-	pdm_ctrl |= ACP_WOV_MISC_CTRL_MASK;
+	pdm_ctrl &= ~ACP_WOV_GAIN_CONTROL;
+	pdm_ctrl |= FIELD_PREP(ACP_WOV_GAIN_CONTROL, clamp(pdm_gain, 0, 3));
 	acp63_writel(pdm_ctrl, acp_base + ACP_WOV_MISC_CTRL);
 }
 
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 24+ messages in thread

* Re: [PATCH v3 0/6] Fix default DMIC gain on AMD PDM drivers
  2023-01-31 18:46 ` Mario Limonciello
@ 2023-01-31 18:51   ` Jaroslav Kysela
  -1 siblings, 0 replies; 24+ messages in thread
From: Jaroslav Kysela @ 2023-01-31 18:51 UTC (permalink / raw)
  To: Mario Limonciello, Jaroslav Kysela, Mukunda Vijendar, Saba Kareem Syed
  Cc: linux-kernel, alsa-devel, Mark Pearson, Pananchikkal Renjith

On 31. 01. 23 19:46, Mario Limonciello wrote:
> It's been reported that a number of laptops have a low volume
> level from the digital microphone compared to Windows.
> 
> AMD offers a register that can adjust the gain for PDM which is not
> configured at maximum gain by default.
> 
> To fix this change the default for all 3 drivers to raise the gain
> but also offer a module parameter. The module parameter can be used
> for debugging if the gain is too high on a given laptop.
> 
> This is intentionally split into multiple patches for default and
> parameter so that if the default really does behave better universally
> we can bring it back to stable too later.
> 
> v2->v3:
>   * Use clamp and clear properly
> 
> Mario Limonciello (6):
>    ASoC: amd: yc: Adjust the gain for PDM DMIC
>    ASoC: amd: yc: Add a module parameter to influence pdm_gain
>    ASoC: amd: renoir: Adjust the gain for PDM DMIC
>    ASoC: amd: renoir: Add a module parameter to influence pdm_gain
>    ASoC: amd: ps: Adjust the gain for PDM DMIC
>    ASoC: amd: ps: Add a module parameter to influence pdm_gain

For all patches:

Reviewed-by: Jaroslav Kysela <perex@perex.cz>

-- 
Jaroslav Kysela <perex@perex.cz>
Linux Sound Maintainer; ALSA Project; Red Hat, Inc.


^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [PATCH v3 0/6] Fix default DMIC gain on AMD PDM drivers
@ 2023-01-31 18:51   ` Jaroslav Kysela
  0 siblings, 0 replies; 24+ messages in thread
From: Jaroslav Kysela @ 2023-01-31 18:51 UTC (permalink / raw)
  To: Mario Limonciello, Jaroslav Kysela, Mukunda Vijendar, Saba Kareem Syed
  Cc: alsa-devel, Pananchikkal Renjith, linux-kernel, Mark Pearson

On 31. 01. 23 19:46, Mario Limonciello wrote:
> It's been reported that a number of laptops have a low volume
> level from the digital microphone compared to Windows.
> 
> AMD offers a register that can adjust the gain for PDM which is not
> configured at maximum gain by default.
> 
> To fix this change the default for all 3 drivers to raise the gain
> but also offer a module parameter. The module parameter can be used
> for debugging if the gain is too high on a given laptop.
> 
> This is intentionally split into multiple patches for default and
> parameter so that if the default really does behave better universally
> we can bring it back to stable too later.
> 
> v2->v3:
>   * Use clamp and clear properly
> 
> Mario Limonciello (6):
>    ASoC: amd: yc: Adjust the gain for PDM DMIC
>    ASoC: amd: yc: Add a module parameter to influence pdm_gain
>    ASoC: amd: renoir: Adjust the gain for PDM DMIC
>    ASoC: amd: renoir: Add a module parameter to influence pdm_gain
>    ASoC: amd: ps: Adjust the gain for PDM DMIC
>    ASoC: amd: ps: Add a module parameter to influence pdm_gain

For all patches:

Reviewed-by: Jaroslav Kysela <perex@perex.cz>

-- 
Jaroslav Kysela <perex@perex.cz>
Linux Sound Maintainer; ALSA Project; Red Hat, Inc.


^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [PATCH v3 1/6] ASoC: amd: yc: Adjust the gain for PDM DMIC
  2023-01-31 18:46   ` Mario Limonciello
@ 2023-02-02 11:42     ` Mark Brown
  -1 siblings, 0 replies; 24+ messages in thread
From: Mark Brown @ 2023-02-02 11:42 UTC (permalink / raw)
  To: Mario Limonciello
  Cc: Jaroslav Kysela, Mukunda Vijendar, Saba Kareem Syed,
	linux-kernel, Pananchikkal Renjith, Mark Pearson, Liam Girdwood,
	Jaroslav Kysela, Takashi Iwai, alsa-devel

[-- Attachment #1: Type: text/plain, Size: 327 bytes --]

On Tue, Jan 31, 2023 at 12:46:47PM -0600, Mario Limonciello wrote:
> A number of users for Lenovo Rembrandt based laptops are
> reporting that the microphone is too quiet relative to
> Windows with a dual boot.

If you're sending a cover letter for a series you should send it to the
maintainers as well, not just the patches.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [PATCH v3 1/6] ASoC: amd: yc: Adjust the gain for PDM DMIC
@ 2023-02-02 11:42     ` Mark Brown
  0 siblings, 0 replies; 24+ messages in thread
From: Mark Brown @ 2023-02-02 11:42 UTC (permalink / raw)
  To: Mario Limonciello
  Cc: alsa-devel, Pananchikkal Renjith, Takashi Iwai, linux-kernel,
	Jaroslav Kysela, Liam Girdwood, Saba Kareem Syed,
	Mukunda Vijendar, Mark Pearson

[-- Attachment #1: Type: text/plain, Size: 327 bytes --]

On Tue, Jan 31, 2023 at 12:46:47PM -0600, Mario Limonciello wrote:
> A number of users for Lenovo Rembrandt based laptops are
> reporting that the microphone is too quiet relative to
> Windows with a dual boot.

If you're sending a cover letter for a series you should send it to the
maintainers as well, not just the patches.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [PATCH v3 1/6] ASoC: amd: yc: Adjust the gain for PDM DMIC
  2023-02-02 11:42     ` Mark Brown
@ 2023-02-02 13:38       ` Mario Limonciello
  -1 siblings, 0 replies; 24+ messages in thread
From: Mario Limonciello @ 2023-02-02 13:38 UTC (permalink / raw)
  To: Mark Brown
  Cc: Jaroslav Kysela, Mukunda Vijendar, Saba Kareem Syed,
	linux-kernel, Pananchikkal Renjith, Mark Pearson, Liam Girdwood,
	Jaroslav Kysela, Takashi Iwai, alsa-devel

On 2/2/23 05:42, Mark Brown wrote:
> On Tue, Jan 31, 2023 at 12:46:47PM -0600, Mario Limonciello wrote:
>> A number of users for Lenovo Rembrandt based laptops are
>> reporting that the microphone is too quiet relative to
>> Windows with a dual boot.
> 
> If you're sending a cover letter for a series you should send it to the
> maintainers as well, not just the patches.

My apologies.  My scripts to get maintainers to send to sometimes fail 
on cover letters and I didn't do a manual fix up.

Would you like me to resend the series?

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [PATCH v3 1/6] ASoC: amd: yc: Adjust the gain for PDM DMIC
@ 2023-02-02 13:38       ` Mario Limonciello
  0 siblings, 0 replies; 24+ messages in thread
From: Mario Limonciello @ 2023-02-02 13:38 UTC (permalink / raw)
  To: Mark Brown
  Cc: alsa-devel, Pananchikkal Renjith, Takashi Iwai, linux-kernel,
	Jaroslav Kysela, Liam Girdwood, Saba Kareem Syed,
	Mukunda Vijendar, Mark Pearson

On 2/2/23 05:42, Mark Brown wrote:
> On Tue, Jan 31, 2023 at 12:46:47PM -0600, Mario Limonciello wrote:
>> A number of users for Lenovo Rembrandt based laptops are
>> reporting that the microphone is too quiet relative to
>> Windows with a dual boot.
> 
> If you're sending a cover letter for a series you should send it to the
> maintainers as well, not just the patches.

My apologies.  My scripts to get maintainers to send to sometimes fail 
on cover letters and I didn't do a manual fix up.

Would you like me to resend the series?

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [PATCH v3 1/6] ASoC: amd: yc: Adjust the gain for PDM DMIC
  2023-02-02 13:38       ` Mario Limonciello
@ 2023-02-02 13:42         ` Mark Brown
  -1 siblings, 0 replies; 24+ messages in thread
From: Mark Brown @ 2023-02-02 13:42 UTC (permalink / raw)
  To: Mario Limonciello
  Cc: Jaroslav Kysela, Mukunda Vijendar, Saba Kareem Syed,
	linux-kernel, Pananchikkal Renjith, Mark Pearson, Liam Girdwood,
	Jaroslav Kysela, Takashi Iwai, alsa-devel

[-- Attachment #1: Type: text/plain, Size: 126 bytes --]

On Thu, Feb 02, 2023 at 07:38:55AM -0600, Mario Limonciello wrote:

> Would you like me to resend the series?

No, it's fine.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [PATCH v3 1/6] ASoC: amd: yc: Adjust the gain for PDM DMIC
@ 2023-02-02 13:42         ` Mark Brown
  0 siblings, 0 replies; 24+ messages in thread
From: Mark Brown @ 2023-02-02 13:42 UTC (permalink / raw)
  To: Mario Limonciello
  Cc: alsa-devel, Pananchikkal Renjith, Takashi Iwai, linux-kernel,
	Jaroslav Kysela, Liam Girdwood, Saba Kareem Syed,
	Mukunda Vijendar, Mark Pearson

[-- Attachment #1: Type: text/plain, Size: 126 bytes --]

On Thu, Feb 02, 2023 at 07:38:55AM -0600, Mario Limonciello wrote:

> Would you like me to resend the series?

No, it's fine.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [PATCH v3 0/6] Fix default DMIC gain on AMD PDM drivers
  2023-01-31 18:46 ` Mario Limonciello
@ 2023-02-02 15:37   ` Mark Brown
  -1 siblings, 0 replies; 24+ messages in thread
From: Mark Brown @ 2023-02-02 15:37 UTC (permalink / raw)
  To: Jaroslav Kysela, Mukunda Vijendar, Saba Kareem Syed, Mario Limonciello
  Cc: Pananchikkal Renjith, Mark Pearson, alsa-devel, linux-kernel

On Tue, 31 Jan 2023 12:46:46 -0600, Mario Limonciello wrote:
> It's been reported that a number of laptops have a low volume
> level from the digital microphone compared to Windows.
> 
> AMD offers a register that can adjust the gain for PDM which is not
> configured at maximum gain by default.
> 
> To fix this change the default for all 3 drivers to raise the gain
> but also offer a module parameter. The module parameter can be used
> for debugging if the gain is too high on a given laptop.
> 
> [...]

Applied to

   https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-next

Thanks!

[1/6] ASoC: amd: yc: Adjust the gain for PDM DMIC
      commit: 6d6f62c868a8ad9c451c22f9f20f08a6149f8487
[2/6] ASoC: amd: yc: Add a module parameter to influence pdm_gain
      commit: 02ea45d10fab99040c87d0267656930accb91e3c
[3/6] ASoC: amd: renoir: Adjust the gain for PDM DMIC
      commit: 47dc601a067d9a79989310c8a1f93ea390ae9ead
[4/6] ASoC: amd: renoir: Add a module parameter to influence pdm_gain
      commit: b7d8d4ec80ee380a82d6748c1d4e9fd89ce6e595
[5/6] ASoC: amd: ps: Adjust the gain for PDM DMIC
      commit: 99ecc7889bee68fdf377f328c21ad0f953f8b05e
[6/6] ASoC: amd: ps: Add a module parameter to influence pdm_gain
      commit: 5579a966229c3365d0e2c91e9a96fc40e293dffa

All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent to Linus during
the next merge window (or sooner if it is a bug fix), however if
problems are discovered then the patch may be dropped or reverted.

You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.

If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.

Please add any relevant lists and maintainers to the CCs when replying
to this mail.

Thanks,
Mark


^ permalink raw reply	[flat|nested] 24+ messages in thread

* Re: [PATCH v3 0/6] Fix default DMIC gain on AMD PDM drivers
@ 2023-02-02 15:37   ` Mark Brown
  0 siblings, 0 replies; 24+ messages in thread
From: Mark Brown @ 2023-02-02 15:37 UTC (permalink / raw)
  To: Jaroslav Kysela, Mukunda Vijendar, Saba Kareem Syed, Mario Limonciello
  Cc: alsa-devel, Mark Pearson, Pananchikkal Renjith, linux-kernel

On Tue, 31 Jan 2023 12:46:46 -0600, Mario Limonciello wrote:
> It's been reported that a number of laptops have a low volume
> level from the digital microphone compared to Windows.
> 
> AMD offers a register that can adjust the gain for PDM which is not
> configured at maximum gain by default.
> 
> To fix this change the default for all 3 drivers to raise the gain
> but also offer a module parameter. The module parameter can be used
> for debugging if the gain is too high on a given laptop.
> 
> [...]

Applied to

   https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-next

Thanks!

[1/6] ASoC: amd: yc: Adjust the gain for PDM DMIC
      commit: 6d6f62c868a8ad9c451c22f9f20f08a6149f8487
[2/6] ASoC: amd: yc: Add a module parameter to influence pdm_gain
      commit: 02ea45d10fab99040c87d0267656930accb91e3c
[3/6] ASoC: amd: renoir: Adjust the gain for PDM DMIC
      commit: 47dc601a067d9a79989310c8a1f93ea390ae9ead
[4/6] ASoC: amd: renoir: Add a module parameter to influence pdm_gain
      commit: b7d8d4ec80ee380a82d6748c1d4e9fd89ce6e595
[5/6] ASoC: amd: ps: Adjust the gain for PDM DMIC
      commit: 99ecc7889bee68fdf377f328c21ad0f953f8b05e
[6/6] ASoC: amd: ps: Add a module parameter to influence pdm_gain
      commit: 5579a966229c3365d0e2c91e9a96fc40e293dffa

All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent to Linus during
the next merge window (or sooner if it is a bug fix), however if
problems are discovered then the patch may be dropped or reverted.

You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.

If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.

Please add any relevant lists and maintainers to the CCs when replying
to this mail.

Thanks,
Mark


^ permalink raw reply	[flat|nested] 24+ messages in thread

end of thread, other threads:[~2023-02-02 15:39 UTC | newest]

Thread overview: 24+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-01-31 18:46 [PATCH v3 0/6] Fix default DMIC gain on AMD PDM drivers Mario Limonciello
2023-01-31 18:46 ` Mario Limonciello
2023-01-31 18:46 ` [PATCH v3 1/6] ASoC: amd: yc: Adjust the gain for PDM DMIC Mario Limonciello
2023-01-31 18:46   ` Mario Limonciello
2023-02-02 11:42   ` Mark Brown
2023-02-02 11:42     ` Mark Brown
2023-02-02 13:38     ` Mario Limonciello
2023-02-02 13:38       ` Mario Limonciello
2023-02-02 13:42       ` Mark Brown
2023-02-02 13:42         ` Mark Brown
2023-01-31 18:46 ` [PATCH v3 2/6] ASoC: amd: yc: Add a module parameter to influence pdm_gain Mario Limonciello
2023-01-31 18:46   ` Mario Limonciello
2023-01-31 18:46 ` [PATCH v3 3/6] ASoC: amd: renoir: Adjust the gain for PDM DMIC Mario Limonciello
2023-01-31 18:46   ` Mario Limonciello
2023-01-31 18:46 ` [PATCH v3 4/6] ASoC: amd: renoir: Add a module parameter to influence pdm_gain Mario Limonciello
2023-01-31 18:46   ` Mario Limonciello
2023-01-31 18:46 ` [PATCH v3 5/6] ASoC: amd: ps: Adjust the gain for PDM DMIC Mario Limonciello
2023-01-31 18:46   ` Mario Limonciello
2023-01-31 18:46 ` [PATCH v3 6/6] ASoC: amd: ps: Add a module parameter to influence pdm_gain Mario Limonciello
2023-01-31 18:46   ` Mario Limonciello
2023-01-31 18:51 ` [PATCH v3 0/6] Fix default DMIC gain on AMD PDM drivers Jaroslav Kysela
2023-01-31 18:51   ` Jaroslav Kysela
2023-02-02 15:37 ` Mark Brown
2023-02-02 15:37   ` Mark Brown

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.