Skip to content

g_NCR5380: PDMA fixes and cleanup

Finn Thain linux-scsi lkml 7 versions – Applied

Status from this message: Applied to 4.14/scsi-queue. Thank you!

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v7 Latest6 patches 3 repliesApplied
  2. v66 patches 4 repliesSuperseded
  3. v56 patches 5 repliesSuperseded
Earlier versions · 4
VersionPostedPatchesRepliesStatus
v45 patches3 repliesSuperseded
v34 patches10 repliesSuperseded
v25 patches3 repliesSuperseded
v14 patches5 repliesSuperseded

Changes in v7 from the cover letter

- Fix residual calculation for the buffer timeout case.
- Iterate after sending final 128 bytes to check for buffer timeout.
- Don't log the residual value when it is known to be zero.

Patches in v7 Applied

#Subject and filesSizeRepliesApplied
1/6g_NCR5380: Fix PDMA transfer sizedrivers/scsi/g_NCR5380.c+3 -90 replies
2/6g_NCR5380: End PDMA transfer correctly on target disconnectiondrivers/scsi/g_NCR5380.c+31 -170 replies
3/6g_NCR5380: Cleanup comments and whitespacedrivers/scsi/g_NCR5380.c+28 -330 replies
4/6g_NCR5380: Use unambiguous terminology for PDMA send and receivedrivers/scsi/g_NCR5380.c+7 -70 replies
5/6g_NCR5380: Re-work PDMA loopsdrivers/scsi/g_NCR5380.c+102 -810 replies
6/6g_NCR5380: Two DTC436 PDMA workaroundsdrivers/scsi/g_NCR5380.c+11 -20 replies

Reviews trailers per patch

None of the 6 patches has a Reviewed-by or Acked-by.

PatchOndrej Zary
SeriesT-b
1/6
2/6
3/6
4/6
5/6
6/6

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v7 thread

Cover letter [PATCH v7 0/6] g_NCR5380: PDMA fixes and cleanup

Ondrej, would you please test this new series?

Changed since v1:
- PDMA transfer residual is calculated earlier.
- End of DMA flag check is now polled (if there is any residual).

Changed since v2:
- Bail out of transfer loops when Gated IRQ gets asserted.
- Make udelay conditional on board type.
- Drop sg_tablesize patch due to performance regression.

Changed since v3:
- Add Ondrej's workaround for corrupt WRITE commands on DTC boards.
- Reset the 53c400 logic after any short PDMA transfer.
- Don't fail the transfer if the 53c400 logic got a reset.

Changed since v4:
- Bail out of transfer loops when Gated IRQ gets asserted. (Again.)
- Always call wait_for_53c80_registers() at end of transfer.
- Drain chip buffers after PDMA receive is interrupted.
- Rework residual calculation.
- Add new patch to correct DMA terminology.

Changed since v5:
- Rework residual calculation to account for on-chip buffer swap.
- Attempt to retain the disconnect/IRQ detection in the DTC436 workaround.
- Move all DTC436 workarounds to final patch.

Changed since v6:
- Fix residual calculation for the buffer timeout case.
- Iterate after sending final 128 bytes to check for buffer timeout.
- Don't log the residual value when it is known to be zero.

Finn Thain (2):
g_NCR5380: Cleanup comments and whitespace
g_NCR5380: Use unambiguous terminology for PDMA send and receive

Ondrej Zary (4):
g_NCR5380: Fix PDMA transfer size
g_NCR5380: End PDMA transfer correctly on target disconnection
g_NCR5380: Re-work PDMA loops
g_NCR5380: Two DTC436 PDMA workarounds

 drivers/scsi/g_NCR5380.c | 277 ++++++++++++++++++++++++++---------------------
 1 file changed, 155 insertions(+), 122 deletions(-)
Signature · 1 line
2.13.0