X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=drivers%2Fscsi%2Fatari_scsi.c;h=d1c37a386947b03d080524dac5f18c244580bd08;hb=b2eb0489809cf0b824357b6fa85aab1aabe3f063;hp=045112186f84329b823df0b0568638416c653e00;hpb=e3c3da67340ac7d1d2f630f319eb718474b0d9c3;p=firefly-linux-kernel-4.4.55.git diff --git a/drivers/scsi/atari_scsi.c b/drivers/scsi/atari_scsi.c index 045112186f84..d1c37a386947 100644 --- a/drivers/scsi/atari_scsi.c +++ b/drivers/scsi/atari_scsi.c @@ -89,6 +89,7 @@ #define REAL_DMA #define SUPPORT_TAGS #define MAX_TAGS 32 +#define DMA_MIN_SIZE 32 #define NCR5380_implementation_fields /* none */ @@ -109,7 +110,7 @@ #define NCR5380_dma_xfer_len(instance, cmd, phase) \ atari_dma_xfer_len(cmd->SCp.this_residual, cmd, !((phase) & SR_IO)) -#define NCR5380_acquire_dma_irq(instance) falcon_get_lock() +#define NCR5380_acquire_dma_irq(instance) falcon_get_lock(instance) #define NCR5380_release_dma_irq(instance) falcon_release_lock() #include "NCR5380.h" @@ -467,15 +468,15 @@ static void falcon_release_lock(void) * command immediately but tell the SCSI mid-layer to defer. */ -static int falcon_get_lock(void) +static int falcon_get_lock(struct Scsi_Host *instance) { if (IS_A_TT()) return 1; if (in_interrupt()) - return stdma_try_lock(scsi_falcon_intr, NULL); + return stdma_try_lock(scsi_falcon_intr, instance); - stdma_lock(scsi_falcon_intr, NULL); + stdma_lock(scsi_falcon_intr, instance); return 1; } @@ -889,10 +890,6 @@ static int __init atari_scsi_probe(struct platform_device *pdev) } } -#ifdef SUPPORT_TAGS - if (setup_use_tagged_queuing < 0) - setup_use_tagged_queuing = 0; -#endif #ifdef REAL_DMA /* If running on a Falcon and if there's TT-Ram (i.e., more than one @@ -928,6 +925,10 @@ static int __init atari_scsi_probe(struct platform_device *pdev) host_flags |= IS_A_TT() ? 0 : FLAG_LATE_DMA_SETUP; +#ifdef SUPPORT_TAGS + host_flags |= setup_use_tagged_queuing > 0 ? FLAG_TAGGED_QUEUING : 0; +#endif + NCR5380_init(instance, host_flags); if (IS_A_TT()) {