summaryrefslogtreecommitdiffstats
path: root/drivers/scsi/NCR5380.h
diff options
context:
space:
mode:
authorFinn Thain <fthain@telegraphics.com.au>2016-10-10 00:46:53 -0400
committerMartin K. Petersen <martin.petersen@oracle.com>2016-11-08 17:29:48 -0500
commitd5d37a0ab13b8f4ccfa58a4e852e19bcbf47ed5e (patch)
tree7b00961b69ab88a4c4d84cf151b232927d190421 /drivers/scsi/NCR5380.h
parent61e1ce588b101f13a4c6f713b95d65551c8572e3 (diff)
scsi: ncr5380: Pass hostdata pointer to register polling routines
Pass a NCR5380_hostdata struct pointer to the board-specific routines instead of a Scsi_Host struct pointer. This reduces pointer chasing in the PIO and PDMA fast paths. The old way was a mistake because it is slow and the board-specific code is not concerned with the mid-layer. Signed-off-by: Finn Thain <fthain@telegraphics.com.au> Reviewed-by: Hannes Reinecke <hare@suse.com> Tested-by: Ondrej Zary <linux@rainbow-software.org> Tested-by: Michael Schmitz <schmitzmic@gmail.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Diffstat (limited to 'drivers/scsi/NCR5380.h')
-rw-r--r--drivers/scsi/NCR5380.h6
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/scsi/NCR5380.h b/drivers/scsi/NCR5380.h
index c2d8b78d1a38..4682baab07ed 100644
--- a/drivers/scsi/NCR5380.h
+++ b/drivers/scsi/NCR5380.h
@@ -302,15 +302,15 @@ static void NCR5380_reselect(struct Scsi_Host *instance);
302static struct scsi_cmnd *NCR5380_select(struct Scsi_Host *, struct scsi_cmnd *); 302static struct scsi_cmnd *NCR5380_select(struct Scsi_Host *, struct scsi_cmnd *);
303static int NCR5380_transfer_dma(struct Scsi_Host *instance, unsigned char *phase, int *count, unsigned char **data); 303static int NCR5380_transfer_dma(struct Scsi_Host *instance, unsigned char *phase, int *count, unsigned char **data);
304static int NCR5380_transfer_pio(struct Scsi_Host *instance, unsigned char *phase, int *count, unsigned char **data); 304static int NCR5380_transfer_pio(struct Scsi_Host *instance, unsigned char *phase, int *count, unsigned char **data);
305static int NCR5380_poll_politely2(struct Scsi_Host *, 305static int NCR5380_poll_politely2(struct NCR5380_hostdata *,
306 unsigned int, u8, u8, 306 unsigned int, u8, u8,
307 unsigned int, u8, u8, unsigned long); 307 unsigned int, u8, u8, unsigned long);
308 308
309static inline int NCR5380_poll_politely(struct Scsi_Host *instance, 309static inline int NCR5380_poll_politely(struct NCR5380_hostdata *hostdata,
310 unsigned int reg, u8 bit, u8 val, 310 unsigned int reg, u8 bit, u8 val,
311 unsigned long wait) 311 unsigned long wait)
312{ 312{
313 return NCR5380_poll_politely2(instance, reg, bit, val, 313 return NCR5380_poll_politely2(hostdata, reg, bit, val,
314 reg, bit, val, wait); 314 reg, bit, val, wait);
315} 315}
316 316