aic7xxx.h (41299) | aic7xxx.h (41646) |
---|---|
1/* 2 * Interface to the generic driver for the aic7xxx based adaptec 3 * SCSI controllers. This is used to implement product specific 4 * probe and attach routines. 5 * 6 * Copyright (c) 1994, 1995, 1996, 1997, 1998 Justin T. Gibbs. 7 * All rights reserved. 8 * --- 20 unchanged lines hidden (view full) --- 29 * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 30 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 31 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 32 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 33 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 34 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 35 * SUCH DAMAGE. 36 * | 1/* 2 * Interface to the generic driver for the aic7xxx based adaptec 3 * SCSI controllers. This is used to implement product specific 4 * probe and attach routines. 5 * 6 * Copyright (c) 1994, 1995, 1996, 1997, 1998 Justin T. Gibbs. 7 * All rights reserved. 8 * --- 20 unchanged lines hidden (view full) --- 29 * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 30 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 31 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 32 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 33 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 34 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 35 * SUCH DAMAGE. 36 * |
37 * $Id: aic7xxx.h,v 1.1 1998/09/15 07:24:16 gibbs Exp $ | 37 * $Id: aic7xxx.h,v 1.2 1998/11/23 01:33:47 gibbs Exp $ |
38 */ 39 40#ifndef _AIC7XXX_H_ 41#define _AIC7XXX_H_ 42 43#include "ahc.h" /* for NAHC from config */ 44#include "opt_aic7xxx.h" /* for config options */ 45 --- 92 unchanged lines hidden (view full) --- 138 */ 139 AHC_INDIRECT_PAGING = 0x008, 140 AHC_SHARED_SRAM = 0x010, 141 AHC_LARGE_SEEPROM = 0x020,/* Uses C56_66 not C46 */ 142 AHC_EXTENDED_TRANS_A = 0x100, 143 AHC_EXTENDED_TRANS_B = 0x200, 144 AHC_TERM_ENB_A = 0x400, 145 AHC_TERM_ENB_B = 0x800, | 38 */ 39 40#ifndef _AIC7XXX_H_ 41#define _AIC7XXX_H_ 42 43#include "ahc.h" /* for NAHC from config */ 44#include "opt_aic7xxx.h" /* for config options */ 45 --- 92 unchanged lines hidden (view full) --- 138 */ 139 AHC_INDIRECT_PAGING = 0x008, 140 AHC_SHARED_SRAM = 0x010, 141 AHC_LARGE_SEEPROM = 0x020,/* Uses C56_66 not C46 */ 142 AHC_EXTENDED_TRANS_A = 0x100, 143 AHC_EXTENDED_TRANS_B = 0x200, 144 AHC_TERM_ENB_A = 0x400, 145 AHC_TERM_ENB_B = 0x800, |
146 AHC_HANDLING_REQINITS = 0x1000, | 146 AHC_INITIATORMODE = 0x1000,/* 147 * Allow initiator operations on 148 * this controller. 149 */ |
147 AHC_TARGETMODE = 0x2000,/* 148 * Allow target operations on this 149 * controller. 150 */ 151 AHC_NEWEEPROM_FMT = 0x4000, 152 AHC_RESOURCE_SHORTAGE = 0x8000 153} ahc_flag; 154 --- 5 unchanged lines hidden (view full) --- 160 * this SCB so we gave ourselves 161 * an additional timeout period 162 * in case it was hogging the 163 * bus. 164 */ 165 SCB_DEVICE_RESET = 0x0004, 166 SCB_SENSE = 0x0008, 167 SCB_RECOVERY_SCB = 0x0040, | 150 AHC_TARGETMODE = 0x2000,/* 151 * Allow target operations on this 152 * controller. 153 */ 154 AHC_NEWEEPROM_FMT = 0x4000, 155 AHC_RESOURCE_SHORTAGE = 0x8000 156} ahc_flag; 157 --- 5 unchanged lines hidden (view full) --- 163 * this SCB so we gave ourselves 164 * an additional timeout period 165 * in case it was hogging the 166 * bus. 167 */ 168 SCB_DEVICE_RESET = 0x0004, 169 SCB_SENSE = 0x0008, 170 SCB_RECOVERY_SCB = 0x0040, |
168 SCB_MSGOUT_SENT = 0x0200, 169 SCB_MSGOUT_SDTR = 0x0400, 170 SCB_MSGOUT_WDTR = 0x0800, 171 SCB_MSGOUT_BITS = (SCB_MSGOUT_SDTR|SCB_MSGOUT_WDTR 172 |SCB_MSGOUT_SENT), | |
173 SCB_ABORT = 0x1000, 174 SCB_QUEUED_MSG = 0x2000, 175 SCB_ACTIVE = 0x4000, 176 SCB_TARGET_IMMEDIATE = 0x8000 177} scb_flag; 178 179/* 180 * The driver keeps up to MAX_SCB scb structures per card in memory. The SCB --- 198 unchanged lines hidden (view full) --- 379#define ULTRA_SXFR 0x100 380 u_int8_t period; /* Period to send to SCSI target */ 381 char *rate; 382}; 383 384typedef enum { 385 MSG_TYPE_NONE = 0x00, 386 MSG_TYPE_INITIATOR_MSGOUT = 0x01, | 171 SCB_ABORT = 0x1000, 172 SCB_QUEUED_MSG = 0x2000, 173 SCB_ACTIVE = 0x4000, 174 SCB_TARGET_IMMEDIATE = 0x8000 175} scb_flag; 176 177/* 178 * The driver keeps up to MAX_SCB scb structures per card in memory. The SCB --- 198 unchanged lines hidden (view full) --- 377#define ULTRA_SXFR 0x100 378 u_int8_t period; /* Period to send to SCSI target */ 379 char *rate; 380}; 381 382typedef enum { 383 MSG_TYPE_NONE = 0x00, 384 MSG_TYPE_INITIATOR_MSGOUT = 0x01, |
387 MSG_TYPE_INITIATOR_MSGIN = 0x02 | 385 MSG_TYPE_INITIATOR_MSGIN = 0x02, 386 MSG_TYPE_TARGET_MSGOUT = 0x03, 387 MSG_TYPE_TARGET_MSGIN = 0x04 |
388} ahc_msg_type; 389 390struct ahc_softc { 391 bus_space_tag_t tag; 392 bus_space_handle_t bsh; 393 bus_dma_tag_t dmat; 394 struct scb_data *scb_data; 395 --- 41 unchanged lines hidden (view full) --- 437 * User/Current/Active Negotiation settings 438 */ 439 struct ahc_target_tinfo transinfo[16]; 440 441 /* 442 * Per target state bitmasks. 443 */ 444 u_int16_t ultraenb; /* Using ultra sync rate */ | 388} ahc_msg_type; 389 390struct ahc_softc { 391 bus_space_tag_t tag; 392 bus_space_handle_t bsh; 393 bus_dma_tag_t dmat; 394 struct scb_data *scb_data; 395 --- 41 unchanged lines hidden (view full) --- 437 * User/Current/Active Negotiation settings 438 */ 439 struct ahc_target_tinfo transinfo[16]; 440 441 /* 442 * Per target state bitmasks. 443 */ 444 u_int16_t ultraenb; /* Using ultra sync rate */ |
445 u_int16_t sdtrpending; /* Pending SDTR request */ 446 u_int16_t wdtrpending; /* Pending WDTR request */ | |
447 u_int16_t discenable; /* Disconnection allowed */ 448 u_int16_t tagenable; /* Tagged Queuing allowed */ | 445 u_int16_t discenable; /* Disconnection allowed */ 446 u_int16_t tagenable; /* Tagged Queuing allowed */ |
447 u_int16_t targ_msg_req; /* Need negotiation messages */ |
|
449 450 /* 451 * Hooks into the XPT. 452 */ 453 struct cam_sim *sim; 454 struct cam_sim *sim_b; 455 struct cam_path *path; 456 struct cam_path *path_b; --- 19 unchanged lines hidden (view full) --- 476 * Target incoming command FIFO. 477 */ 478 struct target_cmd *targetcmds; 479 u_int8_t tqinfifonext; 480 481 /* 482 * Incoming and outgoing message handling. 483 */ | 448 449 /* 450 * Hooks into the XPT. 451 */ 452 struct cam_sim *sim; 453 struct cam_sim *sim_b; 454 struct cam_path *path; 455 struct cam_path *path_b; --- 19 unchanged lines hidden (view full) --- 475 * Target incoming command FIFO. 476 */ 477 struct target_cmd *targetcmds; 478 u_int8_t tqinfifonext; 479 480 /* 481 * Incoming and outgoing message handling. 482 */ |
483 u_int8_t send_msg_perror; |
|
484 ahc_msg_type msg_type; | 484 ahc_msg_type msg_type; |
485 u_int8_t msg_buf[8]; /* Message we are sending */ 486 u_int msg_len; /* Length of message to send */ 487 u_int msg_index; /* Current index in message */ | 485 u_int8_t msgout_buf[8]; /* Message we are sending */ 486 u_int8_t msgin_buf[8]; /* Message we are receiving */ 487 u_int msgout_len; /* Length of message to send */ 488 u_int msgout_index; /* Current index in msgout */ 489 u_int msgin_index; /* Current index in msgin */ |
488 489 /* 490 * "Bus" addresses of our data structures. 491 */ 492 u_int32_t hscb_busaddr; 493}; 494 495struct full_ahc_softc { --- 40 unchanged lines hidden --- | 490 491 /* 492 * "Bus" addresses of our data structures. 493 */ 494 u_int32_t hscb_busaddr; 495}; 496 497struct full_ahc_softc { --- 40 unchanged lines hidden --- |