imx.lists.linux.dev archive mirror
 help / color / mirror / Atom feed
From: James Clark <james.clark@linaro.org>
To: Frank Li <Frank.Li@nxp.com>, Mark Brown <broonie@kernel.org>,
	 Clark Wang <xiaoning.wang@nxp.com>,
	Fugang Duan <B38611@freescale.com>,  Gao Pan <pandy.gao@nxp.com>,
	Fugang Duan <fugang.duan@nxp.com>,  Rob Herring <robh@kernel.org>,
	Krzysztof Kozlowski <krzk+dt@kernel.org>,
	 Conor Dooley <conor+dt@kernel.org>,
	Shawn Guo <shawnguo@kernel.org>,
	 Sascha Hauer <s.hauer@pengutronix.de>,
	Fabio Estevam <festevam@gmail.com>,
	 Larisa Grigore <larisa.grigore@oss.nxp.com>,
	 Larisa Grigore <larisa.grigore@nxp.com>,
	 Ghennadi Procopciuc <ghennadi.procopciuc@nxp.com>,
	 Ciprianmarian Costea <ciprianmarian.costea@nxp.com>,
	s32@nxp.com
Cc: James Clark <james.clark@linaro.org>,
	linux-spi@vger.kernel.org,  imx@lists.linux.dev,
	linux-kernel@vger.kernel.org,  devicetree@vger.kernel.org
Subject: [PATCH 04/13] spi: spi-fsl-lpspi: Clear status register after disabling the module
Date: Thu, 14 Aug 2025 17:06:44 +0100	[thread overview]
Message-ID: <20250814-james-nxp-lpspi-v1-4-9586d7815d14@linaro.org> (raw)
In-Reply-To: <20250814-james-nxp-lpspi-v1-0-9586d7815d14@linaro.org>

From: Larisa Grigore <larisa.grigore@nxp.com>

Clear the error flags after disabling the module to avoid the case when
a flag is set between when the flags were just cleared, and when the
module is disabled.

Although fsl_lpspi_reset() was only introduced in commit a15dc3d657fa
("spi: lpspi: Fix CLK pin becomes low before one transfer"), the
original driver only reset SR in the interrupt handler, making it
vulnerable to the same issue. Therefore the fixes commit is set at the
introduction of the driver.

Fixes: 5314987de5e5 ("spi: imx: add lpspi bus driver")
Signed-off-by: Larisa Grigore <larisa.grigore@nxp.com>
Signed-off-by: Ciprian Marian Costea <ciprianmarian.costea@nxp.com>
Signed-off-by: James Clark <james.clark@linaro.org>
---
 drivers/spi/spi-fsl-lpspi.c | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/drivers/spi/spi-fsl-lpspi.c b/drivers/spi/spi-fsl-lpspi.c
index aab92ee7eb94..79b170426bee 100644
--- a/drivers/spi/spi-fsl-lpspi.c
+++ b/drivers/spi/spi-fsl-lpspi.c
@@ -82,6 +82,8 @@
 #define TCR_RXMSK	BIT(19)
 #define TCR_TXMSK	BIT(18)
 
+#define SR_CLEAR_MASK	GENMASK(13, 8)
+
 struct fsl_lpspi_devtype_data {
 	u8 prescale_max;
 };
@@ -536,14 +538,13 @@ static int fsl_lpspi_reset(struct fsl_lpspi_data *fsl_lpspi)
 		fsl_lpspi_intctrl(fsl_lpspi, 0);
 	}
 
-	/* W1C for all flags in SR */
-	temp = 0x3F << 8;
-	writel(temp, fsl_lpspi->base + IMX7ULP_SR);
-
 	/* Clear FIFO and disable module */
 	temp = CR_RRF | CR_RTF;
 	writel(temp, fsl_lpspi->base + IMX7ULP_CR);
 
+	/* W1C for all flags in SR */
+	writel(SR_CLEAR_MASK, fsl_lpspi->base + IMX7ULP_SR);
+
 	return 0;
 }
 

-- 
2.34.1


  parent reply	other threads:[~2025-08-14 16:07 UTC|newest]

