All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/7] ASoC: Intel: catpt: Code cleanup
@ 2026-06-01 14:10 Cezary Rojewski
  2026-06-01 14:10 ` [PATCH 1/7] ASoC: Intel: catpt: Utilize lock-guard helper Cezary Rojewski
                   ` (7 more replies)
  0 siblings, 8 replies; 18+ messages in thread
From: Cezary Rojewski @ 2026-06-01 14:10 UTC (permalink / raw)
  To: broonie
  Cc: tiwai, perex, amade, linux-sound, andriy.shevchenko,
	Cezary Rojewski

All of the changes found here are cleanups and from functional
perspective, have no impact - either unused code is being removed or
existing code is altered to use helpers/macros to improve readability.

Collateral of recent fixes [1].  There is one more patchset with similar
goal following this one.  Before the team managed to actually fix the
problem, a number of changes were added to make the code easier to
understand for people who are not the author (me).

[1]: https://lore.kernel.org/linux-sound/20260528083444.1439233-1-cezary.rojewski@intel.com/


Cezary Rojewski (7):
  ASoC: Intel: catpt: Utilize lock-guard helper
  ASoC: Intel: catpt: Replace RAM-helpers with resource_xxx()
  ASoC: Intel: catpt: Simplify the RAM-navigation code
  ASoC: Intel: catpt: Simplify catpt_stream_find()
  ASoC: Intel: catpt: Remove unused WAVES controls
  ASoC: Intel: catpt: Drop manipulation of the obsolete direction flag
  ASoC: Intel: catpt: Cleanup components_kcontrols[]

 sound/soc/intel/catpt/device.c    |  9 ++---
 sound/soc/intel/catpt/dsp.c       | 19 ++++------
 sound/soc/intel/catpt/ipc.c       | 10 +----
 sound/soc/intel/catpt/loader.c    |  7 +---
 sound/soc/intel/catpt/pcm.c       | 63 ++++++-------------------------
 sound/soc/intel/catpt/registers.h |  2 +
 6 files changed, 27 insertions(+), 83 deletions(-)

-- 
2.34.1


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

* [PATCH 1/7] ASoC: Intel: catpt: Utilize lock-guard helper
  2026-06-01 14:10 [PATCH 0/7] ASoC: Intel: catpt: Code cleanup Cezary Rojewski
@ 2026-06-01 14:10 ` Cezary Rojewski
  2026-06-02  8:51   ` Andy Shevchenko
  2026-06-01 14:10 ` [PATCH 2/7] ASoC: Intel: catpt: Replace RAM-helpers with resource_xxx() Cezary Rojewski
                   ` (6 subsequent siblings)
  7 siblings, 1 reply; 18+ messages in thread
From: Cezary Rojewski @ 2026-06-01 14:10 UTC (permalink / raw)
  To: broonie
  Cc: tiwai, perex, amade, linux-sound, andriy.shevchenko,
	Cezary Rojewski

The lock-guard helps simplify the driver's code.

Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com>
---
 sound/soc/intel/catpt/dsp.c | 12 ++++--------
 sound/soc/intel/catpt/ipc.c | 10 ++--------
 2 files changed, 6 insertions(+), 16 deletions(-)

diff --git a/sound/soc/intel/catpt/dsp.c b/sound/soc/intel/catpt/dsp.c
index 677f348909c8..b1865d10f995 100644
--- a/sound/soc/intel/catpt/dsp.c
+++ b/sound/soc/intel/catpt/dsp.c
@@ -5,6 +5,7 @@
 // Author: Cezary Rojewski <cezary.rojewski@intel.com>
 //
 
+#include <linux/cleanup.h>
 #include <linux/devcoredump.h>
 #include <linux/dma-mapping.h>
 #include <linux/firmware.h>
@@ -256,17 +257,15 @@ static int catpt_dsp_select_lpclock(struct catpt_dev *cdev, bool lp, bool waiti)
 	u32 mask, reg, val;
 	int ret;
 
-	mutex_lock(&cdev->clk_mutex);
+	guard(mutex)(&cdev->clk_mutex);
 
 	val = lp ? CATPT_CS_LPCS : 0;
 	reg = catpt_readl_shim(cdev, CS1) & CATPT_CS_LPCS;
 	dev_dbg(cdev->dev, "LPCS [0x%08lx] 0x%08x -> 0x%08x",
 		CATPT_CS_LPCS, reg, val);
 
-	if (reg == val) {
-		mutex_unlock(&cdev->clk_mutex);
+	if (reg == val)
 		return 0;
-	}
 
 	if (waiti) {
 		/* wait for DSP to signal WAIT state */
@@ -276,10 +275,8 @@ static int catpt_dsp_select_lpclock(struct catpt_dev *cdev, bool lp, bool waiti)
 		if (ret) {
 			dev_warn(cdev->dev, "await WAITI timeout\n");
 			/* no signal - only high clock selection allowed */
-			if (lp) {
-				mutex_unlock(&cdev->clk_mutex);
+			if (lp)
 				return 0;
-			}
 		}
 	}
 
@@ -303,7 +300,6 @@ static int catpt_dsp_select_lpclock(struct catpt_dev *cdev, bool lp, bool waiti)
 	/* update PLL accordingly */
 	cdev->spec->pll_shutdown(cdev, lp);
 
-	mutex_unlock(&cdev->clk_mutex);
 	return 0;
 }
 
