]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
soundwire: amd: fix for clearing command status register
authorVijendar Mukunda <Vijendar.Mukunda@amd.com>
Fri, 20 Jun 2025 10:25:19 +0000 (15:55 +0530)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 24 Jul 2025 06:53:16 +0000 (08:53 +0200)
[ Upstream commit a628e69b6412dc02757a6a23f7f16ce0c14d71f1 ]

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>
Link: https://lore.kernel.org/r/20250620102617.73437-1-Vijendar.Mukunda@amd.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/soundwire/amd_manager.c

index ce1c8e1372eedb0912732b13dc84082d1875652d..b89f8067e6cdd758c45c3e25cbc91000f376e7f1 100644 (file)
@@ -205,7 +205,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);