[PATCH RESEND] soundwire: don't program SDW_SCP_BUSCLOCK_SCALE on a unattached Peripheral

Bard Liao posted 1 patch 1 month, 2 weeks ago
drivers/soundwire/stream.c | 7 +++++++
1 file changed, 7 insertions(+)
[PATCH RESEND] soundwire: don't program SDW_SCP_BUSCLOCK_SCALE on a unattached Peripheral
Posted by Bard Liao 1 month, 2 weeks ago
The SDW_SCP_BUSCLOCK_SCALE register will be programmed when the
Peripheral is attached. We can and should skip programming the
SDW_SCP_BUSCLOCK_SCALE register when the Peripheral is unattached.

Fixes: 645291cfe5e5 ("Soundwire: stream: program BUSCLOCK_SCALE")
Signed-off-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Reviewed-by: Simon Trimmer <simont@opensource.cirrus.com>
Reviewed-by: Péter Ujfalusi <peter.ujfalusi@linux.intel.com>
Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
---
 drivers/soundwire/stream.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/drivers/soundwire/stream.c b/drivers/soundwire/stream.c
index 4ed8fb7663ad..0b9626838028 100644
--- a/drivers/soundwire/stream.c
+++ b/drivers/soundwire/stream.c
@@ -697,6 +697,13 @@ static int sdw_program_params(struct sdw_bus *bus, bool prepare)
 		if (scale_index < 0)
 			return scale_index;
 
+		/* Skip the unattached Peripherals */
+		if (!completion_done(&slave->enumeration_complete)) {
+			dev_warn(&slave->dev,
+				 "Not enumerated, skip programming BUSCLOCK_SCALE\n");
+			continue;
+		}
+
 		ret = sdw_write_no_pm(slave, addr1, scale_index);
 		if (ret < 0) {
 			dev_err(&slave->dev, "SDW_SCP_BUSCLOCK_SCALE register write failed\n");
-- 
2.43.0

Re: [PATCH RESEND] soundwire: don't program SDW_SCP_BUSCLOCK_SCALE on a unattached Peripheral
Posted by Vinod Koul 1 month, 1 week ago
On Tue, 28 Apr 2026 16:46:12 +0800, Bard Liao wrote:
> The SDW_SCP_BUSCLOCK_SCALE register will be programmed when the
> Peripheral is attached. We can and should skip programming the
> SDW_SCP_BUSCLOCK_SCALE register when the Peripheral is unattached.
> 
> 

Applied, thanks!

[1/1] soundwire: don't program SDW_SCP_BUSCLOCK_SCALE on a unattached Peripheral
      commit: c368dd5cbd61ffab2b6f8a89b0d5775e2e16cde6

Best regards,
-- 
~Vinod