diff --git a/sound/soc/intel/catpt/ipc.c b/sound/soc/intel/catpt/ipc.c
index 225757e6a776..11238fc641a4 100644
--- a/sound/soc/intel/catpt/ipc.c
+++ b/sound/soc/intel/catpt/ipc.c
@@ -128,14 +128,8 @@ int catpt_dsp_send_msg_timeout(struct catpt_dev *cdev,
 			       struct catpt_ipc_msg request,
 			       struct catpt_ipc_msg *reply, int timeout, const char *name)
 {
-	struct catpt_ipc *ipc = &cdev->ipc;
-	int ret;
-
-	mutex_lock(&ipc->mutex);
-	ret = catpt_dsp_do_send_msg(cdev, request, reply, timeout, name);
-	mutex_unlock(&ipc->mutex);
-
-	return ret;
+	guard(mutex)(&cdev->ipc.mutex);
+	return catpt_dsp_do_send_msg(cdev, request, reply, timeout, name);
 }
 
 int catpt_dsp_send_msg(struct catpt_dev *cdev, struct catpt_ipc_msg request,
-- 
2.34.1


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

* [PATCH 2/7] ASoC: Intel: catpt: Replace RAM-helpers with resource_xxx()
  2026-06-01 14:10 [PATCH 0/7] ASoC: Intel: catpt: Code cleanup Cezary Rojewski
  2026-06-01 14:10 ` [PATCH 1/7] ASoC: Intel: catpt: Utilize lock-guard helper Cezary Rojewski
@ 2026-06-01 14:10 ` Cezary Rojewski
  2026-06-01 18:57   ` Mark Brown
  2026-06-01 14:10 ` [PATCH 3/7] ASoC: Intel: catpt: Simplify the RAM-navigation code Cezary Rojewski
                   ` (5 subsequent siblings)
  7 siblings, 1 reply; 18+ messages in thread
From: Cezary Rojewski @ 2026-06-01 14:10 UTC (permalink / raw)
  To: broonie
  Cc: tiwai, perex, amade, linux-sound, andriy.shevchenko,
	Cezary Rojewski

For catpt_sram_init(), the exact same functionality has been provided to
ioport.h with commit 9fb6fef0fb49 ("resource: Add resource set range and
size helpers") in recent years.

As for catpt_dram/iram_size(), leave it for the driver initialization
only.  Have all other manipulations be done using resource_xxx() API
which are more familiar to kernel developers.

Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com>
---
 sound/soc/intel/catpt/device.c | 9 +++------
 sound/soc/intel/catpt/loader.c | 7 +------
 2 files changed, 4 insertions(+), 12 deletions(-)

diff --git a/sound/soc/intel/catpt/device.c b/sound/soc/intel/catpt/device.c
index b0a926db483c..b176aebea9d5 100644
--- a/sound/soc/intel/catpt/device.c
+++ b/sound/soc/intel/catpt/device.c
@@ -233,12 +233,9 @@ static void catpt_dev_init(struct catpt_dev *cdev, struct device *dev,
 	cdev->devfmt[CATPT_SSP_IFACE_0].iface = UINT_MAX;
 	cdev->devfmt[CATPT_SSP_IFACE_1].iface = UINT_MAX;
 
+	resource_set_range(&cdev->dram, spec->host_dram_offset, catpt_dram_size(cdev));
+	resource_set_range(&cdev->iram, spec->host_iram_offset, catpt_iram_size(cdev));
 	catpt_ipc_init(&cdev->ipc, dev);
-
-	catpt_sram_init(&cdev->dram, spec->host_dram_offset,
-			catpt_dram_size(cdev));
-	catpt_sram_init(&cdev->iram, spec->host_iram_offset,
-			catpt_iram_size(cdev));
 }
 
 static int catpt_acpi_probe(struct platform_device *pdev)
@@ -287,7 +284,7 @@ static int catpt_acpi_probe(struct platform_device *pdev)
 	if (ret)
 		return ret;
 
-	cdev->dxbuf_vaddr = dmam_alloc_coherent(dev, catpt_dram_size(cdev),
+	cdev->dxbuf_vaddr = dmam_alloc_coherent(dev, resource_size(&cdev->dram),
 						&cdev->dxbuf_paddr, GFP_KERNEL);
 	if (!cdev->dxbuf_vaddr)
 		return -ENOMEM;
diff --git a/sound/soc/intel/catpt/loader.c b/sound/soc/intel/catpt/loader.c
index 75457187b614..c577f2e17ddf 100644
--- a/sound/soc/intel/catpt/loader.c
+++ b/sound/soc/intel/catpt/loader.c
@@ -7,6 +7,7 @@
 
 #include <linux/dma-mapping.h>
 #include <linux/firmware.h>
+#include <linux/ioport.h>
 #include <linux/slab.h>
 #include "core.h"
 #include "registers.h"
@@ -50,12 +51,6 @@ struct catpt_fw_block_hdr {
 	u32 rsvd;
 } __packed;
 
-void catpt_sram_init(struct resource *sram, u32 start, u32 size)
-{
-	sram->start = start;
-	sram->end = start + size - 1;
-}
-
 void catpt_sram_free(struct resource *sram)
 {
 	struct resource *res, *save;
-- 
2.34.1


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

* [PATCH 3/7] ASoC: Intel: catpt: Simplify the RAM-navigation code
  2026-06-01 14:10 [PATCH 0/7] ASoC: Intel: catpt: Code cleanup Cezary Rojewski
  2026-06-01 14:10 ` [PATCH 1/7] ASoC: Intel: catpt: Utilize lock-guard helper Cezary Rojewski
  2026-06-01 14:10 ` [PATCH 2/7] ASoC: Intel: catpt: Replace RAM-helpers with resource_xxx() Cezary Rojewski
@ 2026-06-01 14:10 ` Cezary Rojewski
  2026-06-01 14:10 ` [PATCH 4/7] ASoC: Intel: catpt: Simplify catpt_stream_find() Cezary Rojewski
                   ` (4 subsequent siblings)
  7 siblings, 0 replies; 18+ messages in thread
From: Cezary Rojewski @ 2026-06-01 14:10 UTC (permalink / raw)
  To: broonie
  Cc: tiwai, perex, amade, linux-sound, andriy.shevchenko,
	Cezary Rojewski

Add catpt_iram_addr() to the catpt helpers family and replace all the
open arithmetics with them.  Makes it easier to understand the code.

Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com>
---
 sound/soc/intel/catpt/dsp.c       | 6 +++---
 sound/soc/intel/catpt/registers.h | 2 ++
 2 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/sound/soc/intel/catpt/dsp.c b/sound/soc/intel/catpt/dsp.c
index b1865d10f995..60ec561d670c 100644
--- a/sound/soc/intel/catpt/dsp.c
+++ b/sound/soc/intel/catpt/dsp.c
@@ -122,7 +122,7 @@ int catpt_dmac_probe(struct catpt_dev *cdev)
 	if (!dmac)
 		return -ENOMEM;
 
-	dmac->regs = cdev->lpe_ba + cdev->spec->host_dma_offset[CATPT_DMA_DEVID];
+	dmac->regs = catpt_dma_addr(cdev, CATPT_DMA_DEVID);
 	dmac->dev = cdev->dev;
 	dmac->irq = cdev->irq;
 
@@ -498,7 +498,7 @@ int catpt_coredump(struct catpt_dev *cdev)
 	hdr->size = resource_size(&cdev->iram);
 	pos += sizeof(*hdr);
 
-	memcpy_fromio(pos, cdev->lpe_ba + cdev->iram.start, hdr->size);
+	memcpy_fromio(pos, catpt_iram_addr(cdev), hdr->size);
 	pos += hdr->size;
 
 	hdr = (struct catpt_dump_section_hdr *)pos;
@@ -508,7 +508,7 @@ int catpt_coredump(struct catpt_dev *cdev)
 	hdr->size = resource_size(&cdev->dram);
 	pos += sizeof(*hdr);
 
-	memcpy_fromio(pos, cdev->lpe_ba + cdev->dram.start, hdr->size);
+	memcpy_fromio(pos, catpt_dram_addr(cdev), hdr->size);
 	pos += hdr->size;
 
 	hdr = (struct catpt_dump_section_hdr *)pos;
diff --git a/sound/soc/intel/catpt/registers.h b/sound/soc/intel/catpt/registers.h
index 64bd534a76ff..864802bd7809 100644
--- a/sound/soc/intel/catpt/registers.h
+++ b/sound/soc/intel/catpt/registers.h
@@ -144,6 +144,8 @@
 
 #define catpt_dram_addr(cdev) \
 	((cdev)->lpe_ba + (cdev)->spec->host_dram_offset)
+#define catpt_iram_addr(cdev) \
+	((cdev)->lpe_ba + (cdev)->spec->host_iram_offset)
 #define catpt_shim_addr(cdev) \
 	((cdev)->lpe_ba + (cdev)->spec->host_shim_offset)
 #define catpt_dma_addr(cdev, dma) \
-- 
2.34.1


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

* [PATCH 4/7] ASoC: Intel: catpt: Simplify catpt_stream_find()
  2026-06-01 14:10 [PATCH 0/7] ASoC: Intel: catpt: Code cleanup Cezary Rojewski
                   ` (2 preceding siblings ...)
  2026-06-01 14:10 ` [PATCH 3/7] ASoC: Intel: catpt: Simplify the RAM-navigation code Cezary Rojewski
@ 2026-06-01 14:10 ` Cezary Rojewski
  2026-06-02  8:53   ` Andy Shevchenko
  2026-06-01 14:10 ` [PATCH 5/7] ASoC: Intel: catpt: Remove unused WAVES controls Cezary Rojewski
                   ` (3 subsequent siblings)
  7 siblings, 1 reply; 18+ messages in thread
From: Cezary Rojewski @ 2026-06-01 14:10 UTC (permalink / raw)
  To: broonie
  Cc: tiwai, perex, amade, linux-sound, andriy.shevchenko,
	Cezary Rojewski

Code line reduction and more transparent variable naming.
No functional changes.

Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com>
---
 sound/soc/intel/catpt/pcm.c | 17 ++++++-----------
 1 file changed, 6 insertions(+), 11 deletions(-)

diff --git a/sound/soc/intel/catpt/pcm.c b/sound/soc/intel/catpt/pcm.c
index 7b2bab12c707..deb76eb79d18 100644
--- a/sound/soc/intel/catpt/pcm.c
+++ b/sound/soc/intel/catpt/pcm.c
@@ -99,19 +99,14 @@ catpt_get_stream_template(struct snd_pcm_substream *substream)
 }
 
 /* Caller responsible for holding ->stream_mutex. */
