summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFinn Thain <fthain@telegraphics.com.au>2016-03-23 06:10:17 -0400
committerMartin K. Petersen <martin.petersen@oracle.com>2016-04-11 16:57:09 -0400
commit6c4b88ca59ba1a68f707f19dba1744ed19e89fce (patch)
tree0eb88c5980ec178ae214c50dae3b203567665b4f
parente5d55d1abcef09f7440e6211d5bd673baf547630 (diff)
ncr5380: Use DMA hooks for PDMA
Those wrapper drivers which use DMA define the REAL_DMA macro and those which use pseudo DMA define PSEUDO_DMA. These macros need to be removed for a number of reasons, not least of which is to have drivers share more code. Redefine the PDMA send and receive hooks as DMA setup hooks, so that the DMA code can be shared by all 5380 wrapper drivers. This will help to reunify the forked core driver. 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>
-rw-r--r--drivers/scsi/NCR5380.c10
-rw-r--r--drivers/scsi/arm/cumana_1.c10
-rw-r--r--drivers/scsi/arm/oak.c10
-rw-r--r--drivers/scsi/dmx3191d.c4
-rw-r--r--drivers/scsi/dtc.c6
-rw-r--r--drivers/scsi/dtc.h2
-rw-r--r--drivers/scsi/g_NCR5380.c10
-rw-r--r--drivers/scsi/g_NCR5380.h4
-rw-r--r--drivers/scsi/mac_scsi.c5
-rw-r--r--drivers/scsi/pas16.c14
-rw-r--r--drivers/scsi/pas16.h2
-rw-r--r--drivers/scsi/t128.c12
-rw-r--r--drivers/scsi/t128.h2
13 files changed, 50 insertions, 41 deletions
diff --git a/drivers/scsi/NCR5380.c b/drivers/scsi/NCR5380.c
index 014a01f6875f..b3e5b6b57d83 100644
--- a/drivers/scsi/NCR5380.c
+++ b/drivers/scsi/NCR5380.c
@@ -127,17 +127,11 @@
127 * specific implementation of the NCR5380 127 * specific implementation of the NCR5380
128 * 128 *
129 * Either real DMA *or* pseudo DMA may be implemented 129 * Either real DMA *or* pseudo DMA may be implemented
130 * Note that the DMA setup functions should return the number of bytes
131 * that they were able to program the controller for.
132 * 130 *
133 * NCR5380_dma_write_setup(instance, src, count) - initialize 131 * NCR5380_dma_write_setup(instance, src, count) - initialize
134 * NCR5380_dma_read_setup(instance, dst, count) - initialize 132 * NCR5380_dma_read_setup(instance, dst, count) - initialize
135 * NCR5380_dma_residual(instance); - residual count 133 * NCR5380_dma_residual(instance); - residual count
136 * 134 *
137 * PSEUDO functions :
138 * NCR5380_pwrite(instance, src, count)
139 * NCR5380_pread(instance, dst, count);
140 *
141 * The generic driver is initialized by calling NCR5380_init(instance), 135 * The generic driver is initialized by calling NCR5380_init(instance),
142 * after setting the appropriate host specific fields and ID. If the 136 * after setting the appropriate host specific fields and ID. If the
143 * driver wishes to autoprobe for an IRQ line, the NCR5380_probe_irq(instance, 137 * driver wishes to autoprobe for an IRQ line, the NCR5380_probe_irq(instance,
@@ -1511,7 +1505,7 @@ static int NCR5380_transfer_dma(struct Scsi_Host *instance,
1511 */ 1505 */
1512 1506
1513 if (p & SR_IO) { 1507 if (p & SR_IO) {
1514 foo = NCR5380_pread(instance, d, 1508 foo = NCR5380_dma_recv_setup(instance, d,
1515 hostdata->flags & FLAG_DMA_FIXUP ? c - 1 : c); 1509 hostdata->flags & FLAG_DMA_FIXUP ? c - 1 : c);
1516 if (!foo && (hostdata->flags & FLAG_DMA_FIXUP)) { 1510 if (!foo && (hostdata->flags & FLAG_DMA_FIXUP)) {
1517 /* 1511 /*
@@ -1542,7 +1536,7 @@ static int NCR5380_transfer_dma(struct Scsi_Host *instance,
1542 d[c - 1] = NCR5380_read(INPUT_DATA_REG); 1536 d[c - 1] = NCR5380_read(INPUT_DATA_REG);
1543 } 1537 }
1544 } else { 1538 } else {
1545 foo = NCR5380_pwrite(instance, d, c); 1539 foo = NCR5380_dma_send_setup(instance, d, c);
1546 if (!foo && (hostdata->flags & FLAG_DMA_FIXUP)) { 1540 if (!foo && (hostdata->flags & FLAG_DMA_FIXUP)) {
1547 /* 1541 /*
1548 * Wait for the last byte to be sent. If REQ is being asserted for 1542 * Wait for the last byte to be sent. If REQ is being asserted for
diff --git a/drivers/scsi/arm/cumana_1.c b/drivers/scsi/arm/cumana_1.c
index 6e9de19fc3c2..7bcb66893059 100644
--- a/drivers/scsi/arm/cumana_1.c
+++ b/drivers/scsi/arm/cumana_1.c
@@ -18,6 +18,8 @@
18#define NCR5380_write(reg, value) cumanascsi_write(instance, reg, value) 18#define NCR5380_write(reg, value) cumanascsi_write(instance, reg, value)
19 19
20#define NCR5380_dma_xfer_len(instance, cmd, phase) (cmd->transfersize) 20#define NCR5380_dma_xfer_len(instance, cmd, phase) (cmd->transfersize)
21#define NCR5380_dma_recv_setup cumanascsi_pread
22#define NCR5380_dma_send_setup cumanascsi_pwrite
21 23
22#define NCR5380_intr cumanascsi_intr 24#define NCR5380_intr cumanascsi_intr
23#define NCR5380_queue_command cumanascsi_queue_command 25#define NCR5380_queue_command cumanascsi_queue_command
@@ -39,8 +41,8 @@ void cumanascsi_setup(char *str, int *ints)
39#define L(v) (((v)<<16)|((v) & 0x0000ffff)) 41#define L(v) (((v)<<16)|((v) & 0x0000ffff))
40#define H(v) (((v)>>16)|((v) & 0xffff0000)) 42#define H(v) (((v)>>16)|((v) & 0xffff0000))
41 43
42static inline int 44static inline int cumanascsi_pwrite(struct Scsi_Host *host,
43NCR5380_pwrite(struct Scsi_Host *host, unsigned char *addr, int len) 45 unsigned char *addr, int len)
44{ 46{
45 unsigned long *laddr; 47 unsigned long *laddr;
46 void __iomem *dma = priv(host)->dma + 0x2000; 48 void __iomem *dma = priv(host)->dma + 0x2000;
@@ -102,8 +104,8 @@ end:
102 return len; 104 return len;
103} 105}
104 106
105static inline int 107static inline int cumanascsi_pread(struct Scsi_Host *host,
106NCR5380_pread(struct Scsi_Host *host, unsigned char *addr, int len) 108 unsigned char *addr, int len)
107{ 109{
108 unsigned long *laddr; 110 unsigned long *laddr;
109 void __iomem *dma = priv(host)->dma + 0x2000; 111 void __iomem *dma = priv(host)->dma + 0x2000;
diff --git a/drivers/scsi/arm/oak.c b/drivers/scsi/arm/oak.c
index 63abd6b248a6..5d6e0e590638 100644
--- a/drivers/scsi/arm/oak.c
+++ b/drivers/scsi/arm/oak.c
@@ -24,6 +24,8 @@
24 writeb(value, priv(instance)->base + ((reg) << 2)) 24 writeb(value, priv(instance)->base + ((reg) << 2))
25 25
26#define NCR5380_dma_xfer_len(instance, cmd, phase) (0) 26#define NCR5380_dma_xfer_len(instance, cmd, phase) (0)
27#define NCR5380_dma_recv_setup oakscsi_pread
28#define NCR5380_dma_send_setup oakscsi_pwrite
27 29
28#define NCR5380_queue_command oakscsi_queue_command 30#define NCR5380_queue_command oakscsi_queue_command
29#define NCR5380_info oakscsi_info 31#define NCR5380_info oakscsi_info
@@ -39,8 +41,8 @@
39#define STAT ((128 + 16) << 2) 41#define STAT ((128 + 16) << 2)
40#define DATA ((128 + 8) << 2) 42#define DATA ((128 + 8) << 2)
41 43
42static inline int NCR5380_pwrite(struct Scsi_Host *instance, unsigned char *addr, 44static inline int oakscsi_pwrite(struct Scsi_Host *instance,
43 int len) 45 unsigned char *addr, int len)
44{ 46{
45 void __iomem *base = priv(instance)->base; 47 void __iomem *base = priv(instance)->base;
46 48
@@ -54,8 +56,8 @@ printk("writing %p len %d\n",addr, len);
54 } 56 }
55} 57}
56 58
57static inline int NCR5380_pread(struct Scsi_Host *instance, unsigned char *addr, 59static inline int oakscsi_pread(struct Scsi_Host *instance,
58 int len) 60 unsigned char *addr, int len)
59{ 61{
60 void __iomem *base = priv(instance)->base; 62 void __iomem *base = priv(instance)->base;
61printk("reading %p len %d\n", addr, len); 63printk("reading %p len %d\n", addr, len);
diff --git a/drivers/scsi/dmx3191d.c b/drivers/scsi/dmx3191d.c
index 929bc1b618f8..4b58fa0c16fe 100644
--- a/drivers/scsi/dmx3191d.c
+++ b/drivers/scsi/dmx3191d.c
@@ -40,8 +40,8 @@
40#define NCR5380_write(reg, value) outb(value, instance->io_port + reg) 40#define NCR5380_write(reg, value) outb(value, instance->io_port + reg)
41 41
42#define NCR5380_dma_xfer_len(instance, cmd, phase) (0) 42#define NCR5380_dma_xfer_len(instance, cmd, phase) (0)
43#define NCR5380_pread(instance, dst, len) (0) 43#define NCR5380_dma_recv_setup(instance, dst, len) (0)
44#define NCR5380_pwrite(instance, src, len) (0) 44#define NCR5380_dma_send_setup(instance, src, len) (0)
45 45
46#define NCR5380_implementation_fields /* none */ 46#define NCR5380_implementation_fields /* none */
47 47
diff --git a/drivers/scsi/dtc.c b/drivers/scsi/dtc.c
index 30d3e73f70ca..df17904bbe12 100644
--- a/drivers/scsi/dtc.c
+++ b/drivers/scsi/dtc.c
@@ -322,7 +322,8 @@ static int dtc_biosparam(struct scsi_device *sdev, struct block_device *dev,
322 * timeout. 322 * timeout.
323*/ 323*/
324 324
325static inline int NCR5380_pread(struct Scsi_Host *instance, unsigned char *dst, int len) 325static inline int dtc_pread(struct Scsi_Host *instance,
326 unsigned char *dst, int len)
326{ 327{
327 unsigned char *d = dst; 328 unsigned char *d = dst;
328 int i; /* For counting time spent in the poll-loop */ 329 int i; /* For counting time spent in the poll-loop */
@@ -367,7 +368,8 @@ static inline int NCR5380_pread(struct Scsi_Host *instance, unsigned char *dst,
367 * timeout. 368 * timeout.
368*/ 369*/
369 370
370static inline int NCR5380_pwrite(struct Scsi_Host *instance, unsigned char *src, int len) 371static inline int dtc_pwrite(struct Scsi_Host *instance,
372 unsigned char *src, int len)
371{ 373{
372 int i; 374 int i;
373 struct NCR5380_hostdata *hostdata = shost_priv(instance); 375 struct NCR5380_hostdata *hostdata = shost_priv(instance);
diff --git a/drivers/scsi/dtc.h b/drivers/scsi/dtc.h
index 718f95adcec6..65af89e4340c 100644
--- a/drivers/scsi/dtc.h
+++ b/drivers/scsi/dtc.h
@@ -21,6 +21,8 @@
21 21
22#define NCR5380_dma_xfer_len(instance, cmd, phase) \ 22#define NCR5380_dma_xfer_len(instance, cmd, phase) \
23 dtc_dma_xfer_len(cmd) 23 dtc_dma_xfer_len(cmd)
24#define NCR5380_dma_recv_setup dtc_pread
25#define NCR5380_dma_send_setup dtc_pwrite
24 26
25#define NCR5380_intr dtc_intr 27#define NCR5380_intr dtc_intr
26#define NCR5380_queue_command dtc_queue_command 28#define NCR5380_queue_command dtc_queue_command
diff --git a/drivers/scsi/g_NCR5380.c b/drivers/scsi/g_NCR5380.c
index fc7bcbcf3f43..f8c00c96a837 100644
--- a/drivers/scsi/g_NCR5380.c
+++ b/drivers/scsi/g_NCR5380.c
@@ -551,7 +551,7 @@ static int generic_NCR5380_release_resources(struct Scsi_Host *instance)
551} 551}
552 552
553/** 553/**
554 * NCR5380_pread - pseudo DMA read 554 * generic_NCR5380_pread - pseudo DMA read
555 * @instance: adapter to read from 555 * @instance: adapter to read from
556 * @dst: buffer to read into 556 * @dst: buffer to read into
557 * @len: buffer length 557 * @len: buffer length
@@ -560,7 +560,8 @@ static int generic_NCR5380_release_resources(struct Scsi_Host *instance)
560 * controller 560 * controller
561 */ 561 */
562 562
563static inline int NCR5380_pread(struct Scsi_Host *instance, unsigned char *dst, int len) 563static inline int generic_NCR5380_pread(struct Scsi_Host *instance,
564 unsigned char *dst, int len)
564{ 565{
565 struct NCR5380_hostdata *hostdata = shost_priv(instance); 566 struct NCR5380_hostdata *hostdata = shost_priv(instance);
566 int blocks = len / 128; 567 int blocks = len / 128;
@@ -628,7 +629,7 @@ static inline int NCR5380_pread(struct Scsi_Host *instance, unsigned char *dst,
628} 629}
629 630
630/** 631/**
631 * NCR5380_write - pseudo DMA write 632 * generic_NCR5380_pwrite - pseudo DMA write
632 * @instance: adapter to read from 633 * @instance: adapter to read from
633 * @dst: buffer to read into 634 * @dst: buffer to read into
634 * @len: buffer length 635 * @len: buffer length
@@ -637,7 +638,8 @@ static inline int NCR5380_pread(struct Scsi_Host *instance, unsigned char *dst,
637 * controller 638 * controller
638 */ 639 */
639 640
640static inline int NCR5380_pwrite(struct Scsi_Host *instance, unsigned char *src, int len) 641static inline int generic_NCR5380_pwrite(struct Scsi_Host *instance,
642 unsigned char *src, int len)
641{ 643{
642 struct NCR5380_hostdata *hostdata = shost_priv(instance); 644 struct NCR5380_hostdata *hostdata = shost_priv(instance);
643 int blocks = len / 128; 645 int blocks = len / 128;
diff --git a/drivers/scsi/g_NCR5380.h b/drivers/scsi/g_NCR5380.h
index 637740f4c6c7..7f4308705532 100644
--- a/drivers/scsi/g_NCR5380.h
+++ b/drivers/scsi/g_NCR5380.h
@@ -62,13 +62,13 @@
62 62
63#define NCR5380_dma_xfer_len(instance, cmd, phase) \ 63#define NCR5380_dma_xfer_len(instance, cmd, phase) \
64 generic_NCR5380_dma_xfer_len(instance, cmd) 64 generic_NCR5380_dma_xfer_len(instance, cmd)
65#define NCR5380_dma_recv_setup generic_NCR5380_pread
66#define NCR5380_dma_send_setup generic_NCR5380_pwrite
65 67
66#define NCR5380_intr generic_NCR5380_intr 68#define NCR5380_intr generic_NCR5380_intr
67#define NCR5380_queue_command generic_NCR5380_queue_command 69#define NCR5380_queue_command generic_NCR5380_queue_command
68#define NCR5380_abort generic_NCR5380_abort 70#define NCR5380_abort generic_NCR5380_abort
69#define NCR5380_bus_reset generic_NCR5380_bus_reset 71#define NCR5380_bus_reset generic_NCR5380_bus_reset
70#define NCR5380_pread generic_NCR5380_pread
71#define NCR5380_pwrite generic_NCR5380_pwrite
72#define NCR5380_info generic_NCR5380_info 72#define NCR5380_info generic_NCR5380_info
73 73
74#define NCR5380_io_delay(x) udelay(x) 74#define NCR5380_io_delay(x) udelay(x)
diff --git a/drivers/scsi/mac_scsi.c b/drivers/scsi/mac_scsi.c
index 1e0d07ac83a1..99b7bbc3dd94 100644
--- a/drivers/scsi/mac_scsi.c
+++ b/drivers/scsi/mac_scsi.c
@@ -33,11 +33,10 @@
33#define NCR5380_read(reg) macscsi_read(instance, reg) 33#define NCR5380_read(reg) macscsi_read(instance, reg)
34#define NCR5380_write(reg, value) macscsi_write(instance, reg, value) 34#define NCR5380_write(reg, value) macscsi_write(instance, reg, value)
35 35
36#define NCR5380_pread macscsi_pread
37#define NCR5380_pwrite macscsi_pwrite
38
39#define NCR5380_dma_xfer_len(instance, cmd, phase) \ 36#define NCR5380_dma_xfer_len(instance, cmd, phase) \
40 macscsi_dma_xfer_len(instance, cmd) 37 macscsi_dma_xfer_len(instance, cmd)
38#define NCR5380_dma_recv_setup macscsi_pread
39#define NCR5380_dma_send_setup macscsi_pwrite
41 40
42#define NCR5380_intr macscsi_intr 41#define NCR5380_intr macscsi_intr
43#define NCR5380_queue_command macscsi_queue_command 42#define NCR5380_queue_command macscsi_queue_command
diff --git a/drivers/scsi/pas16.c b/drivers/scsi/pas16.c
index 9c06eb637417..c8fd2230c792 100644
--- a/drivers/scsi/pas16.c
+++ b/drivers/scsi/pas16.c
@@ -458,7 +458,7 @@ static int pas16_biosparam(struct scsi_device *sdev, struct block_device *dev,
458} 458}
459 459
460/* 460/*
461 * Function : int NCR5380_pread (struct Scsi_Host *instance, 461 * Function : int pas16_pread (struct Scsi_Host *instance,
462 * unsigned char *dst, int len) 462 * unsigned char *dst, int len)
463 * 463 *
464 * Purpose : Fast 5380 pseudo-dma read function, transfers len bytes to 464 * Purpose : Fast 5380 pseudo-dma read function, transfers len bytes to
@@ -470,8 +470,9 @@ static int pas16_biosparam(struct scsi_device *sdev, struct block_device *dev,
470 * timeout. 470 * timeout.
471 */ 471 */
472 472
473static inline int NCR5380_pread (struct Scsi_Host *instance, unsigned char *dst, 473static inline int pas16_pread(struct Scsi_Host *instance,
474 int len) { 474 unsigned char *dst, int len)
475{
475 register unsigned char *d = dst; 476 register unsigned char *d = dst;
476 register unsigned short reg = (unsigned short) (instance->io_port + 477 register unsigned short reg = (unsigned short) (instance->io_port +
477 P_DATA_REG_OFFSET); 478 P_DATA_REG_OFFSET);
@@ -493,7 +494,7 @@ static inline int NCR5380_pread (struct Scsi_Host *instance, unsigned char *dst,
493} 494}
494 495
495/* 496/*
496 * Function : int NCR5380_pwrite (struct Scsi_Host *instance, 497 * Function : int pas16_pwrite (struct Scsi_Host *instance,
497 * unsigned char *src, int len) 498 * unsigned char *src, int len)
498 * 499 *
499 * Purpose : Fast 5380 pseudo-dma write function, transfers len bytes from 500 * Purpose : Fast 5380 pseudo-dma write function, transfers len bytes from
@@ -505,8 +506,9 @@ static inline int NCR5380_pread (struct Scsi_Host *instance, unsigned char *dst,
505 * timeout. 506 * timeout.
506 */ 507 */
507 508
508static inline int NCR5380_pwrite (struct Scsi_Host *instance, unsigned char *src, 509static inline int pas16_pwrite(struct Scsi_Host *instance,
509 int len) { 510 unsigned char *src, int len)
511{
510 register unsigned char *s = src; 512 register unsigned char *s = src;
511 register unsigned short reg = (instance->io_port + P_DATA_REG_OFFSET); 513 register unsigned short reg = (instance->io_port + P_DATA_REG_OFFSET);
512 register int i = len; 514 register int i = len;
diff --git a/drivers/scsi/pas16.h b/drivers/scsi/pas16.h
index 1695885ce40c..f56f38796bcd 100644
--- a/drivers/scsi/pas16.h
+++ b/drivers/scsi/pas16.h
@@ -103,6 +103,8 @@
103#define NCR5380_write(reg, value) ( outb((value),PAS16_io_port(reg)) ) 103#define NCR5380_write(reg, value) ( outb((value),PAS16_io_port(reg)) )
104 104
105#define NCR5380_dma_xfer_len(instance, cmd, phase) (cmd->transfersize) 105#define NCR5380_dma_xfer_len(instance, cmd, phase) (cmd->transfersize)
106#define NCR5380_dma_recv_setup pas16_pread
107#define NCR5380_dma_send_setup pas16_pwrite
106 108
107#define NCR5380_intr pas16_intr 109#define NCR5380_intr pas16_intr
108#define NCR5380_queue_command pas16_queue_command 110#define NCR5380_queue_command pas16_queue_command
diff --git a/drivers/scsi/t128.c b/drivers/scsi/t128.c
index ce2395f3fae9..6cc3da8d1d69 100644
--- a/drivers/scsi/t128.c
+++ b/drivers/scsi/t128.c
@@ -292,7 +292,7 @@ static int t128_biosparam(struct scsi_device *sdev, struct block_device *bdev,
292} 292}
293 293
294/* 294/*
295 * Function : int NCR5380_pread (struct Scsi_Host *instance, 295 * Function : int t128_pread (struct Scsi_Host *instance,
296 * unsigned char *dst, int len) 296 * unsigned char *dst, int len)
297 * 297 *
298 * Purpose : Fast 5380 pseudo-dma read function, transfers len bytes to 298 * Purpose : Fast 5380 pseudo-dma read function, transfers len bytes to
@@ -304,8 +304,8 @@ static int t128_biosparam(struct scsi_device *sdev, struct block_device *bdev,
304 * timeout. 304 * timeout.
305 */ 305 */
306 306
307static inline int 307static inline int t128_pread(struct Scsi_Host *instance,
308NCR5380_pread(struct Scsi_Host *instance, unsigned char *dst, int len) 308 unsigned char *dst, int len)
309{ 309{
310 struct NCR5380_hostdata *hostdata = shost_priv(instance); 310 struct NCR5380_hostdata *hostdata = shost_priv(instance);
311 void __iomem *reg, *base = hostdata->base; 311 void __iomem *reg, *base = hostdata->base;
@@ -338,7 +338,7 @@ NCR5380_pread(struct Scsi_Host *instance, unsigned char *dst, int len)
338} 338}
339 339
340/* 340/*
341 * Function : int NCR5380_pwrite (struct Scsi_Host *instance, 341 * Function : int t128_pwrite (struct Scsi_Host *instance,
342 * unsigned char *src, int len) 342 * unsigned char *src, int len)
343 * 343 *
344 * Purpose : Fast 5380 pseudo-dma write function, transfers len bytes from 344 * Purpose : Fast 5380 pseudo-dma write function, transfers len bytes from
@@ -350,8 +350,8 @@ NCR5380_pread(struct Scsi_Host *instance, unsigned char *dst, int len)
350 * timeout. 350 * timeout.
351 */ 351 */
352 352
353static inline int 353static inline int t128_pwrite(struct Scsi_Host *instance,
354NCR5380_pwrite(struct Scsi_Host *instance, unsigned char *src, int len) 354 unsigned char *src, int len)
355{ 355{
356 struct NCR5380_hostdata *hostdata = shost_priv(instance); 356 struct NCR5380_hostdata *hostdata = shost_priv(instance);
357 void __iomem *reg, *base = hostdata->base; 357 void __iomem *reg, *base = hostdata->base;
diff --git a/drivers/scsi/t128.h b/drivers/scsi/t128.h
index 4caea9d62ac4..b6fe70f0aa4b 100644
--- a/drivers/scsi/t128.h
+++ b/drivers/scsi/t128.h
@@ -77,6 +77,8 @@
77#define NCR5380_write(reg, value) writeb((value),(T128_address(reg))) 77#define NCR5380_write(reg, value) writeb((value),(T128_address(reg)))
78 78
79#define NCR5380_dma_xfer_len(instance, cmd, phase) (cmd->transfersize) 79#define NCR5380_dma_xfer_len(instance, cmd, phase) (cmd->transfersize)
80#define NCR5380_dma_recv_setup t128_pread
81#define NCR5380_dma_send_setup t128_pwrite
80 82
81#define NCR5380_intr t128_intr 83#define NCR5380_intr t128_intr
82#define NCR5380_queue_command t128_queue_command 84#define NCR5380_queue_command t128_queue_command