Thread overview: 51+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-08-14 16:06 [PATCH 00/13] spi: spi-fsl-lpspi: Generic fixes and support for S32G devices James Clark
2025-08-14 16:06 ` [PATCH 01/13] spi: spi-fsl-lpspi: Fix transmissions when using CONT James Clark
2025-08-14 16:06 ` [PATCH 02/13] spi: spi-fsl-lpspi: Set correct chip-select polarity bit James Clark
2025-08-14 16:49   ` Frank Li
2025-08-18 13:05     ` James Clark
2025-08-18 15:19       ` Frank Li
2025-08-19  8:21         ` James Clark
2025-08-19 14:11           ` Frank Li
2025-08-15  3:37   ` kernel test robot
2025-08-14 16:06 ` [PATCH 03/13] spi: spi-fsl-lpspi: Reset FIFO and disable module on transfer abort James Clark
2025-08-14 16:51   ` Frank Li
2025-08-18 13:17     ` James Clark
2025-08-14 16:06 ` James Clark [this message]
2025-08-14 16:58   ` [PATCH 04/13] spi: spi-fsl-lpspi: Clear status register after disabling the module Frank Li
2025-08-18 13:21     ` James Clark
2025-08-14 16:06 ` [PATCH 05/13] spi: spi-fsl-lpspi: Enumerate all pin configuration definitions James Clark
2025-08-14 18:10   ` Frank Li
2025-08-18 13:48     ` James Clark
2025-08-14 16:06 ` [PATCH 06/13] spi: spi-fsl-lpspi: Add DT property to override default pin config James Clark
2025-08-14 16:06 ` [PATCH 07/13] spi: spi-fsl-lpspi: Constify devtype datas James Clark
2025-08-14 18:38   ` Frank Li
2025-08-18 13:50     ` James Clark
2025-08-14 16:06 ` [PATCH 08/13] spi: spi-fsl-lpspi: Make prescale erratum a bool James Clark
2025-08-14 18:36   ` Frank Li
2025-08-18 13:54     ` James Clark
2025-08-14 16:06 ` [PATCH 09/13] spi: spi-fsl-lpspi: Parameterize reading num-cs from hardware James Clark
2025-08-14 18:31   ` Frank Li
2025-08-18 14:22     ` James Clark
2025-08-14 16:06 ` [PATCH 10/13] spi: spi-fsl-lpspi: Add compatible for S32G James Clark
2025-08-14 18:25   ` Frank Li
2025-08-18 14:31     ` James Clark
2025-08-18 15:18       ` Mark Brown
2025-08-19  8:23         ` James Clark
2025-08-18 15:28       ` Frank Li
2025-08-14 16:06 ` [PATCH 11/13] dt-bindings: lpspi: Update maximum num-cs value James Clark
2025-08-14 18:28   ` Frank Li
2025-08-18 13:31     ` James Clark
2025-08-14 20:59   ` Rob Herring
2025-08-18 12:49     ` James Clark
2025-08-14 16:06 ` [PATCH 12/13] dt-bindings: lpspi: Document nxp,lpspi-pincfg property James Clark
2025-08-14 18:19   ` Frank Li
2025-08-18 14:47     ` James Clark
2025-08-18 15:39       ` Frank Li
2025-08-19  9:51         ` James Clark
2025-08-19 14:08           ` Frank Li
2025-08-19  9:52         ` James Clark
2025-08-14 16:06 ` [PATCH 13/13] dt-bindings: lpspi: Document support for S32G James Clark
2025-08-14 18:23   ` Frank Li
2025-08-18 15:00     ` James Clark
2025-08-14 16:40 ` [PATCH 00/13] spi: spi-fsl-lpspi: Generic fixes and support for S32G devices Frank Li
2025-08-14 18:35   ` Mark Brown

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20250814-james-nxp-lpspi-v1-4-9586d7815d14@linaro.org \
    --to=james.clark@linaro.org \
    --cc=B38611@freescale.com \
    --cc=Frank.Li@nxp.com \
    --cc=broonie@kernel.org \
    --cc=ciprianmarian.costea@nxp.com \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=festevam@gmail.com \
    --cc=fugang.duan@nxp.com \
    --cc=ghennadi.procopciuc@nxp.com \
    --cc=imx@lists.linux.dev \
    --cc=krzk+dt@kernel.org \
    --cc=larisa.grigore@nxp.com \
    --cc=larisa.grigore@oss.nxp.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-spi@vger.kernel.org \
    --cc=pandy.gao@nxp.com \
    --cc=robh@kernel.org \
    --cc=s.hauer@pengutronix.de \
    --cc=s32@nxp.com \
    --cc=shawnguo@kernel.org \
    --cc=xiaoning.wang@nxp.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).