-struct catpt_stream_runtime *
-catpt_stream_find(struct catpt_dev *cdev, u8 stream_hw_id)
+struct catpt_stream_runtime *catpt_stream_find(struct catpt_dev *cdev, u8 stream_hw_id)
 {
-	struct catpt_stream_runtime *pos, *result = NULL;
+	struct catpt_stream_runtime *stream;
 
-	list_for_each_entry(pos, &cdev->stream_list, node) {
-		if (pos->info.stream_hw_id == stream_hw_id) {
-			result = pos;
-			break;
-		}
-	}
-
-	return result;
+	list_for_each_entry(stream, &cdev->stream_list, node)
+		if (stream->info.stream_hw_id == stream_hw_id)
+			return stream;
+	return NULL;
 }
 
 /* Caller responsible for holding ->stream_mutex. */
-- 
2.34.1


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

* [PATCH 5/7] ASoC: Intel: catpt: Remove unused WAVES controls
  2026-06-01 14:10 [PATCH 0/7] ASoC: Intel: catpt: Code cleanup Cezary Rojewski
                   ` (3 preceding siblings ...)
  2026-06-01 14:10 ` [PATCH 4/7] ASoC: Intel: catpt: Simplify catpt_stream_find() Cezary Rojewski
@ 2026-06-01 14:10 ` Cezary Rojewski
  2026-06-02  8:54   ` Andy Shevchenko
  2026-06-01 14:10 ` [PATCH 6/7] ASoC: Intel: catpt: Drop manipulation of the obsolete direction flag Cezary Rojewski
                   ` (2 subsequent siblings)
  7 siblings, 1 reply; 18+ messages in thread
