On Thu, Apr 12, 2018 at 01:53:26PM +1200, Michael Schmitz wrote: > From: Michael Schmitz <schmitz@xxxxxxxxxx> > > 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 <schmitzmic@xxxxxxxxx> > Reviewed-by: Finn Thain <fthain@xxxxxxxxxxxxxxxxxxx> > Reviewed-by: Christoph Hellwig <hch@xxxxxx> Tested-by: Christian T. Steigies <cts@xxxxxxxxxx> Christian