[PATCH] scsi: mvme16x: enable 53c710 burst-8 hardware transfer mode
From: Denis Ahrens
Date: Mon Oct 26 2026 - 05:57:55 EST
The shared 53c700.c backend runs the 53c710 with burst mode disabled
when hostdata->burst_length is left unset: NCR_700_chip_setup() falls
through to BURST_DISABLE in CTEST7 and a 1-byte burst length in
DMODE_710_REG, so the chip delivers one byte per transfer period.
The other 53c710 hosts in-tree already use it: sim710 and lasi700 pick
burst 8, sni_53c710 burst 4.
A/B verified on an MVME177 (53c710 rev 2, ZuluSCSI drives):
raw reads 16 MiB @64k 4.7/4.8/5.1 -> 5.8/6.1/6.7 MB/s (+23..26%)
4 MiB @16k 3.4 -> 4.4 MB/s
4 MiB @4k 3.2 -> 3.9 MB/s
4 MiB @512B 2.1 -> 2.2 MB/s (small-buffer case is SCSI
command-count bound; burst only raises bytes
per command, not commands)
writes unchanged (filesystem-bound, not ASIC-bound)
Integrity: a 16 MiB /dev/urandom payload round-trips bit-exact on a
cold read (sync + drop_caches, md5 verified write vs read); dmesg
clean with no timeouts, sense errors, retries or resets.
Signed-off-by: Denis Ahrens <denis@xxxxxxx>
---
drivers/scsi/mvme16x_scsi.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/scsi/mvme16x_scsi.c b/drivers/scsi/mvme16x_scsi.c
index f4db93c13986..ff6b22c864a9 100644
--- a/drivers/scsi/mvme16x_scsi.c
+++ b/drivers/scsi/mvme16x_scsi.c
@@ -60,6 +60,7 @@ static int mvme16x_probe(struct platform_device *dev)
hostdata->base = (void __iomem *)0xfff47000UL;
hostdata->clock = 50; /* XXX - depends on the CPU clock! */
hostdata->chip710 = 1;
+ hostdata->burst_length = 8;
hostdata->dmode_extra = DMODE_FC2;
hostdata->dcntl_extra = EA_710;
hostdata->ctest7_extra = CTEST7_TT1;
base-commit: c03c1a14507dfaf8b856c2608f9ac216021fc222
--
2.43.0