From: Cezary Rojewski @ 2026-06-01 14:10 UTC (permalink / raw)
  To: broonie
  Cc: tiwai, perex, amade, linux-sound, andriy.shevchenko,
	Cezary Rojewski

Support for the WAVES module was not officially published. The kcontrols
are here to retain 1:1 uapi when transitioning from the haswell- to the
catpt-driver. The catpt-driver is very stable and several years passed
with no WAVES users so it is save to remove the code.

Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com>
---
 sound/soc/intel/catpt/pcm.c | 32 --------------------------------
 1 file changed, 32 deletions(-)

diff --git a/sound/soc/intel/catpt/pcm.c b/sound/soc/intel/catpt/pcm.c
index deb76eb79d18..bfa94f5ffc8d 100644
--- a/sound/soc/intel/catpt/pcm.c
+++ b/sound/soc/intel/catpt/pcm.c
@@ -967,32 +967,6 @@ static int catpt_loopback_mute_put(struct snd_kcontrol *kctl, struct snd_ctl_ele
 	return 1;
 }
 
-static int catpt_waves_switch_get(struct snd_kcontrol *kcontrol,
-				  struct snd_ctl_elem_value *ucontrol)
-{
-	return 0;
-}
-
-static int catpt_waves_switch_put(struct snd_kcontrol *kcontrol,
-				  struct snd_ctl_elem_value *ucontrol)
-{
-	return 0;
-}
-
-static int catpt_waves_param_get(struct snd_kcontrol *kcontrol,
-				 unsigned int __user *bytes,
-				 unsigned int size)
-{
-	return 0;
-}
-
-static int catpt_waves_param_put(struct snd_kcontrol *kcontrol,
-				 const unsigned int __user *bytes,
-				 unsigned int size)
-{
-	return 0;
-}
-
 static const SNDRV_CTL_TLVD_DECLARE_DB_SCALE(catpt_volume_tlv, -9000, 300, 1);
 
 #define CATPT_VOLUME_CTL(kname, pname) {		\
@@ -1017,12 +991,6 @@ CATPT_VOLUME_CTL("Media1 Playback Volume", OFFLOAD2),
 CATPT_VOLUME_CTL("Mic Capture Volume", CAPTURE1),
 SOC_SINGLE_BOOL_EXT("Loopback Mute", (unsigned long)&(bool[1]) {0},
 		    catpt_loopback_mute_get, catpt_loopback_mute_put),
