aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/scsi/ncr53c8xx.c118
-rw-r--r--drivers/scsi/ncr53c8xx.h37
2 files changed, 61 insertions, 94 deletions
diff --git a/drivers/scsi/ncr53c8xx.c b/drivers/scsi/ncr53c8xx.c
index 32350707b940..abb1859bff09 100644
--- a/drivers/scsi/ncr53c8xx.c
+++ b/drivers/scsi/ncr53c8xx.c
@@ -69,6 +69,10 @@
69** Low PCI traffic for command handling when on-chip RAM is present. 69** Low PCI traffic for command handling when on-chip RAM is present.
70** Aggressive SCSI SCRIPTS optimizations. 70** Aggressive SCSI SCRIPTS optimizations.
71** 71**
72** 2005 by Matthew Wilcox and James Bottomley
73** PCI-ectomy. This driver now supports only the 720 chip (see the
74** NCR_Q720 and zalon drivers for the bus probe logic).
75**
72******************************************************************************* 76*******************************************************************************
73*/ 77*/
74 78
@@ -90,13 +94,6 @@
90 94
91#define SCSI_NCR_DEBUG_FLAGS (0) 95#define SCSI_NCR_DEBUG_FLAGS (0)
92 96
93/*==========================================================
94**
95** Include files
96**
97**==========================================================
98*/
99
100#include <linux/blkdev.h> 97#include <linux/blkdev.h>
101#include <linux/delay.h> 98#include <linux/delay.h>
102#include <linux/dma-mapping.h> 99#include <linux/dma-mapping.h>
@@ -121,6 +118,7 @@
121 118
122#include <scsi/scsi.h> 119#include <scsi/scsi.h>
123#include <scsi/scsi_cmnd.h> 120#include <scsi/scsi_cmnd.h>
121#include <scsi/scsi_dbg.h>
124#include <scsi/scsi_device.h> 122#include <scsi/scsi_device.h>
125#include <scsi/scsi_tcq.h> 123#include <scsi/scsi_tcq.h>
126#include <scsi/scsi_transport.h> 124#include <scsi/scsi_transport.h>
@@ -128,10 +126,8 @@
128 126
129#include "ncr53c8xx.h" 127#include "ncr53c8xx.h"
130 128
131#define NAME53C "ncr53c"
132#define NAME53C8XX "ncr53c8xx" 129#define NAME53C8XX "ncr53c8xx"
133 130
134
135/*========================================================== 131/*==========================================================
136** 132**
137** Debugging tags 133** Debugging tags
@@ -2111,7 +2107,7 @@ static struct script script0 __initdata = {
2111 */ 2107 */
2112 2108
2113 /* 2109 /*
2114 ** The M_REJECT problem seems to be due to a selection 2110 ** The MESSAGE_REJECT problem seems to be due to a selection
2115 ** timing problem. 2111 ** timing problem.
2116 ** Wait immediately for the selection to complete. 2112 ** Wait immediately for the selection to complete.
2117 ** (2.5x behaves so) 2113 ** (2.5x behaves so)
@@ -2162,7 +2158,7 @@ static struct script script0 __initdata = {
2162 /* 2158 /*
2163 ** Selection complete. 2159 ** Selection complete.
2164 ** Send the IDENTIFY and SIMPLE_TAG messages 2160 ** Send the IDENTIFY and SIMPLE_TAG messages
2165 ** (and the M_X_SYNC_REQ message) 2161 ** (and the EXTENDED_SDTR message)
2166 */ 2162 */
2167 SCR_MOVE_TBL ^ SCR_MSG_OUT, 2163 SCR_MOVE_TBL ^ SCR_MSG_OUT,
2168 offsetof (struct dsb, smsg), 2164 offsetof (struct dsb, smsg),
@@ -2191,7 +2187,7 @@ static struct script script0 __initdata = {
2191 /* 2187 /*
2192 ** Initialize the msgout buffer with a NOOP message. 2188 ** Initialize the msgout buffer with a NOOP message.
2193 */ 2189 */
2194 SCR_LOAD_REG (scratcha, M_NOOP), 2190 SCR_LOAD_REG (scratcha, NOP),
2195 0, 2191 0,
2196 SCR_COPY (1), 2192 SCR_COPY (1),
2197 RADDR (scratcha), 2193 RADDR (scratcha),
@@ -2343,21 +2339,21 @@ static struct script script0 __initdata = {
2343 /* 2339 /*
2344 ** Handle this message. 2340 ** Handle this message.
2345 */ 2341 */
2346 SCR_JUMP ^ IFTRUE (DATA (M_COMPLETE)), 2342 SCR_JUMP ^ IFTRUE (DATA (COMMAND_COMPLETE)),
2347 PADDR (complete), 2343 PADDR (complete),
2348 SCR_JUMP ^ IFTRUE (DATA (M_DISCONNECT)), 2344 SCR_JUMP ^ IFTRUE (DATA (DISCONNECT)),
2349 PADDR (disconnect), 2345 PADDR (disconnect),
2350 SCR_JUMP ^ IFTRUE (DATA (M_SAVE_DP)), 2346 SCR_JUMP ^ IFTRUE (DATA (SAVE_POINTERS)),
2351 PADDR (save_dp), 2347 PADDR (save_dp),
2352 SCR_JUMP ^ IFTRUE (DATA (M_RESTORE_DP)), 2348 SCR_JUMP ^ IFTRUE (DATA (RESTORE_POINTERS)),
2353 PADDR (restore_dp), 2349 PADDR (restore_dp),
2354 SCR_JUMP ^ IFTRUE (DATA (M_EXTENDED)), 2350 SCR_JUMP ^ IFTRUE (DATA (EXTENDED_MESSAGE)),
2355 PADDRH (msg_extended), 2351 PADDRH (msg_extended),
2356 SCR_JUMP ^ IFTRUE (DATA (M_NOOP)), 2352 SCR_JUMP ^ IFTRUE (DATA (NOP)),
2357 PADDR (clrack), 2353 PADDR (clrack),
2358 SCR_JUMP ^ IFTRUE (DATA (M_REJECT)), 2354 SCR_JUMP ^ IFTRUE (DATA (MESSAGE_REJECT)),
2359 PADDRH (msg_reject), 2355 PADDRH (msg_reject),
2360 SCR_JUMP ^ IFTRUE (DATA (M_IGN_RESIDUE)), 2356 SCR_JUMP ^ IFTRUE (DATA (IGNORE_WIDE_RESIDUE)),
2361 PADDRH (msg_ign_residue), 2357 PADDRH (msg_ign_residue),
2362 /* 2358 /*
2363 ** Rest of the messages left as 2359 ** Rest of the messages left as
@@ -2372,7 +2368,7 @@ static struct script script0 __initdata = {
2372 */ 2368 */
2373 SCR_INT, 2369 SCR_INT,
2374 SIR_REJECT_SENT, 2370 SIR_REJECT_SENT,
2375 SCR_LOAD_REG (scratcha, M_REJECT), 2371 SCR_LOAD_REG (scratcha, MESSAGE_REJECT),
2376 0, 2372 0,
2377}/*-------------------------< SETMSG >----------------------*/,{ 2373}/*-------------------------< SETMSG >----------------------*/,{
2378 SCR_COPY (1), 2374 SCR_COPY (1),
@@ -2564,7 +2560,7 @@ static struct script script0 __initdata = {
2564 /* 2560 /*
2565 ** If it was no ABORT message ... 2561 ** If it was no ABORT message ...
2566 */ 2562 */
2567 SCR_JUMP ^ IFTRUE (DATA (M_ABORT)), 2563 SCR_JUMP ^ IFTRUE (DATA (ABORT_TASK_SET)),
2568 PADDRH (msg_out_abort), 2564 PADDRH (msg_out_abort),
2569 /* 2565 /*
2570 ** ... wait for the next phase 2566 ** ... wait for the next phase
@@ -2576,7 +2572,7 @@ static struct script script0 __initdata = {
2576 /* 2572 /*
2577 ** ... else clear the message ... 2573 ** ... else clear the message ...
2578 */ 2574 */
2579 SCR_LOAD_REG (scratcha, M_NOOP), 2575 SCR_LOAD_REG (scratcha, NOP),
2580 0, 2576 0,
2581 SCR_COPY (4), 2577 SCR_COPY (4),
2582 RADDR (scratcha), 2578 RADDR (scratcha),
@@ -3035,7 +3031,7 @@ static struct scripth scripth0 __initdata = {
3035 */ 3031 */
3036 SCR_MOVE_ABS (1) ^ SCR_MSG_IN, 3032 SCR_MOVE_ABS (1) ^ SCR_MSG_IN,
3037 NADDR (msgin[2]), 3033 NADDR (msgin[2]),
3038 SCR_JUMP ^ IFTRUE (DATA (M_X_WIDE_REQ)), 3034 SCR_JUMP ^ IFTRUE (DATA (EXTENDED_WDTR)),
3039 PADDRH (msg_wdtr), 3035 PADDRH (msg_wdtr),
3040 /* 3036 /*
3041 ** unknown extended message 3037 ** unknown extended message
@@ -3069,7 +3065,7 @@ static struct scripth scripth0 __initdata = {
3069 3065
3070}/*-------------------------< SEND_WDTR >----------------*/,{ 3066}/*-------------------------< SEND_WDTR >----------------*/,{
3071 /* 3067 /*
3072 ** Send the M_X_WIDE_REQ 3068 ** Send the EXTENDED_WDTR
3073 */ 3069 */
3074 SCR_MOVE_ABS (4) ^ SCR_MSG_OUT, 3070 SCR_MOVE_ABS (4) ^ SCR_MSG_OUT,
3075 NADDR (msgout), 3071 NADDR (msgout),
@@ -3089,7 +3085,7 @@ static struct scripth scripth0 __initdata = {
3089 */ 3085 */
3090 SCR_MOVE_ABS (1) ^ SCR_MSG_IN, 3086 SCR_MOVE_ABS (1) ^ SCR_MSG_IN,
3091 NADDR (msgin[2]), 3087 NADDR (msgin[2]),
3092 SCR_JUMP ^ IFTRUE (DATA (M_X_SYNC_REQ)), 3088 SCR_JUMP ^ IFTRUE (DATA (EXTENDED_SDTR)),
3093 PADDRH (msg_sdtr), 3089 PADDRH (msg_sdtr),
3094 /* 3090 /*
3095 ** unknown extended message 3091 ** unknown extended message
@@ -3124,7 +3120,7 @@ static struct scripth scripth0 __initdata = {
3124 3120
3125}/*-------------------------< SEND_SDTR >-------------*/,{ 3121}/*-------------------------< SEND_SDTR >-------------*/,{
3126 /* 3122 /*
3127 ** Send the M_X_SYNC_REQ 3123 ** Send the EXTENDED_SDTR
3128 */ 3124 */
3129 SCR_MOVE_ABS (5) ^ SCR_MSG_OUT, 3125 SCR_MOVE_ABS (5) ^ SCR_MSG_OUT,
3130 NADDR (msgout), 3126 NADDR (msgout),
@@ -3202,10 +3198,10 @@ static struct scripth scripth0 __initdata = {
3202 3198
3203}/*-------------------------< RESET >----------------------*/,{ 3199}/*-------------------------< RESET >----------------------*/,{
3204 /* 3200 /*
3205 ** Send a M_RESET message if bad IDENTIFY 3201 ** Send a TARGET_RESET message if bad IDENTIFY
3206 ** received on reselection. 3202 ** received on reselection.
3207 */ 3203 */
3208 SCR_LOAD_REG (scratcha, M_ABORT_TAG), 3204 SCR_LOAD_REG (scratcha, ABORT_TASK),
3209 0, 3205 0,
3210 SCR_JUMP, 3206 SCR_JUMP,
3211 PADDRH (abort_resel), 3207 PADDRH (abort_resel),
@@ -3213,7 +3209,7 @@ static struct scripth scripth0 __initdata = {
3213 /* 3209 /*
3214 ** Abort a wrong tag received on reselection. 3210 ** Abort a wrong tag received on reselection.
3215 */ 3211 */
3216 SCR_LOAD_REG (scratcha, M_ABORT_TAG), 3212 SCR_LOAD_REG (scratcha, ABORT_TASK),
3217 0, 3213 0,
3218 SCR_JUMP, 3214 SCR_JUMP,
3219 PADDRH (abort_resel), 3215 PADDRH (abort_resel),
@@ -3221,7 +3217,7 @@ static struct scripth scripth0 __initdata = {
3221 /* 3217 /*
3222 ** Abort a reselection when no active CCB. 3218 ** Abort a reselection when no active CCB.
3223 */ 3219 */
3224 SCR_LOAD_REG (scratcha, M_ABORT), 3220 SCR_LOAD_REG (scratcha, ABORT_TASK_SET),
3225 0, 3221 0,
3226}/*-------------------------< ABORT_RESEL >----------------*/,{ 3222}/*-------------------------< ABORT_RESEL >----------------*/,{
3227 SCR_COPY (1), 3223 SCR_COPY (1),
@@ -3333,7 +3329,7 @@ static struct scripth scripth0 __initdata = {
3333 ** Read the message, since we got it directly 3329 ** Read the message, since we got it directly
3334 ** from the SCSI BUS data lines. 3330 ** from the SCSI BUS data lines.
3335 ** Signal problem to C code for logging the event. 3331 ** Signal problem to C code for logging the event.
3336 ** Send a M_ABORT to clear all pending tasks. 3332 ** Send an ABORT_TASK_SET to clear all pending tasks.
3337 */ 3333 */
3338 SCR_INT, 3334 SCR_INT,
3339 SIR_RESEL_BAD_LUN, 3335 SIR_RESEL_BAD_LUN,
@@ -3345,7 +3341,7 @@ static struct scripth scripth0 __initdata = {
3345 /* 3341 /*
3346 ** We donnot have a task for that I_T_L. 3342 ** We donnot have a task for that I_T_L.
3347 ** Signal problem to C code for logging the event. 3343 ** Signal problem to C code for logging the event.
3348 ** Send a M_ABORT message. 3344 ** Send an ABORT_TASK_SET message.
3349 */ 3345 */
3350 SCR_INT, 3346 SCR_INT,
3351 SIR_RESEL_BAD_I_T_L, 3347 SIR_RESEL_BAD_I_T_L,
@@ -3355,7 +3351,7 @@ static struct scripth scripth0 __initdata = {
3355 /* 3351 /*
3356 ** We donnot have a task that matches the tag. 3352 ** We donnot have a task that matches the tag.
3357 ** Signal problem to C code for logging the event. 3353 ** Signal problem to C code for logging the event.
3358 ** Send a M_ABORTTAG message. 3354 ** Send an ABORT_TASK message.
3359 */ 3355 */
3360 SCR_INT, 3356 SCR_INT,
3361 SIR_RESEL_BAD_I_T_L_Q, 3357 SIR_RESEL_BAD_I_T_L_Q,
@@ -3366,7 +3362,7 @@ static struct scripth scripth0 __initdata = {
3366 ** We donnot know the target that reselected us. 3362 ** We donnot know the target that reselected us.
3367 ** Grab the first message if any (IDENTIFY). 3363 ** Grab the first message if any (IDENTIFY).
3368 ** Signal problem to C code for logging the event. 3364 ** Signal problem to C code for logging the event.
3369 ** M_RESET message. 3365 ** TARGET_RESET message.
3370 */ 3366 */
3371 SCR_INT, 3367 SCR_INT,
3372 SIR_RESEL_BAD_TARGET, 3368 SIR_RESEL_BAD_TARGET,
@@ -4109,16 +4105,16 @@ static int ncr_prepare_nego(struct ncb *np, struct ccb *cp, u_char *msgptr)
4109 4105
4110 switch (nego) { 4106 switch (nego) {
4111 case NS_SYNC: 4107 case NS_SYNC:
4112 msgptr[msglen++] = M_EXTENDED; 4108 msgptr[msglen++] = EXTENDED_MESSAGE;
4113 msgptr[msglen++] = 3; 4109 msgptr[msglen++] = 3;
4114 msgptr[msglen++] = M_X_SYNC_REQ; 4110 msgptr[msglen++] = EXTENDED_SDTR;
4115 msgptr[msglen++] = tp->maxoffs ? tp->minsync : 0; 4111 msgptr[msglen++] = tp->maxoffs ? tp->minsync : 0;
4116 msgptr[msglen++] = tp->maxoffs; 4112 msgptr[msglen++] = tp->maxoffs;
4117 break; 4113 break;
4118 case NS_WIDE: 4114 case NS_WIDE:
4119 msgptr[msglen++] = M_EXTENDED; 4115 msgptr[msglen++] = EXTENDED_MESSAGE;
4120 msgptr[msglen++] = 2; 4116 msgptr[msglen++] = 2;
4121 msgptr[msglen++] = M_X_WIDE_REQ; 4117 msgptr[msglen++] = EXTENDED_WDTR;
4122 msgptr[msglen++] = tp->usrwide; 4118 msgptr[msglen++] = tp->usrwide;
4123 break; 4119 break;
4124 } 4120 }
@@ -4220,7 +4216,7 @@ static int ncr_queue_command (struct ncb *np, struct scsi_cmnd *cmd)
4220 **---------------------------------------------------- 4216 **----------------------------------------------------
4221 */ 4217 */
4222 4218
4223 idmsg = M_IDENTIFY | sdev->lun; 4219 idmsg = IDENTIFY(0, sdev->lun);
4224 4220
4225 if (cp ->tag != NO_TAG || 4221 if (cp ->tag != NO_TAG ||
4226 (cp != np->ccb && np->disc && !(tp->usrflag & UF_NODISC))) 4222 (cp != np->ccb && np->disc && !(tp->usrflag & UF_NODISC)))
@@ -4239,7 +4235,7 @@ static int ncr_queue_command (struct ncb *np, struct scsi_cmnd *cmd)
4239 */ 4235 */
4240 if (lp && time_after(jiffies, lp->tags_stime)) { 4236 if (lp && time_after(jiffies, lp->tags_stime)) {
4241 if (lp->tags_smap) { 4237 if (lp->tags_smap) {
4242 order = M_ORDERED_TAG; 4238 order = ORDERED_QUEUE_TAG;
4243 if ((DEBUG_FLAGS & DEBUG_TAGS)||bootverbose>2){ 4239 if ((DEBUG_FLAGS & DEBUG_TAGS)||bootverbose>2){
4244 PRINT_ADDR(cmd, 4240 PRINT_ADDR(cmd,
4245 "ordered tag forced.\n"); 4241 "ordered tag forced.\n");
@@ -4257,10 +4253,10 @@ static int ncr_queue_command (struct ncb *np, struct scsi_cmnd *cmd)
4257 case 0x08: /* READ_SMALL (6) */ 4253 case 0x08: /* READ_SMALL (6) */
4258 case 0x28: /* READ_BIG (10) */ 4254 case 0x28: /* READ_BIG (10) */
4259 case 0xa8: /* READ_HUGE (12) */ 4255 case 0xa8: /* READ_HUGE (12) */
4260 order = M_SIMPLE_TAG; 4256 order = SIMPLE_QUEUE_TAG;
4261 break; 4257 break;
4262 default: 4258 default:
4263 order = M_ORDERED_TAG; 4259 order = ORDERED_QUEUE_TAG;
4264 } 4260 }
4265 } 4261 }
4266 msgptr[msglen++] = order; 4262 msgptr[msglen++] = order;
@@ -6229,9 +6225,9 @@ static int ncr_int_par (struct ncb *np)
6229 if (!(dbc & 0xc0000000)) 6225 if (!(dbc & 0xc0000000))
6230 phase = (dbc >> 24) & 7; 6226 phase = (dbc >> 24) & 7;
6231 if (phase == 7) 6227 if (phase == 7)
6232 msg = M_PARITY; 6228 msg = MSG_PARITY_ERROR;
6233 else 6229 else
6234 msg = M_ID_ERROR; 6230 msg = INITIATOR_ERROR;
6235 6231
6236 6232
6237 /* 6233 /*
@@ -6795,6 +6791,8 @@ void ncr_int_sir (struct ncb *np)
6795/*----------------------------------------------------------------------------- 6791/*-----------------------------------------------------------------------------
6796** 6792**
6797** Was Sie schon immer ueber transfermode negotiation wissen wollten ... 6793** Was Sie schon immer ueber transfermode negotiation wissen wollten ...
6794** ("Everything you've always wanted to know about transfer mode
6795** negotiation")
6798** 6796**
6799** We try to negotiate sync and wide transfer only after 6797** We try to negotiate sync and wide transfer only after
6800** a successful inquire command. We look at byte 7 of the 6798** a successful inquire command. We look at byte 7 of the
@@ -6896,8 +6894,8 @@ void ncr_int_sir (struct ncb *np)
6896 break; 6894 break;
6897 6895
6898 } 6896 }
6899 np->msgin [0] = M_NOOP; 6897 np->msgin [0] = NOP;
6900 np->msgout[0] = M_NOOP; 6898 np->msgout[0] = NOP;
6901 cp->nego_status = 0; 6899 cp->nego_status = 0;
6902 break; 6900 break;
6903 6901
@@ -6991,9 +6989,9 @@ void ncr_int_sir (struct ncb *np)
6991 spi_offset(starget) = ofs; 6989 spi_offset(starget) = ofs;
6992 ncr_setsync(np, cp, scntl3, (fak<<5)|ofs); 6990 ncr_setsync(np, cp, scntl3, (fak<<5)|ofs);
6993 6991
6994 np->msgout[0] = M_EXTENDED; 6992 np->msgout[0] = EXTENDED_MESSAGE;
6995 np->msgout[1] = 3; 6993 np->msgout[1] = 3;
6996 np->msgout[2] = M_X_SYNC_REQ; 6994 np->msgout[2] = EXTENDED_SDTR;
6997 np->msgout[3] = per; 6995 np->msgout[3] = per;
6998 np->msgout[4] = ofs; 6996 np->msgout[4] = ofs;
6999 6997
@@ -7007,7 +7005,7 @@ void ncr_int_sir (struct ncb *np)
7007 OUTL_DSP (NCB_SCRIPT_PHYS (np, msg_bad)); 7005 OUTL_DSP (NCB_SCRIPT_PHYS (np, msg_bad));
7008 return; 7006 return;
7009 } 7007 }
7010 np->msgin [0] = M_NOOP; 7008 np->msgin [0] = NOP;
7011 7009
7012 break; 7010 break;
7013 7011
@@ -7083,12 +7081,12 @@ void ncr_int_sir (struct ncb *np)
7083 spi_width(starget) = wide; 7081 spi_width(starget) = wide;
7084 ncr_setwide(np, cp, wide, 1); 7082 ncr_setwide(np, cp, wide, 1);
7085 7083
7086 np->msgout[0] = M_EXTENDED; 7084 np->msgout[0] = EXTENDED_MESSAGE;
7087 np->msgout[1] = 2; 7085 np->msgout[1] = 2;
7088 np->msgout[2] = M_X_WIDE_REQ; 7086 np->msgout[2] = EXTENDED_WDTR;
7089 np->msgout[3] = wide; 7087 np->msgout[3] = wide;
7090 7088
7091 np->msgin [0] = M_NOOP; 7089 np->msgin [0] = NOP;
7092 7090
7093 cp->nego_status = NS_WIDE; 7091 cp->nego_status = NS_WIDE;
7094 7092
@@ -7107,12 +7105,12 @@ void ncr_int_sir (struct ncb *np)
7107 case SIR_REJECT_RECEIVED: 7105 case SIR_REJECT_RECEIVED:
7108 /*----------------------------------------------- 7106 /*-----------------------------------------------
7109 ** 7107 **
7110 ** We received a M_REJECT message. 7108 ** We received a MESSAGE_REJECT.
7111 ** 7109 **
7112 **----------------------------------------------- 7110 **-----------------------------------------------
7113 */ 7111 */
7114 7112
7115 PRINT_ADDR(cp->cmd, "M_REJECT received (%x:%x).\n", 7113 PRINT_ADDR(cp->cmd, "MESSAGE_REJECT received (%x:%x).\n",
7116 (unsigned)scr_to_cpu(np->lastmsg), np->msgout[0]); 7114 (unsigned)scr_to_cpu(np->lastmsg), np->msgout[0]);
7117 break; 7115 break;
7118 7116
@@ -7124,7 +7122,7 @@ void ncr_int_sir (struct ncb *np)
7124 **----------------------------------------------- 7122 **-----------------------------------------------
7125 */ 7123 */
7126 7124
7127 ncr_print_msg(cp, "M_REJECT sent for", np->msgin); 7125 ncr_print_msg(cp, "MESSAGE_REJECT sent for", np->msgin);
7128 break; 7126 break;
7129 7127
7130/*-------------------------------------------------------------------- 7128/*--------------------------------------------------------------------
@@ -7143,7 +7141,7 @@ void ncr_int_sir (struct ncb *np)
7143 **----------------------------------------------- 7141 **-----------------------------------------------
7144 */ 7142 */
7145 7143
7146 PRINT_ADDR(cp->cmd, "M_IGN_RESIDUE received, but not yet " 7144 PRINT_ADDR(cp->cmd, "IGNORE_WIDE_RESIDUE received, but not yet "
7147 "implemented.\n"); 7145 "implemented.\n");
7148 break; 7146 break;
7149#if 0 7147#if 0
@@ -7156,7 +7154,7 @@ void ncr_int_sir (struct ncb *np)
7156 **----------------------------------------------- 7154 **-----------------------------------------------
7157 */ 7155 */
7158 7156
7159 PRINT_ADDR(cp->cmd, "M_DISCONNECT received, but datapointer " 7157 PRINT_ADDR(cp->cmd, "DISCONNECT received, but datapointer "
7160 "not saved: data=%x save=%x goal=%x.\n", 7158 "not saved: data=%x save=%x goal=%x.\n",
7161 (unsigned) INL (nc_temp), 7159 (unsigned) INL (nc_temp),
7162 (unsigned) scr_to_cpu(np->header.savep), 7160 (unsigned) scr_to_cpu(np->header.savep),
@@ -7862,7 +7860,7 @@ static int __init ncr_snooptest (struct ncb* np)
7862**========================================================== 7860**==========================================================
7863** 7861**
7864** Note: we have to return the correct value. 7862** Note: we have to return the correct value.
7865** THERE IS NO SAVE DEFAULT VALUE. 7863** THERE IS NO SAFE DEFAULT VALUE.
7866** 7864**
7867** Most NCR/SYMBIOS boards are delivered with a 40 Mhz clock. 7865** Most NCR/SYMBIOS boards are delivered with a 40 Mhz clock.
7868** 53C860 and 53C875 rev. 1 support fast20 transfers but 7866** 53C860 and 53C875 rev. 1 support fast20 transfers but
@@ -8562,7 +8560,7 @@ struct Scsi_Host * __init ncr_attach(struct scsi_host_template *tpnt,
8562 8560
8563 /* use SIMPLE TAG messages by default */ 8561 /* use SIMPLE TAG messages by default */
8564#ifdef SCSI_NCR_ALWAYS_SIMPLE_TAG 8562#ifdef SCSI_NCR_ALWAYS_SIMPLE_TAG
8565 np->order = M_SIMPLE_TAG; 8563 np->order = SIMPLE_QUEUE_TAG;
8566#endif 8564#endif
8567 8565
8568 spin_unlock_irqrestore(&np->smp_lock, flags); 8566 spin_unlock_irqrestore(&np->smp_lock, flags);
diff --git a/drivers/scsi/ncr53c8xx.h b/drivers/scsi/ncr53c8xx.h
index 6a7bef2e6118..0e4e46a01336 100644
--- a/drivers/scsi/ncr53c8xx.h
+++ b/drivers/scsi/ncr53c8xx.h
@@ -56,8 +56,10 @@
56#include <linux/config.h> 56#include <linux/config.h>
57#include <scsi/scsi_host.h> 57#include <scsi/scsi_host.h>
58 58
59#include <linux/config.h>
60
59/* 61/*
60** If you want a driver as small as possible, do not define the 62** If you want a driver as small as possible, donnot define the
61** following options. 63** following options.
62*/ 64*/
63#define SCSI_NCR_BOOT_COMMAND_LINE_SUPPORT 65#define SCSI_NCR_BOOT_COMMAND_LINE_SUPPORT
@@ -1255,39 +1257,6 @@ struct scr_tblsel {
1255*/ 1257*/
1256 1258
1257/* 1259/*
1258** Messages
1259*/
1260
1261#define M_COMPLETE COMMAND_COMPLETE
1262#define M_EXTENDED EXTENDED_MESSAGE
1263#define M_SAVE_DP SAVE_POINTERS
1264#define M_RESTORE_DP RESTORE_POINTERS
1265#define M_DISCONNECT DISCONNECT
1266#define M_ID_ERROR INITIATOR_ERROR
1267#define M_ABORT ABORT_TASK_SET
1268#define M_REJECT MESSAGE_REJECT
1269#define M_NOOP NOP
1270#define M_PARITY MSG_PARITY_ERROR
1271#define M_LCOMPLETE LINKED_CMD_COMPLETE
1272#define M_FCOMPLETE LINKED_FLG_CMD_COMPLETE
1273#define M_RESET TARGET_RESET
1274#define M_ABORT_TAG ABORT_TASK
1275#define M_CLEAR_QUEUE CLEAR_TASK_SET
1276#define M_INIT_REC INITIATE_RECOVERY
1277#define M_REL_REC RELEASE_RECOVERY
1278#define M_TERMINATE (0x11)
1279#define M_SIMPLE_TAG SIMPLE_QUEUE_TAG
1280#define M_HEAD_TAG HEAD_OF_QUEUE_TAG
1281#define M_ORDERED_TAG ORDERED_QUEUE_TAG
1282#define M_IGN_RESIDUE IGNORE_WIDE_RESIDUE
1283#define M_IDENTIFY (0x80)
1284
1285#define M_X_MODIFY_DP EXTENDED_MODIFY_DATA_POINTER
1286#define M_X_SYNC_REQ EXTENDED_SDTR
1287#define M_X_WIDE_REQ EXTENDED_WDTR
1288#define M_X_PPR_REQ EXTENDED_PPR
1289
1290/*
1291** Status 1260** Status
1292*/ 1261*/
1293 1262