mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH 1/2] soundwire: amd: fix for clearing command status register
@ 2025-06-20 10:25 Vijendar Mukunda
  2025-06-20 10:25 ` [PATCH 2/2] soundwire: amd: add check for status update registers Vijendar Mukunda
  2025-06-26 20:57 ` (subset) [PATCH 1/2] soundwire: amd: fix for clearing command status register Vinod Koul
  0 siblings, 2 replies; 3+ messages in thread
From: Vijendar Mukunda @ 2025-06-20 10:25 UTC (permalink / raw)
  To: vkoul
  Cc: yung-chuan.liao, pierre-louis.bossart, Basavaraj.Hiregoudar,
	Sunil-kumar.Dommati, venkataprasad.potturu, linux-sound,
	linux-kernel, Vijendar Mukunda

To clear the valid result status, 1 should be written to
ACP_SDW_IMM_CMD_STS register. Update the ACP_SW_IMM_CMD_STS register value
as 1.

Fixes: d8f48fbdfd9a ("soundwire: amd: Add support for AMD Manager driver")
Signed-off-by: Vijendar Mukunda <Vijendar.Mukunda@amd.com>
---
 drivers/soundwire/amd_manager.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/soundwire/amd_manager.c b/drivers/soundwire/amd_manager.c
index 9a767704b603..732c3e9cdd9c 100644
--- a/drivers/soundwire/amd_manager.c
+++ b/drivers/soundwire/amd_manager.c
@@ -238,7 +238,7 @@ static u64 amd_sdw_send_cmd_get_resp(struct amd_sdw_manager *amd_manager, u32 lo
 
 	if (sts & AMD_SDW_IMM_RES_VALID) {
 		dev_err(amd_manager->dev, "SDW%x manager is in bad state\n", amd_manager->instance);
-		writel(0x00, amd_manager->mmio + ACP_SW_IMM_CMD_STS);
+		writel(AMD_SDW_IMM_RES_VALID, amd_manager->mmio + ACP_SW_IMM_CMD_STS);
 	}
 	writel(upper_data, amd_manager->mmio + ACP_SW_IMM_CMD_UPPER_WORD);
 	writel(lower_data, amd_manager->mmio + ACP_SW_IMM_CMD_LOWER_QWORD);
-- 
2.45.2


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

* [PATCH 2/2] soundwire: amd: add check for status update registers
  2025-06-20 10:25 [PATCH 1/2] soundwire: amd: fix for clearing command status register Vijendar Mukunda
@ 2025-06-20 10:25 ` Vijendar Mukunda
  2025-06-26 20:57 ` (subset) [PATCH 1/2] soundwire: amd: fix for clearing command status register Vinod Koul
  1 sibling, 0 replies; 3+ messages in thread
From: Vijendar Mukunda @ 2025-06-20 10:25 UTC (permalink / raw)
  To: vkoul
  Cc: yung-chuan.liao, pierre-louis.bossart, Basavaraj.Hiregoudar,
	Sunil-kumar.Dommati, venkataprasad.potturu, linux-sound,
	linux-kernel, Vijendar Mukunda

Add check to proceed handling SoundWire interrupts when valid
status is reported in any one of the status registers.

Signed-off-by: Vijendar Mukunda <Vijendar.Mukunda@amd.com>
---
 drivers/soundwire/amd_manager.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/soundwire/amd_manager.c b/drivers/soundwire/amd_manager.c
index 732c3e9cdd9c..5a7468e33012 100644
--- a/drivers/soundwire/amd_manager.c
+++ b/drivers/soundwire/amd_manager.c
@@ -931,6 +931,9 @@ static void amd_sdw_irq_thread(struct work_struct *work)
 
 	status_change_8to11 = readl(amd_manager->mmio + ACP_SW_STATE_CHANGE_STATUS_8TO11);
 	status_change_0to7 = readl(amd_manager->mmio + ACP_SW_STATE_CHANGE_STATUS_0TO7);
+	if (!status_change_0to7 && !status_change_8to11)
+		return;
+
 	dev_dbg(amd_manager->dev, "[SDW%d] SDW INT: 0to7=0x%x, 8to11=0x%x\n",
 		amd_manager->instance, status_change_0to7, status_change_8to11);
 	if (status_change_8to11 & AMD_SDW_WAKE_STAT_MASK)
-- 
2.45.2


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

* Re: (subset) [PATCH 1/2] soundwire: amd: fix for clearing command status register
  2025-06-20 10:25 [PATCH 1/2] soundwire: amd: fix for clearing command status register Vijendar Mukunda
  2025-06-20 10:25 ` [PATCH 2/2] soundwire: amd: add check for status update registers Vijendar Mukunda
@ 2025-06-26 20:57 ` Vinod Koul
  1 sibling, 0 replies; 3+ messages in thread
From: Vinod Koul @ 2025-06-26 20:57 UTC (permalink / raw)
  To: Vijendar Mukunda
  Cc: yung-chuan.liao, pierre-louis.bossart, Basavaraj.Hiregoudar,
	Sunil-kumar.Dommati, venkataprasad.potturu, linux-sound,
	linux-kernel


On Fri, 20 Jun 2025 15:55:19 +0530, Vijendar Mukunda wrote:
> To clear the valid result status, 1 should be written to
> ACP_SDW_IMM_CMD_STS register. Update the ACP_SW_IMM_CMD_STS register value
> as 1.
> 
> 

Applied, thanks!

[2/2] soundwire: amd: add check for status update registers
      commit: 72bbf6e866a7911aaa0b4d0e9bb03109c7c046f2

Best regards,
-- 
~Vinod



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

end of thread, other threads:[~2025-06-26 20:57 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-06-20 10:25 [PATCH 1/2] soundwire: amd: fix for clearing command status register Vijendar Mukunda
2025-06-20 10:25 ` [PATCH 2/2] soundwire: amd: add check for status update registers Vijendar Mukunda
2025-06-26 20:57 ` (subset) [PATCH 1/2] soundwire: amd: fix for clearing command status register Vinod Koul

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®