-/* Enable or disable WAVES module */
-SOC_SINGLE_BOOL_EXT("Waves Switch", 0,
-		    catpt_waves_switch_get, catpt_waves_switch_put),
-/* WAVES module parameter control */
-SND_SOC_BYTES_TLV("Waves Set Param", 128,
-		  catpt_waves_param_get, catpt_waves_param_put),
 };
 
 static const struct snd_soc_dapm_widget component_widgets[] = {
-- 
2.34.1


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

* [PATCH 6/7] ASoC: Intel: catpt: Drop manipulation of the obsolete direction flag
  2026-06-01 14:10 [PATCH 0/7] ASoC: Intel: catpt: Code cleanup Cezary Rojewski
                   ` (4 preceding siblings ...)
  2026-06-01 14:10 ` [PATCH 5/7] ASoC: Intel: catpt: Remove unused WAVES controls Cezary Rojewski
@ 2026-06-01 14:10 ` Cezary Rojewski
  2026-06-01 14:10 ` [PATCH 7/7] ASoC: Intel: catpt: Cleanup components_kcontrols[] Cezary Rojewski
  2026-06-02  8:58 ` [PATCH 0/7] ASoC: Intel: catpt: Code cleanup Andy Shevchenko
  7 siblings, 0 replies; 18+ messages in thread
From: Cezary Rojewski @ 2026-06-01 14:10 UTC (permalink / raw)
  To: broonie
  Cc: tiwai, perex, amade, linux-sound, andriy.shevchenko,
	Cezary Rojewski

Setting up direction for struct dma_slave_config is obsolete, see the
description of the struct.  The transfer performed by the catpt-driver
is also always DMA_MEM_TO_MEM not DMA_MEM_TO_DEV with preparation step
being dmaengine_prep_dma_memcpy().

DW's ->device_prep_dma_memcpy() always fixes the direction to
DMA_MEM_TO_MEM even if its user fails to do so, see
drivers/dma/dw/core.c.   While the change impacts number of checks done
by ->device_config() - p/m buswidth checks are skipped - fields being
fixed up in those i.e.: .dst_addr_width and .src_addr_width, do not take
part in DMA_MEM_TO_MEM transfer.

Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com>
---
 sound/soc/intel/catpt/dsp.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/sound/soc/intel/catpt/dsp.c b/sound/soc/intel/catpt/dsp.c
index 60ec561d670c..960344991b11 100644
--- a/sound/soc/intel/catpt/dsp.c
+++ b/sound/soc/intel/catpt/dsp.c
@@ -44,7 +44,6 @@ struct dma_chan *catpt_dma_request_config_chan(struct catpt_dev *cdev)
 	}
 
 	memset(&config, 0, sizeof(config));
-	config.direction = DMA_MEM_TO_DEV;
 	config.src_addr_width = DMA_SLAVE_BUSWIDTH_4_BYTES;
 	config.dst_addr_width = DMA_SLAVE_BUSWIDTH_4_BYTES;
 	config.src_maxburst = 16;
-- 
2.34.1


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

* [PATCH 7/7] ASoC: Intel: catpt: Cleanup components_kcontrols[]
  2026-06-01 14:10 [PATCH 0/7] ASoC: Intel: catpt: Code cleanup Cezary Rojewski
                   ` (5 preceding siblings ...)
  2026-06-01 14:10 ` [PATCH 6/7] ASoC: Intel: catpt: Drop manipulation of the obsolete direction flag Cezary Rojewski
@ 2026-06-01 14:10 ` Cezary Rojewski
  2026-06-02  8:57   ` Andy Shevchenko
  2026-06-02  8:58 ` [PATCH 0/7] ASoC: Intel: catpt: Code cleanup Andy Shevchenko
  7 siblings, 1 reply; 18+ messages in thread
From: Cezary Rojewski @ 2026-06-01 14:10 UTC (permalink / raw)
  To: broonie
  Cc: tiwai, perex, amade, linux-sound, andriy.shevchenko,
	Cezary Rojewski

Fix alignment and drop redundant comments.

Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com>
---
 sound/soc/intel/catpt/pcm.c | 14 ++++++--------
 1 file changed, 6 insertions(+), 8 deletions(-)

diff --git a/sound/soc/intel/catpt/pcm.c b/sound/soc/intel/catpt/pcm.c
index bfa94f5ffc8d..01b015b4584b 100644
--- a/sound/soc/intel/catpt/pcm.c
+++ b/sound/soc/intel/catpt/pcm.c
@@ -983,14 +983,12 @@ static const SNDRV_CTL_TLVD_DECLARE_DB_SCALE(catpt_volume_tlv, -9000, 300, 1);
 }
 
 static const struct snd_kcontrol_new component_kcontrols[] = {
-/* Master volume (mixer stream) */
-CATPT_VOLUME_CTL("Master Playback Volume", MIXER),
-/* Individual volume controls for offload and capture */
-CATPT_VOLUME_CTL("Media0 Playback Volume", OFFLOAD1),
-CATPT_VOLUME_CTL("Media1 Playback Volume", OFFLOAD2),
-CATPT_VOLUME_CTL("Mic Capture Volume", CAPTURE1),
-SOC_SINGLE_BOOL_EXT("Loopback Mute", (unsigned long)&(bool[1]) {0},
-		    catpt_loopback_mute_get, catpt_loopback_mute_put),
+	CATPT_VOLUME_CTL("Master Playback Volume", MIXER),
+	CATPT_VOLUME_CTL("Media0 Playback Volume", OFFLOAD1),
+	CATPT_VOLUME_CTL("Media1 Playback Volume", OFFLOAD2),
+	CATPT_VOLUME_CTL("Mic Capture Volume", CAPTURE1),
+	SOC_SINGLE_BOOL_EXT("Loopback Mute", (unsigned long)&(bool[1]) {0},
+			    catpt_loopback_mute_get, catpt_loopback_mute_put),
 };
 
 static const struct snd_soc_dapm_widget component_widgets[] = {
-- 
2.34.1


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

* Re: [PATCH 2/7] ASoC: Intel: catpt: Replace RAM-helpers with resource_xxx()
  2026-06-01 14:10 ` [PATCH 2/7] ASoC: Intel: catpt: Replace RAM-helpers with resource_xxx() Cezary Rojewski
@ 2026-06-01 18:57   ` Mark Brown
  2026-06-01 20:02     ` Cezary Rojewski
  0 siblings, 1 reply; 18+ messages in thread
From: Mark Brown @ 2026-06-01 18:57 UTC (permalink / raw)
  To: Cezary Rojewski; +Cc: tiwai, perex, amade, linux-sound, andriy.shevchenko

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

On Mon, Jun 01, 2026 at 04:10:26PM +0200, Cezary Rojewski wrote:

> -void catpt_sram_init(struct resource *sram, u32 start, u32 size)
> -{
> -	sram->start = start;
> -	sram->end = start + size - 1;
> -}
> -

The prototype in the header could be cleaned up too.

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

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

* Re: [PATCH 2/7] ASoC: Intel: catpt: Replace RAM-helpers with resource_xxx()
  2026-06-01 18:57   ` Mark Brown
@ 2026-06-01 20:02     ` Cezary Rojewski
  0 siblings, 0 replies; 18+ messages in thread
From: Cezary Rojewski @ 2026-06-01 20:02 UTC (permalink / raw)
  To: Mark Brown; +Cc: tiwai, perex, amade, linux-sound, andriy.shevchenko

On 6/1/2026 8:57 PM, Mark Brown wrote:
> On Mon, Jun 01, 2026 at 04:10:26PM +0200, Cezary Rojewski wrote:
> 
>> -void catpt_sram_init(struct resource *sram, u32 start, u32 size)
>> -{
>> -	sram->start = start;
>> -	sram->end = start + size - 1;
>> -}
>> -
> 
> The prototype in the header could be cleaned up too.

Ack, thank you for spotting this out.

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

* Re: [PATCH 1/7] ASoC: Intel: catpt: Utilize lock-guard helper
  2026-06-01 14:10 ` [PATCH 1/7] ASoC: Intel: catpt: Utilize lock-guard helper Cezary Rojewski
@ 2026-06-02  8:51   ` Andy Shevchenko
  0 siblings, 0 replies; 18+ messages in thread
From: Andy Shevchenko @ 2026-06-02  8:51 UTC (permalink / raw)
  To: Cezary Rojewski; +Cc: broonie, tiwai, perex, amade, linux-sound

On Mon, Jun 01, 2026 at 04:10:25PM +0200, Cezary Rojewski wrote:
> The lock-guard helps simplify the driver's code.

...

> +	guard(mutex)(&cdev->ipc.mutex);

LGTM, however, I would still have a blank line here.

> +	return catpt_dsp_do_send_msg(cdev, request, reply, timeout, name);
>  }


-- 
With Best Regards,
Andy Shevchenko



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

* Re: [PATCH 4/7] ASoC: Intel: catpt: Simplify catpt_stream_find()
  2026-06-01 14:10 ` [PATCH 4/7] ASoC: Intel: catpt: Simplify catpt_stream_find() Cezary Rojewski
@ 2026-06-02  8:53   ` Andy Shevchenko
  2026-06-02  8:59     ` Cezary Rojewski
  0 siblings, 1 reply; 18+ messages in thread
From: Andy Shevchenko @ 2026-06-02  8:53 UTC (permalink / raw)
  To: Cezary Rojewski; +Cc: broonie, tiwai, perex, amade, linux-sound

On Mon, Jun 01, 2026 at 04:10:28PM +0200, Cezary Rojewski wrote:
> Code line reduction and more transparent variable naming.
> No functional changes.

...

> +struct catpt_stream_runtime *catpt_stream_find(struct catpt_dev *cdev, u8 stream_hw_id)
>  {
> -	struct catpt_stream_runtime *pos, *result = NULL;
> +	struct catpt_stream_runtime *stream;
>  
> -	list_for_each_entry(pos, &cdev->stream_list, node) {
> -		if (pos->info.stream_hw_id == stream_hw_id) {
> -			result = pos;
> -			break;
> -		}
> -	}
> -
> -	return result;
> +	list_for_each_entry(stream, &cdev->stream_list, node)
> +		if (stream->info.stream_hw_id == stream_hw_id)
> +			return stream;

Please, keep a blank line here.

> +	return NULL;
>  }

-- 
With Best Regards,
Andy Shevchenko



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

* Re: [PATCH 5/7] ASoC: Intel: catpt: Remove unused WAVES controls
  2026-06-01 14:10 ` [PATCH 5/7] ASoC: Intel: catpt: Remove unused WAVES controls Cezary Rojewski
@ 2026-06-02  8:54   ` Andy Shevchenko
  2026-06-02  9:01     ` Cezary Rojewski
  0 siblings, 1 reply; 18+ messages in thread
From: Andy Shevchenko @ 2026-06-02  8:54 UTC (permalink / raw)
  To: Cezary Rojewski; +Cc: broonie, tiwai, perex, amade, linux-sound

On Mon, Jun 01, 2026 at 04:10:29PM +0200, Cezary Rojewski wrote:
> Support for the WAVES module was not officially published. The kcontrols
> are here to retain 1:1 uapi when transitioning from the haswell- to the

I'm not sure I got the 'haswell-' part, if it's a name of the driver, spell it
fully. Otherwise it sounds like a codename, which spells Haswell.

> catpt-driver. The catpt-driver is very stable and several years passed
> with no WAVES users so it is save to remove the code.

-- 
With Best Regards,
Andy Shevchenko



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

* Re: [PATCH 7/7] ASoC: Intel: catpt: Cleanup components_kcontrols[]
  2026-06-01 14:10 ` [PATCH 7/7] ASoC: Intel: catpt: Cleanup components_kcontrols[] Cezary Rojewski
@ 2026-06-02  8:57   ` Andy Shevchenko
  2026-06-02  9:04     ` Cezary Rojewski
  0 siblings, 1 reply; 18+ messages in thread
From: Andy Shevchenko @ 2026-06-02  8:57 UTC (permalink / raw)
  To: Cezary Rojewski; +Cc: broonie, tiwai, perex, amade, linux-sound

On Mon, Jun 01, 2026 at 04:10:31PM +0200, Cezary Rojewski wrote:
> Fix alignment and drop redundant comments.

...

>  static const struct snd_kcontrol_new component_kcontrols[] = {
> -/* Master volume (mixer stream) */
> -CATPT_VOLUME_CTL("Master Playback Volume", MIXER),
> -/* Individual volume controls for offload and capture */
> -CATPT_VOLUME_CTL("Media0 Playback Volume", OFFLOAD1),
> -CATPT_VOLUME_CTL("Media1 Playback Volume", OFFLOAD2),
> -CATPT_VOLUME_CTL("Mic Capture Volume", CAPTURE1),
> -SOC_SINGLE_BOOL_EXT("Loopback Mute", (unsigned long)&(bool[1]) {0},
> -		    catpt_loopback_mute_get, catpt_loopback_mute_put),
> +	CATPT_VOLUME_CTL("Master Playback Volume", MIXER),
> +	CATPT_VOLUME_CTL("Media0 Playback Volume", OFFLOAD1),
> +	CATPT_VOLUME_CTL("Media1 Playback Volume", OFFLOAD2),
> +	CATPT_VOLUME_CTL("Mic Capture Volume", CAPTURE1),
> +	SOC_SINGLE_BOOL_EXT("Loopback Mute", (unsigned long)&(bool[1]) {0},

While at it, can't we simply do outside of this initialiser something like

static bool loopback_mute;

and here

	SOC_SINGLE_BOOL_EXT("Loopback Mute", (unsigned long)&loopback_mute,

> +			    catpt_loopback_mute_get, catpt_loopback_mute_put),
>  };

-- 
With Best Regards,
Andy Shevchenko



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

* Re: [PATCH 0/7] ASoC: Intel: catpt: Code cleanup
  2026-06-01 14:10 [PATCH 0/7] ASoC: Intel: catpt: Code cleanup Cezary Rojewski
                   ` (6 preceding siblings ...)
  2026-06-01 14:10 ` [PATCH 7/7] ASoC: Intel: catpt: Cleanup components_kcontrols[] Cezary Rojewski
@ 2026-06-02  8:58 ` Andy Shevchenko
  7 siblings, 0 replies; 18+ messages in thread
From: Andy Shevchenko @ 2026-06-02  8:58 UTC (permalink / raw)
  To: Cezary Rojewski; +Cc: broonie, tiwai, perex, amade, linux-sound

On Mon, Jun 01, 2026 at 04:10:24PM +0200, Cezary Rojewski wrote:
> All of the changes found here are cleanups and from functional
> perspective, have no impact - either unused code is being removed or
> existing code is altered to use helpers/macros to improve readability.
> 
> Collateral of recent fixes [1].  There is one more patchset with similar
> goal following this one.  Before the team managed to actually fix the
> problem, a number of changes were added to make the code easier to
> understand for people who are not the author (me).

All makes sense to me, a few nit-picks though.
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>

-- 
With Best Regards,
Andy Shevchenko



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

* Re: [PATCH 4/7] ASoC: Intel: catpt: Simplify catpt_stream_find()
  2026-06-02  8:53   ` Andy Shevchenko
@ 2026-06-02  8:59     ` Cezary Rojewski
  0 siblings, 0 replies; 18+ messages in thread
From: Cezary Rojewski @ 2026-06-02  8:59 UTC (permalink / raw)
  To: Andy Shevchenko; +Cc: broonie, tiwai, perex, amade, linux-sound

On 6/2/2026 10:53 AM, Andy Shevchenko wrote:
> On Mon, Jun 01, 2026 at 04:10:28PM +0200, Cezary Rojewski wrote:
>> Code line reduction and more transparent variable naming.
>> No functional changes.
> 
> ...
> 
>> +struct catpt_stream_runtime *catpt_stream_find(struct catpt_dev *cdev, u8 stream_hw_id)
>>   {
>> -	struct catpt_stream_runtime *pos, *result = NULL;
>> +	struct catpt_stream_runtime *stream;
>>   
>> -	list_for_each_entry(pos, &cdev->stream_list, node) {
>> -		if (pos->info.stream_hw_id == stream_hw_id) {
>> -			result = pos;
>> -			break;
>> -		}
>> -	}
>> -
>> -	return result;
>> +	list_for_each_entry(stream, &cdev->stream_list, node)
>> +		if (stream->info.stream_hw_id == stream_hw_id)
>> +			return stream;
> 
> Please, keep a blank line here.

Agreed, will give it a day and apply in v3.

> 
>> +	return NULL;
>>   }
> 


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

* Re: [PATCH 5/7] ASoC: Intel: catpt: Remove unused WAVES controls
  2026-06-02  8:54   ` Andy Shevchenko
@ 2026-06-02  9:01     ` Cezary Rojewski
  0 siblings, 0 replies; 18+ messages in thread
From: Cezary Rojewski @ 2026-06-02  9:01 UTC (permalink / raw)
  To: Andy Shevchenko; +Cc: broonie, tiwai, perex, amade, linux-sound

On 6/2/2026 10:54 AM, Andy Shevchenko wrote:
> On Mon, Jun 01, 2026 at 04:10:29PM +0200, Cezary Rojewski wrote:
>> Support for the WAVES module was not officially published. The kcontrols
>> are here to retain 1:1 uapi when transitioning from the haswell- to the
> 
> I'm not sure I got the 'haswell-' part, if it's a name of the driver, spell it
> fully. Otherwise it sounds like a codename, which spells Haswell.

Yes, the above refers to the haswell-driver, predecessor to the 
catpt-driver.  Ack, will reword.

>> catpt-driver. The catpt-driver is very stable and several years passed
>> with no WAVES users so it is save to remove the code.
> 


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

* Re: [PATCH 7/7] ASoC: Intel: catpt: Cleanup components_kcontrols[]
  2026-06-02  8:57   ` Andy Shevchenko
@ 2026-06-02  9:04     ` Cezary Rojewski
  0 siblings, 0 replies; 18+ messages in thread
From: Cezary Rojewski @ 2026-06-02  9:04 UTC (permalink / raw)
  To: Andy Shevchenko; +Cc: broonie, tiwai, perex, amade, linux-sound

On 6/2/2026 10:57 AM, Andy Shevchenko wrote:
> On Mon, Jun 01, 2026 at 04:10:31PM +0200, Cezary Rojewski wrote:
>> Fix alignment and drop redundant comments.
> 
> ...
> 
>>   static const struct snd_kcontrol_new component_kcontrols[] = {
>> -/* Master volume (mixer stream) */
>> -CATPT_VOLUME_CTL("Master Playback Volume", MIXER),
>> -/* Individual volume controls for offload and capture */
>> -CATPT_VOLUME_CTL("Media0 Playback Volume", OFFLOAD1),
>> -CATPT_VOLUME_CTL("Media1 Playback Volume", OFFLOAD2),
>> -CATPT_VOLUME_CTL("Mic Capture Volume", CAPTURE1),
>> -SOC_SINGLE_BOOL_EXT("Loopback Mute", (unsigned long)&(bool[1]) {0},
>> -		    catpt_loopback_mute_get, catpt_loopback_mute_put),
>> +	CATPT_VOLUME_CTL("Master Playback Volume", MIXER),
>> +	CATPT_VOLUME_CTL("Media0 Playback Volume", OFFLOAD1),
>> +	CATPT_VOLUME_CTL("Media1 Playback Volume", OFFLOAD2),
>> +	CATPT_VOLUME_CTL("Mic Capture Volume", CAPTURE1),
>> +	SOC_SINGLE_BOOL_EXT("Loopback Mute", (unsigned long)&(bool[1]) {0},
> 
> While at it, can't we simply do outside of this initialiser something like
> 
> static bool loopback_mute;
> 
> and here
> 
> 	SOC_SINGLE_BOOL_EXT("Loopback Mute", (unsigned long)&loopback_mute,

Hmm.. not a bad idea though the loopback_mute static would never be 
referred to.  All the functions obtain the values with 
kctl->private_value and I'd like things to state that way.

>> +			    catpt_loopback_mute_get, catpt_loopback_mute_put),
>>   };
> 


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

end of thread, other threads:[~2026-06-02  9:04 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-06-01 14:10 [PATCH 0/7] ASoC: Intel: catpt: Code cleanup Cezary Rojewski
2026-06-01 14:10 ` [PATCH 1/7] ASoC: Intel: catpt: Utilize lock-guard helper Cezary Rojewski
2026-06-02  8:51   ` Andy Shevchenko
2026-06-01 14:10 ` [PATCH 2/7] ASoC: Intel: catpt: Replace RAM-helpers with resource_xxx() Cezary Rojewski
2026-06-01 18:57   ` Mark Brown
2026-06-01 20:02     ` Cezary Rojewski
2026-06-01 14:10 ` [PATCH 3/7] ASoC: Intel: catpt: Simplify the RAM-navigation code Cezary Rojewski
2026-06-01 14:10 ` [PATCH 4/7] ASoC: Intel: catpt: Simplify catpt_stream_find() Cezary Rojewski
2026-06-02  8:53   ` Andy Shevchenko
2026-06-02  8:59     ` Cezary Rojewski
2026-06-01 14:10 ` [PATCH 5/7] ASoC: Intel: catpt: Remove unused WAVES controls Cezary Rojewski
2026-06-02  8:54   ` Andy Shevchenko
2026-06-02  9:01     ` Cezary Rojewski
2026-06-01 14:10 ` [PATCH 6/7] ASoC: Intel: catpt: Drop manipulation of the obsolete direction flag Cezary Rojewski
2026-06-01 14:10 ` [PATCH 7/7] ASoC: Intel: catpt: Cleanup components_kcontrols[] Cezary Rojewski
2026-06-02  8:57   ` Andy Shevchenko
2026-06-02  9:04     ` Cezary Rojewski
2026-06-02  8:58 ` [PATCH 0/7] ASoC: Intel: catpt: Code cleanup Andy Shevchenko

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.