ncr5380: Remove REAL_DMA and REAL_DMA_POLL macros
For the NCR5380.c core driver, these macros are never used. If REAL_DMA were to be defined, compilation would fail. For the atari_NCR5380.c core driver, REAL_DMA is always defined. Hence these macros are pointless. Signed-off-by: Finn Thain <fthain@telegraphics.com.au> Reviewed-by: Hannes Reinecke <hare@suse.com> Tested-by: Michael Schmitz <schmitzmic@gmail.com> Tested-by: Ondrej Zary <linux@rainbow-software.org> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
This commit is contained in:
committed by
Martin K. Petersen
parent
7e9ec8d9cc
commit
e4dec6806a
@@ -239,9 +239,7 @@ struct NCR5380_hostdata {
|
||||
struct Scsi_Host *host; /* Host backpointer */
|
||||
unsigned char id_mask, id_higher_mask; /* 1 << id, all bits greater */
|
||||
unsigned char busy[8]; /* index = target, bit = lun */
|
||||
#if defined(REAL_DMA) || defined(REAL_DMA_POLL)
|
||||
int dma_len; /* requested length of DMA */
|
||||
#endif
|
||||
unsigned char last_message; /* last message OUT */
|
||||
struct scsi_cmnd *connected; /* currently connected cmnd */
|
||||
struct scsi_cmnd *selecting; /* cmnd to be connected */
|
||||
@@ -319,118 +317,8 @@ static void NCR5380_main(struct work_struct *work);
|
||||
static const char *NCR5380_info(struct Scsi_Host *instance);
|
||||
static void NCR5380_reselect(struct Scsi_Host *instance);
|
||||
static struct scsi_cmnd *NCR5380_select(struct Scsi_Host *, struct scsi_cmnd *);
|
||||
#if defined(PSEUDO_DMA) || defined(REAL_DMA) || defined(REAL_DMA_POLL)
|
||||
static int NCR5380_transfer_dma(struct Scsi_Host *instance, unsigned char *phase, int *count, unsigned char **data);
|
||||
#endif
|
||||
static int NCR5380_transfer_pio(struct Scsi_Host *instance, unsigned char *phase, int *count, unsigned char **data);
|
||||
|
||||
#if (defined(REAL_DMA) || defined(REAL_DMA_POLL))
|
||||
|
||||
#if defined(i386) || defined(__alpha__)
|
||||
|
||||
/**
|
||||
* NCR5380_pc_dma_setup - setup ISA DMA
|
||||
* @instance: adapter to set up
|
||||
* @ptr: block to transfer (virtual address)
|
||||
* @count: number of bytes to transfer
|
||||
* @mode: DMA controller mode to use
|
||||
*
|
||||
* Program the DMA controller ready to perform an ISA DMA transfer
|
||||
* on this chip.
|
||||
*
|
||||
* Locks: takes and releases the ISA DMA lock.
|
||||
*/
|
||||
|
||||
static __inline__ int NCR5380_pc_dma_setup(struct Scsi_Host *instance, unsigned char *ptr, unsigned int count, unsigned char mode)
|
||||
{
|
||||
unsigned limit;
|
||||
unsigned long bus_addr = virt_to_bus(ptr);
|
||||
unsigned long flags;
|
||||
|
||||
if (instance->dma_channel <= 3) {
|
||||
if (count > 65536)
|
||||
count = 65536;
|
||||
limit = 65536 - (bus_addr & 0xFFFF);
|
||||
} else {
|
||||
if (count > 65536 * 2)
|
||||
count = 65536 * 2;
|
||||
limit = 65536 * 2 - (bus_addr & 0x1FFFF);
|
||||
}
|
||||
|
||||
if (count > limit)
|
||||
count = limit;
|
||||
|
||||
if ((count & 1) || (bus_addr & 1))
|
||||
panic("scsi%d : attempted unaligned DMA transfer\n", instance->host_no);
|
||||
|
||||
flags=claim_dma_lock();
|
||||
disable_dma(instance->dma_channel);
|
||||
clear_dma_ff(instance->dma_channel);
|
||||
set_dma_addr(instance->dma_channel, bus_addr);
|
||||
set_dma_count(instance->dma_channel, count);
|
||||
set_dma_mode(instance->dma_channel, mode);
|
||||
enable_dma(instance->dma_channel);
|
||||
release_dma_lock(flags);
|
||||
|
||||
return count;
|
||||
}
|
||||
|
||||
/**
|
||||
* NCR5380_pc_dma_write_setup - setup ISA DMA write
|
||||
* @instance: adapter to set up
|
||||
* @ptr: block to transfer (virtual address)
|
||||
* @count: number of bytes to transfer
|
||||
*
|
||||
* Program the DMA controller ready to perform an ISA DMA write to the
|
||||
* SCSI controller.
|
||||
*
|
||||
* Locks: called routines take and release the ISA DMA lock.
|
||||
*/
|
||||
|
||||
static __inline__ int NCR5380_pc_dma_write_setup(struct Scsi_Host *instance, unsigned char *src, unsigned int count)
|
||||
{
|
||||
return NCR5380_pc_dma_setup(instance, src, count, DMA_MODE_WRITE);
|
||||
}
|
||||
|
||||
/**
|
||||
* NCR5380_pc_dma_read_setup - setup ISA DMA read
|
||||
* @instance: adapter to set up
|
||||
* @ptr: block to transfer (virtual address)
|
||||
* @count: number of bytes to transfer
|
||||
*
|
||||
* Program the DMA controller ready to perform an ISA DMA read from the
|
||||
* SCSI controller.
|
||||
*
|
||||
* Locks: called routines take and release the ISA DMA lock.
|
||||
*/
|
||||
|
||||
static __inline__ int NCR5380_pc_dma_read_setup(struct Scsi_Host *instance, unsigned char *src, unsigned int count)
|
||||
{
|
||||
return NCR5380_pc_dma_setup(instance, src, count, DMA_MODE_READ);
|
||||
}
|
||||
|
||||
/**
|
||||
* NCR5380_pc_dma_residual - return bytes left
|
||||
* @instance: adapter
|
||||
*
|
||||
* Reports the number of bytes left over after the DMA was terminated.
|
||||
*
|
||||
* Locks: takes and releases the ISA DMA lock.
|
||||
*/
|
||||
|
||||
static __inline__ int NCR5380_pc_dma_residual(struct Scsi_Host *instance)
|
||||
{
|
||||
unsigned long flags;
|
||||
int tmp;
|
||||
|
||||
flags = claim_dma_lock();
|
||||
clear_dma_ff(instance->dma_channel);
|
||||
tmp = get_dma_residue(instance->dma_channel);
|
||||
release_dma_lock(flags);
|
||||
|
||||
return tmp;
|
||||
}
|
||||
#endif /* defined(i386) || defined(__alpha__) */
|
||||
#endif /* defined(REAL_DMA) */
|
||||
#endif /* __KERNEL__ */
|
||||
#endif /* NCR5380_H */
|
||||
|
||||
Reference in New Issue
Block a user