From: "Łukasz Stelmach" <l.stelmach@samsung.com> To: Kukjin Kim <kgene@kernel.org>, Krzysztof Kozlowski <krzk@kernel.org>, Tomasz Figa <tomasz.figa@gmail.com>, Andi Shyti <andi@etezian.org>, Mark Brown <broonie@kernel.org>, linux-spi@vger.kernel.org, linux-samsung-soc@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Cc: m.szyprowski@samsung.com, b.zolnierkie@samsung.com, "Łukasz Stelmach" <l.stelmach@samsung.com> Subject: [PATCH v2 RESEND 4/9] spi: spi-s3c64xx: Report more information when errors occur Date: Thu, 1 Oct 2020 17:21:43 +0200 [thread overview] Message-ID: <20201001152148.29747-5-l.stelmach@samsung.com> (raw) In-Reply-To: <20201001152148.29747-1-l.stelmach@samsung.com> Report amount of pending data when a transfer stops due to errors. Report if DMA was used to transfer data and print the status code. Reviewed-by: Krzysztof Kozlowski <krzk@kernel.org> Signed-off-by: Łukasz Stelmach <l.stelmach@samsung.com> --- drivers/spi/spi-s3c64xx.c | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/drivers/spi/spi-s3c64xx.c b/drivers/spi/spi-s3c64xx.c index f7482f2f1e13..5be6f2484e86 100644 --- a/drivers/spi/spi-s3c64xx.c +++ b/drivers/spi/spi-s3c64xx.c @@ -731,17 +731,28 @@ static int s3c64xx_spi_transfer_one(struct spi_master *master, if (status) { dev_err(&spi->dev, - "I/O Error: rx-%d tx-%d res:rx-%c tx-%c len-%d\n", + "I/O Error: rx-%d tx-%d rx-%c tx-%c len-%d dma-%d res-(%d)\n", xfer->rx_buf ? 1 : 0, xfer->tx_buf ? 1 : 0, (sdd->state & RXBUSY) ? 'f' : 'p', (sdd->state & TXBUSY) ? 'f' : 'p', - xfer->len); + xfer->len, use_dma ? 1 : 0, status); if (use_dma) { - if (xfer->tx_buf && (sdd->state & TXBUSY)) + struct dma_tx_state s; + + if (xfer->tx_buf && (sdd->state & TXBUSY)) { + dmaengine_pause(sdd->tx_dma.ch); + dmaengine_tx_status(sdd->tx_dma.ch, sdd->tx_dma.cookie, &s); dmaengine_terminate_all(sdd->tx_dma.ch); - if (xfer->rx_buf && (sdd->state & RXBUSY)) + dev_err(&spi->dev, "TX residue: %d\n", s.residue); + + } + if (xfer->rx_buf && (sdd->state & RXBUSY)) { + dmaengine_pause(sdd->rx_dma.ch); + dmaengine_tx_status(sdd->rx_dma.ch, sdd->rx_dma.cookie, &s); dmaengine_terminate_all(sdd->rx_dma.ch); + dev_err(&spi->dev, "RX residue: %d\n", s.residue); + } } } else { s3c64xx_flush_fifo(sdd); -- 2.26.2
WARNING: multiple messages have this Message-ID (diff)
From: "Łukasz Stelmach" <l.stelmach@samsung.com> To: Kukjin Kim <kgene@kernel.org>, Krzysztof Kozlowski <krzk@kernel.org>, Tomasz Figa <tomasz.figa@gmail.com>, Andi Shyti <andi@etezian.org>, Mark Brown <broonie@kernel.org>, linux-spi@vger.kernel.org, linux-samsung-soc@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Cc: b.zolnierkie@samsung.com, "Łukasz Stelmach" <l.stelmach@samsung.com>, m.szyprowski@samsung.com Subject: [PATCH v2 RESEND 4/9] spi: spi-s3c64xx: Report more information when errors occur Date: Thu, 1 Oct 2020 17:21:43 +0200 [thread overview] Message-ID: <20201001152148.29747-5-l.stelmach@samsung.com> (raw) In-Reply-To: <20201001152148.29747-1-l.stelmach@samsung.com> Report amount of pending data when a transfer stops due to errors. Report if DMA was used to transfer data and print the status code. Reviewed-by: Krzysztof Kozlowski <krzk@kernel.org> Signed-off-by: Łukasz Stelmach <l.stelmach@samsung.com> --- drivers/spi/spi-s3c64xx.c | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/drivers/spi/spi-s3c64xx.c b/drivers/spi/spi-s3c64xx.c index f7482f2f1e13..5be6f2484e86 100644 --- a/drivers/spi/spi-s3c64xx.c +++ b/drivers/spi/spi-s3c64xx.c @@ -731,17 +731,28 @@ static int s3c64xx_spi_transfer_one(struct spi_master *master, if (status) { dev_err(&spi->dev, - "I/O Error: rx-%d tx-%d res:rx-%c tx-%c len-%d\n", + "I/O Error: rx-%d tx-%d rx-%c tx-%c len-%d dma-%d res-(%d)\n", xfer->rx_buf ? 1 : 0, xfer->tx_buf ? 1 : 0, (sdd->state & RXBUSY) ? 'f' : 'p', (sdd->state & TXBUSY) ? 'f' : 'p', - xfer->len); + xfer->len, use_dma ? 1 : 0, status); if (use_dma) { - if (xfer->tx_buf && (sdd->state & TXBUSY)) + struct dma_tx_state s; + + if (xfer->tx_buf && (sdd->state & TXBUSY)) { + dmaengine_pause(sdd->tx_dma.ch); + dmaengine_tx_status(sdd->tx_dma.ch, sdd->tx_dma.cookie, &s); dmaengine_terminate_all(sdd->tx_dma.ch); - if (xfer->rx_buf && (sdd->state & RXBUSY)) + dev_err(&spi->dev, "TX residue: %d\n", s.residue); + + } + if (xfer->rx_buf && (sdd->state & RXBUSY)) { + dmaengine_pause(sdd->rx_dma.ch); + dmaengine_tx_status(sdd->rx_dma.ch, sdd->rx_dma.cookie, &s); dmaengine_terminate_all(sdd->rx_dma.ch); + dev_err(&spi->dev, "RX residue: %d\n", s.residue); + } } } else { s3c64xx_flush_fifo(sdd); -- 2.26.2 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2020-10-01 15:23 UTC|newest] Thread overview: 100+ messages / expand[flat|nested] mbox.gz Atom feed top [not found] <CGME20200821161404eucas1p20577160d1bff2e8f5cae7403e93716ab@eucas1p2.samsung.com> 2020-08-21 16:13 ` [PATCH v2 0/9] Some fixes for spi-s3c64xx Łukasz Stelmach 2020-08-21 16:13 ` Łukasz Stelmach [not found] ` <CGME20200821161405eucas1p1d43a5970c6a26389cd506aab5f986bc8@eucas1p1.samsung.com> 2020-08-21 16:13 ` [PATCH v2 1/9] spi: spi-s3c64xx: swap s3c64xx_spi_set_cs() and s3c64xx_enable_datapath() Łukasz Stelmach 2020-08-21 16:13 ` Łukasz Stelmach 2020-08-22 12:01 ` Krzysztof Kozlowski 2020-08-22 12:01 ` Krzysztof Kozlowski [not found] ` <CGME20200821161405eucas1p20aad659cd41bc4f56d5123d3c63394f0@eucas1p2.samsung.com> 2020-08-21 16:13 ` [PATCH v2 2/9] spi: spi-s3s64xx: Add S3C64XX_SPI_QUIRK_CS_AUTO for Exynos3250 Łukasz Stelmach 2020-08-21 16:13 ` Łukasz Stelmach 2020-08-22 12:02 ` Krzysztof Kozlowski 2020-08-22 12:02 ` Krzysztof Kozlowski [not found] ` <CGME20200821161405eucas1p19280babcd73926b5c22a48830f5fecd7@eucas1p1.samsung.com> 2020-08-21 16:13 ` [PATCH v2 3/9] spi: spi-s3c64xx: Report more information when errors occur Łukasz Stelmach 2020-08-21 16:13 ` Łukasz Stelmach 2020-08-22 12:03 ` Krzysztof Kozlowski 2020-08-22 12:03 ` Krzysztof Kozlowski [not found] ` <CGME20200821161406eucas1p2be3221183a855afd0213f8ce58bd8942@eucas1p2.samsung.com> 2020-08-21 16:13 ` [PATCH v2 4/9] spi: spi-s3c64xx: Rename S3C64XX_SPI_SLAVE_* to S3C64XX_SPI_CS_* Łukasz Stelmach 2020-08-21 16:13 ` Łukasz Stelmach [not found] ` <CGME20200821161406eucas1p121553719d4e9cc020d2c557a69000f0c@eucas1p1.samsung.com> 2020-08-21 16:13 ` [PATCH v2 5/9] spi: spi-s3c64xx: Fix doc comment for struct s3c64xx_spi_driver_data Łukasz Stelmach 2020-08-21 16:13 ` Łukasz Stelmach 2020-08-22 12:26 ` Krzysztof Kozlowski 2020-08-22 12:26 ` Krzysztof Kozlowski [not found] ` <CGME20200821161407eucas1p116af63a668bdbb75fa974589e5f6139f@eucas1p1.samsung.com> 2020-08-21 16:13 ` [PATCH v2 6/9] spi: spi-s3c64xx: Check return values Łukasz Stelmach 2020-08-21 16:13 ` Łukasz Stelmach 2020-08-22 12:37 ` Krzysztof Kozlowski 2020-08-22 12:37 ` Krzysztof Kozlowski 2020-08-25 19:06 ` Sylwester Nawrocki 2020-08-25 19:06 ` Sylwester Nawrocki [not found] ` <CGME20200901152113eucas1p2977046b7a5b4c5a519f88870d658698a@eucas1p2.samsung.com> 2020-09-01 15:21 ` Lukasz Stelmach 2020-09-01 15:21 ` Lukasz Stelmach 2020-09-02 8:14 ` Sylwester Nawrocki 2020-09-02 8:14 ` Sylwester Nawrocki [not found] ` <CGME20200903084555eucas1p2f40375edb325107b68966fd52198b220@eucas1p2.samsung.com> 2020-09-03 8:45 ` Lukasz Stelmach 2020-09-03 8:45 ` Lukasz Stelmach 2020-09-03 11:18 ` Sylwester Nawrocki 2020-09-03 11:18 ` Sylwester Nawrocki [not found] ` <CGME20200821161407eucas1p249e4833b8839f717cc2a496ab43bb8a2@eucas1p2.samsung.com> 2020-08-21 16:13 ` [PATCH v2 7/9] spi: spi-s3c64xx: Ensure cur_speed holds actual clock value Łukasz Stelmach 2020-08-21 16:13 ` Łukasz Stelmach 2020-08-22 12:43 ` Krzysztof Kozlowski 2020-08-22 12:43 ` Krzysztof Kozlowski 2020-08-22 14:52 ` Tomasz Figa 2020-08-22 14:52 ` Tomasz Figa 2020-08-22 15:18 ` Krzysztof Kozlowski 2020-08-22 15:18 ` Krzysztof Kozlowski 2020-08-22 15:20 ` Tomasz Figa 2020-08-22 15:20 ` Tomasz Figa [not found] ` <CGME20200824131716eucas1p16a3fde52aa765e7cd6584d4733762047@eucas1p1.samsung.com> 2020-08-24 13:17 ` Lukasz Stelmach 2020-08-24 13:17 ` Lukasz Stelmach 2020-08-24 13:21 ` Tomasz Figa 2020-08-24 13:21 ` Tomasz Figa [not found] ` <CGME20200825090211eucas1p1b63191fa778a775e33169ba2c1d3b74b@eucas1p1.samsung.com> 2020-08-25 9:01 ` Lukasz Stelmach 2020-08-25 9:01 ` Lukasz Stelmach 2020-08-25 15:11 ` Tomasz Figa 2020-08-25 15:11 ` Tomasz Figa [not found] ` <CGME20200825154611eucas1p284be8779ab484e675af071afef28376b@eucas1p2.samsung.com> 2020-08-25 15:45 ` Lukasz Stelmach 2020-08-25 15:45 ` Lukasz Stelmach 2020-08-22 14:54 ` Tomasz Figa 2020-08-22 14:54 ` Tomasz Figa [not found] ` <CGME20200821161407eucas1p23a283ac117d4381e087e9bacec537665@eucas1p2.samsung.com> 2020-08-21 16:14 ` [PATCH v2 8/9] spi: spi-s3c64xx: Increase transfer timeout Łukasz Stelmach 2020-08-21 16:14 ` Łukasz Stelmach 2020-08-22 12:43 ` Krzysztof Kozlowski 2020-08-22 12:43 ` Krzysztof Kozlowski [not found] ` <CGME20200821161408eucas1p196aa4b954b3d19ad1b89a48dbbe41fbc@eucas1p1.samsung.com> 2020-08-21 16:14 ` [PATCH v2 9/9] spi: spi-s3c64xx: Turn on interrupts upon resume Łukasz Stelmach 2020-08-21 16:14 ` Łukasz Stelmach 2020-08-22 12:44 ` Krzysztof Kozlowski 2020-08-22 12:44 ` Krzysztof Kozlowski [not found] ` <CGME20201001152246eucas1p1ee289b8a85b707f7496355c081623796@eucas1p1.samsung.com> 2020-10-01 15:21 ` [PATCH v2 RESEND 0/9] Some fixes for spi-s3c64xx Łukasz Stelmach 2020-10-01 15:21 ` Łukasz Stelmach [not found] ` <CGME20201001152246eucas1p1b4155ab4f06a39cc88f205b4a7cd47f9@eucas1p1.samsung.com> 2020-10-01 15:21 ` [PATCH v2 RESEND 1/9] spi: spi-s3c64xx: swap s3c64xx_spi_set_cs() and s3c64xx_enable_datapath() Łukasz Stelmach 2020-10-01 15:21 ` Łukasz Stelmach [not found] ` <CGME20201001152246eucas1p2fb22ab55c276d76c4508142842c90ab8@eucas1p2.samsung.com> 2020-10-01 15:21 ` [PATCH v2 RESEND 2/9] spi: spi-s3s64xx: Add S3C64XX_SPI_QUIRK_CS_AUTO for Exynos3250 Łukasz Stelmach 2020-10-01 15:21 ` Łukasz Stelmach 2020-10-01 19:04 ` Krzysztof Kozlowski 2020-10-01 19:04 ` Krzysztof Kozlowski [not found] ` <CGME20201002101408eucas1p121c21cde5e644992078978d9bf1c5194@eucas1p1.samsung.com> 2020-10-02 10:13 ` Lukasz Stelmach 2020-10-02 10:13 ` Lukasz Stelmach [not found] ` <CGME20201001152247eucas1p2b6b1cc61b9b175b0a621609cd58effbd@eucas1p2.samsung.com> 2020-10-01 15:21 ` [PATCH v2 RESEND 3/9] spi: spi-s3c64xx: Check return values Łukasz Stelmach 2020-10-01 15:21 ` Łukasz Stelmach [not found] ` <CGME20201001152247eucas1p2afff5b5b73f78d7c5111ac1c800e718a@eucas1p2.samsung.com> 2020-10-01 15:21 ` Łukasz Stelmach [this message] 2020-10-01 15:21 ` [PATCH v2 RESEND 4/9] spi: spi-s3c64xx: Report more information when errors occur Łukasz Stelmach [not found] ` <CGME20201001152248eucas1p10219600aaa0df6e030d2493b2aefbe92@eucas1p1.samsung.com> 2020-10-01 15:21 ` [PATCH v2 RESEND 5/9] spi: spi-s3c64xx: Rename S3C64XX_SPI_SLAVE_* to S3C64XX_SPI_CS_* Łukasz Stelmach 2020-10-01 15:21 ` Łukasz Stelmach [not found] ` <CGME20201001152248eucas1p12f71c21a5873b6360e4b38efebb50271@eucas1p1.samsung.com> 2020-10-01 15:21 ` [PATCH v2 RESEND 6/9] spi: spi-s3c64xx: Fix doc comment for struct s3c64xx_spi_driver_data Łukasz Stelmach 2020-10-01 15:21 ` Łukasz Stelmach [not found] ` <CGME20201001152248eucas1p132a63f588f62d902879322ebadd67173@eucas1p1.samsung.com> 2020-10-01 15:21 ` [PATCH v2 RESEND 7/9] spi: spi-s3c64xx: Ensure cur_speed holds actual clock value Łukasz Stelmach 2020-10-01 15:21 ` Łukasz Stelmach 2020-10-01 19:12 ` Krzysztof Kozlowski 2020-10-01 19:12 ` Krzysztof Kozlowski [not found] ` <CGME20201001152249eucas1p1c3bbe7b2a677affe4e1a1e4d469f94c8@eucas1p1.samsung.com> 2020-10-01 15:21 ` [PATCH v2 RESEND 8/9] spi: spi-s3c64xx: Increase transfer timeout Łukasz Stelmach 2020-10-01 15:21 ` Łukasz Stelmach [not found] ` <CGME20201001152249eucas1p165b78adf542a48b38b49cb5e00500e26@eucas1p1.samsung.com> 2020-10-01 15:21 ` [PATCH v2 RESEND 9/9] spi: spi-s3c64xx: Turn on interrupts upon resume Łukasz Stelmach 2020-10-01 15:21 ` Łukasz Stelmach 2020-10-01 16:13 ` [PATCH v2 RESEND 0/9] Some fixes for spi-s3c64xx Mark Brown 2020-10-01 16:13 ` Mark Brown [not found] ` <CGME20201001182315eucas1p1b1fc9d5d0ea91db6e56e92d5cf2583e5@eucas1p1.samsung.com> 2020-10-01 18:23 ` Lukasz Stelmach 2020-10-01 18:23 ` Lukasz Stelmach 2020-10-01 19:02 ` Krzysztof Kozlowski 2020-10-01 19:02 ` Krzysztof Kozlowski 2020-10-01 19:43 ` Mark Brown 2020-10-01 19:43 ` Mark Brown 2020-10-02 6:18 ` Krzysztof Kozlowski 2020-10-02 6:18 ` Krzysztof Kozlowski
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=20201001152148.29747-5-l.stelmach@samsung.com \ --to=l.stelmach@samsung.com \ --cc=andi@etezian.org \ --cc=b.zolnierkie@samsung.com \ --cc=broonie@kernel.org \ --cc=kgene@kernel.org \ --cc=krzk@kernel.org \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-samsung-soc@vger.kernel.org \ --cc=linux-spi@vger.kernel.org \ --cc=m.szyprowski@samsung.com \ --cc=tomasz.figa@gmail.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: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.