linux-spi.vger.kernel.org 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>,
	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 v2 1/9] spi: spi-fsl-lpspi: Fix transmissions when using CONT
Date: Thu, 28 Aug 2025 11:14:40 +0100	[thread overview]
Message-ID: <20250828-james-nxp-lpspi-v2-1-6262b9aa9be4@linaro.org> (raw)
In-Reply-To: <20250828-james-nxp-lpspi-v2-0-6262b9aa9be4@linaro.org>

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

Commit 6a130448498c ("spi: lpspi: Fix wrong transmission when don't use
CONT") breaks transmissions when CONT is used. The TDIE interrupt should
not be disabled in all cases. If CONT is used and the TX transfer is not
yet completed yet, but the interrupt handler is called because there are
characters to be received, TDIE is replaced with FCIE. When the transfer
is finally completed, SR_TDF is set but the interrupt handler isn't
called again.

Fixes: 6a130448498c ("spi: lpspi: Fix wrong transmission when don't use CONT")
Signed-off-by: Larisa Grigore <larisa.grigore@nxp.com>
Signed-off-by: James Clark <james.clark@linaro.org>
---
 drivers/spi/spi-fsl-lpspi.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/spi/spi-fsl-lpspi.c b/drivers/spi/spi-fsl-lpspi.c
index 313e444a34f3..eaa6bade61a6 100644
--- a/drivers/spi/spi-fsl-lpspi.c
+++ b/drivers/spi/spi-fsl-lpspi.c
@@ -3,7 +3,7 @@
 // Freescale i.MX7ULP LPSPI driver
 //
 // Copyright 2016 Freescale Semiconductor, Inc.
-// Copyright 2018 NXP Semiconductors
+// Copyright 2018, 2023, 2025 NXP
 
 #include <linux/clk.h>
 #include <linux/completion.h>
@@ -785,7 +785,7 @@ static irqreturn_t fsl_lpspi_isr(int irq, void *dev_id)
 	if (temp_SR & SR_MBF ||
 	    readl(fsl_lpspi->base + IMX7ULP_FSR) & FSR_TXCOUNT) {
 		writel(SR_FCF, fsl_lpspi->base + IMX7ULP_SR);
-		fsl_lpspi_intctrl(fsl_lpspi, IER_FCIE);
+		fsl_lpspi_intctrl(fsl_lpspi, IER_FCIE | (temp_IER & IER_TDIE));
 		return IRQ_HANDLED;
 	}
 

-- 
2.34.1


  reply	other threads:[~2025-08-28 10:15 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-08-28 10:14 [PATCH v2 0/9] spi: spi-fsl-lpspi: Generic fixes and support for S32G devices James Clark
2025-08-28 10:14 ` James Clark [this message]
2025-08-29 11:38   ` [PATCH v2 1/9] spi: spi-fsl-lpspi: Fix transmissions when using CONT Mark Brown
2025-08-29 14:27     ` Frank Li
2025-08-28 10:14 ` [PATCH v2 2/9] spi: spi-fsl-lpspi: Set correct chip-select polarity bit James Clark
2025-08-28 18:09   ` Frank Li
2025-08-28 10:14 ` [PATCH v2 3/9] spi: spi-fsl-lpspi: Reset FIFO and disable module on transfer abort James Clark
2025-08-28 10:14 ` [PATCH v2 4/9] spi: spi-fsl-lpspi: Clear status register after disabling the module James Clark
2025-08-28 10:14 ` [PATCH v2 5/9] dt-bindings: lpspi: Document support for S32G James Clark
2025-08-28 18:10   ` Frank Li
2025-08-29 17:52   ` Rob Herring (Arm)
2025-08-28 10:14 ` [PATCH v2 6/9] spi: spi-fsl-lpspi: Constify devtype datas James Clark
2025-08-28 18:11   ` Frank Li
2025-08-28 10:14 ` [PATCH v2 7/9] spi: spi-fsl-lpspi: Treat prescale_max == 0 as no erratum James Clark
2025-08-28 18:13   ` Frank Li
2025-08-28 10:14 ` [PATCH v2 8/9] spi: spi-fsl-lpspi: Parameterize reading num-cs from hardware James Clark
2025-08-28 18:14   ` Frank Li
2025-08-28 10:14 ` [PATCH v2 9/9] spi: spi-fsl-lpspi: Add compatible for S32G James Clark
2025-08-28 18:15   ` Frank Li
2025-09-02  9:50 ` [PATCH v2 0/9] spi: spi-fsl-lpspi: Generic fixes and support for S32G devices 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=20250828-james-nxp-lpspi-v2-1-6262b9aa9be4@linaro.org \
    --to=james.clark@linaro.org \
    --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=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=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).