Skip to content

Commit 3109e5a

Browse files
Michael Schmitzmartinkpetersen
authored andcommitted
scsi: zorro_esp: New driver for Amiga Zorro NCR53C9x boards
New combined SCSI driver for all ESP based Zorro SCSI boards for m68k Amiga. Code largely based on board specific parts of the old drivers (blz1230.c, blz2060.c, cyberstorm.c, cyberstormII.c, fastlane.c which were removed after the 2.6 kernel series for lack of maintenance) with contributions by Tuomas Vainikka (TCQ bug tests and workaround) and Finn Thain (TCQ bugfix by use of PIO in extended message in transfer). New Kconfig option and Makefile entries for new Amiga Zorro ESP SCSI driver included in this patch. Use DMA transfers wherever possible, with board-specific DMA set-up functions copied from the old driver code. Three byte reselection messages do appear to cause DMA timeouts. So wire up a PIO transfer routine for these instead. esp_reselect_with_tag explicitly sets esp->cmd_block_dma as target address for the message bytes but PIO requires a virtual address. Substiute kernel virtual address esp->cmd_block in PIO transfer call if DMA address is esp->cmd_block_dma and phase is message in. PIO code taken from mac_esp.c where the reselection timeout issue was debugged and fixed first, with minor macro and function rename. Signed-off-by: Michael Schmitz <[email protected]> Reviewed-by: Finn Thain <[email protected]> Reviewed-by: Christoph Hellwig <[email protected]> Tested-by: Christian T. Steigies <[email protected]> Tested-by: John Paul Adrian Glaubitz <[email protected]> Signed-off-by: Martin K. Petersen <[email protected]>
1 parent 37b37d2 commit 3109e5a

File tree

3 files changed

+1187
-0
lines changed

3 files changed

+1187
-0
lines changed

drivers/scsi/Kconfig

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1351,6 +1351,20 @@ config SCSI_ZORRO7XX
13511351
accelerator card for the Amiga 1200,
13521352
- the SCSI controller on the GVP Turbo 040/060 accelerator.
13531353

1354+
config SCSI_ZORRO_ESP
1355+
tristate "Zorro ESP SCSI support"
1356+
depends on ZORRO && SCSI
1357+
select SCSI_SPI_ATTRS
1358+
help
1359+
Support for various NCR53C9x (ESP) based SCSI controllers on Zorro
1360+
expansion boards for the Amiga.
1361+
This includes:
1362+
- the Phase5 Blizzard 1230 II and IV SCSI controllers,
1363+
- the Phase5 Blizzard 2060 SCSI controller,
1364+
- the Phase5 Blizzard Cyberstorm and Cyberstorm II SCSI
1365+
controllers,
1366+
- the Fastlane Zorro III SCSI controller.
1367+
13541368
config ATARI_SCSI
13551369
tristate "Atari native SCSI support"
13561370
depends on ATARI && SCSI

drivers/scsi/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@ obj-$(CONFIG_INFINIBAND_ISER) += libiscsi.o
4848
obj-$(CONFIG_ISCSI_BOOT_SYSFS) += iscsi_boot_sysfs.o
4949
obj-$(CONFIG_SCSI_A4000T) += 53c700.o a4000t.o
5050
obj-$(CONFIG_SCSI_ZORRO7XX) += 53c700.o zorro7xx.o
51+
obj-$(CONFIG_SCSI_ZORRO_ESP) += esp_scsi.o zorro_esp.o
5152
obj-$(CONFIG_A3000_SCSI) += a3000.o wd33c93.o
5253
obj-$(CONFIG_A2091_SCSI) += a2091.o wd33c93.o
5354
obj-$(CONFIG_GVP11_SCSI) += gvp11.o wd33c93.o

0 commit comments

Comments
 (0)