linux-serial.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/2] dmaengine: dw: Fix sys freeze and XFER-bit set error for UARTs
@ 2024-09-11 18:46 Serge Semin
  2024-09-11 18:46 ` [PATCH 1/2] dmaengine: dw: Prevent tx-status calling DMA-desc callback Serge Semin
                   ` (2 more replies)
  0 siblings, 3 replies; 11+ messages in thread
From: Serge Semin @ 2024-09-11 18:46 UTC (permalink / raw)
  To: Viresh Kumar, Andy Shevchenko, Andy Shevchenko, Vinod Koul
  Cc: Serge Semin, Ilpo Järvinen, Greg Kroah-Hartman, Jiri Slaby,
	dmaengine, linux-serial, linux-kernel

The main goal of the series is to fix the DW DMAC driver to be working
better with the serial 8250 device driver implementation. In particular it
was discovered that there is a random system freeze (caused by a
deadlock) and an occasional "BUG: XFER bit set, but channel not idle"
error printed to the log when the DW APB UART interface is used in
conjunction with the DW DMA controller. Although I guess the problem can
be found for any 8250 device using DW DMAC for the Tx/Rx-transfers
execution. Anyway this short series contains two patches fixing these
bugs. Please see the respective patches log for details.

Link: https://lore.kernel.org/dmaengine/20240802080756.7415-1-fancer.lancer@gmail.com/
Changelog RFC:
- Add a new patch:
  [PATCH 2/2] dmaengine: dw: Fix XFER bit set, but channel not idle error
  fixing the "XFER bit set, but channel not idle" error.
- Instead of just dropping the dwc_scan_descriptors() method invocation
  calculate the residue in the Tx-status getter.

base-commit: 8400291e289ee6b2bf9779ff1c83a291501f017b
Signed-off-by: Serge Semin <fancer.lancer@gmail.com>
Cc: "Ilpo Järvinen" <ilpo.jarvinen@linux.intel.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Jiri Slaby <jirislaby@kernel.org>
Cc: dmaengine@vger.kernel.org
Cc: linux-serial@vger.kernel.org
Cc: linux-kernel@vger.kernel.org

Serge Semin (2):
  dmaengine: dw: Prevent tx-status calling DMA-desc callback
  dmaengine: dw: Fix XFER bit set, but channel not idle error

 drivers/dma/dw/core.c | 144 ++++++++++++++++++++++--------------------
 1 file changed, 75 insertions(+), 69 deletions(-)

-- 
2.43.0


^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2024-09-20 15:04 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-09-11 18:46 [PATCH 0/2] dmaengine: dw: Fix sys freeze and XFER-bit set error for UARTs Serge Semin
2024-09-11 18:46 ` [PATCH 1/2] dmaengine: dw: Prevent tx-status calling DMA-desc callback Serge Semin
2024-09-12  5:27   ` Greg Kroah-Hartman
2024-09-13  9:25     ` Serge Semin
2024-09-11 18:46 ` [PATCH 2/2] dmaengine: dw: Fix XFER bit set, but channel not idle error Serge Semin
2024-09-12  5:27   ` Greg Kroah-Hartman
2024-09-16 13:01 ` [PATCH 0/2] dmaengine: dw: Fix sys freeze and XFER-bit set error for UARTs Andy Shevchenko
2024-09-20  9:33   ` Serge Semin
2024-09-20 14:24     ` Andy Shevchenko
2024-09-20 14:56       ` Serge Semin
2024-09-20 15:04         ` Andy Shevchenko

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).