1. 19 Apr, 2018 1 commit
    • Michael Schmitz's avatar
      scsi: zorro_esp: New driver for Amiga Zorro NCR53C9x boards · 3109e5ae
      Michael Schmitz authored
      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: default avatarMichael Schmitz <schmitzmic@gmail.com>
      Reviewed-by: default avatarFinn Thain <fthain@telegraphics.com.au>
      Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
      Tested-by: default avatarChristian T. Steigies <cts@debian.org>
      Tested-by: default avatarJohn Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
      Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
      3109e5ae
  2. 18 Apr, 2018 39 commits