Commit 8cda3ec
dmaengine: pl330: Return DMA_PAUSED when transaction is paused
pl330_pause() does not set anything to indicate paused condition which
causes pl330_tx_status() to return DMA_IN_PROGRESS. This breaks 8250
DMA flush after the fix in commit 57e9af7 ("serial: 8250_dma: Fix
DMA Rx rearm race"). The function comment for pl330_pause() claims
pause is supported but resume is not which is enough for 8250 DMA flush
to work as long as DMA status reports DMA_PAUSED when appropriate.
Add PAUSED state for descriptor and mark BUSY descriptors with PAUSED
in pl330_pause(). Return DMA_PAUSED from pl330_tx_status() when the
descriptor is PAUSED.
Reported-by: Richard Tresidder <rtresidd@electromag.com.au>
Tested-by: Richard Tresidder <rtresidd@electromag.com.au>
Fixes: 88987d2 ("dmaengine: pl330: add DMA_PAUSE feature")
Cc: stable@vger.kernel.org
Link: https://lore.kernel.org/linux-serial/f8a86ecd-64b1-573f-c2fa-59f541083f1a@electromag.com.au/
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Link: https://lore.kernel.org/r/20230526105434.14959-1-ilpo.jarvinen@linux.intel.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>1 parent e2dcbc3 commit 8cda3ec
1 file changed
Lines changed: 16 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
403 | 403 | | |
404 | 404 | | |
405 | 405 | | |
| 406 | + | |
| 407 | + | |
| 408 | + | |
| 409 | + | |
| 410 | + | |
| 411 | + | |
406 | 412 | | |
407 | 413 | | |
408 | 414 | | |
| |||
2041 | 2047 | | |
2042 | 2048 | | |
2043 | 2049 | | |
2044 | | - | |
| 2050 | + | |
2045 | 2051 | | |
2046 | 2052 | | |
2047 | 2053 | | |
| |||
2326 | 2332 | | |
2327 | 2333 | | |
2328 | 2334 | | |
| 2335 | + | |
2329 | 2336 | | |
2330 | 2337 | | |
2331 | 2338 | | |
| |||
2335 | 2342 | | |
2336 | 2343 | | |
2337 | 2344 | | |
| 2345 | + | |
| 2346 | + | |
| 2347 | + | |
| 2348 | + | |
2338 | 2349 | | |
2339 | 2350 | | |
2340 | 2351 | | |
| |||
2425 | 2436 | | |
2426 | 2437 | | |
2427 | 2438 | | |
2428 | | - | |
| 2439 | + | |
2429 | 2440 | | |
2430 | 2441 | | |
2431 | 2442 | | |
| |||
2442 | 2453 | | |
2443 | 2454 | | |
2444 | 2455 | | |
| 2456 | + | |
| 2457 | + | |
| 2458 | + | |
2445 | 2459 | | |
2446 | 2460 | | |
2447 | 2461 | | |
| |||
0 commit comments