#define REAL_DMA
#define SUPPORT_TAGS
#define MAX_TAGS 32
+#define DMA_MIN_SIZE 32
#define NCR5380_implementation_fields /* none */
#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"
* 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;
}
}
}
-#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
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()) {