| From d72246e6214a0533c9dc9ed97d5daec09c120a9d Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Wed, 26 Nov 2025 14:45:09 +0800 |
| Subject: ASoC: fsl_xcvr: clear the channel status control memory |
| |
| From: Shengjiu Wang <shengjiu.wang@nxp.com> |
| |
| [ Upstream commit 73b97d46dde64fa184d47865d4a532d818c3a007 ] |
| |
| memset_io() writes memory byte by byte with __raw_writeb() on the arm |
| platform if the size is word. but XCVR data RAM memory can't be accessed |
| with byte address, so with memset_io() the channel status control memory |
| is not really cleared, use writel_relaxed() instead. |
| |
| Fixes: 28564486866f ("ASoC: fsl_xcvr: Add XCVR ASoC CPU DAI driver") |
| Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com> |
| Link: https://patch.msgid.link/20251126064509.1900974-1-shengjiu.wang@nxp.com |
| Signed-off-by: Mark Brown <broonie@kernel.org> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| sound/soc/fsl/fsl_xcvr.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| diff --git a/sound/soc/fsl/fsl_xcvr.c b/sound/soc/fsl/fsl_xcvr.c |
| index 8f8ff0ff9765a..9093f3e6e1962 100644 |
| --- a/sound/soc/fsl/fsl_xcvr.c |
| +++ b/sound/soc/fsl/fsl_xcvr.c |
| @@ -1164,7 +1164,7 @@ static irqreturn_t irq0_isr(int irq, void *devid) |
| bitrev32(val); |
| } |
| /* clear CS control register */ |
| - memset_io(reg_ctrl, 0, sizeof(val)); |
| + writel_relaxed(0, reg_ctrl); |
| } |
| } |
| } |
| -- |
| 2.51.0 |
| |