Home | History | Annotate | Download | only in ic

Lines Matching refs:scb

178 #define	SCB_IS_SCSIBUS_B(ahc, scb) \
179 (SCSIID_CHANNEL(ahc, (scb)->hscb->scsiid) == 'B')
180 #define SCB_GET_OUR_ID(scb) \
181 SCSIID_OUR_ID((scb)->hscb->scsiid)
182 #define SCB_GET_TARGET(ahc, scb) \
183 SCSIID_TARGET((ahc), (scb)->hscb->scsiid)
184 #define SCB_GET_CHANNEL(ahc, scb) \
185 SCSIID_CHANNEL(ahc, (scb)->hscb->scsiid)
186 #define SCB_GET_LUN(scb) \
187 ((scb)->hscb->lun)
188 #define SCB_GET_TARGET_OFFSET(ahc, scb) \
189 (SCB_GET_TARGET(ahc, scb))
190 #define SCB_GET_TARGET_MASK(ahc, scb) \
191 (0x01 << (SCB_GET_TARGET_OFFSET(ahc, scb)))
193 #define SCB_IS_SILENT(scb) \
195 && (((scb)->flags & SCB_SILENT) != 0))
197 #define SCB_IS_SILENT(scb) \
198 (((scb)->flags & SCB_SILENT) != 0)
233 * The maximum amount of SCB storage in hardware on a controller.
247 * 3) Our input queue scheme requires one SCB to always be reserved
260 * The maximum amount of SCB storage we allocate in host memory. This
261 * number should reflect the 1 additional SCB we require to handle our
398 * An SCB upload using the SCB channel's
448 * stored in SCB space rather
453 AHC_PAGESCBS = 0x400000, /* Enable SCB paging */
469 /************************* Hardware SCB Definition ***************************/
472 * The driver keeps up to MAX_SCB scb structures per card in memory. The SCB
473 * consists of a "hardware SCB" mirroring the fields available on the card
476 * To minimize space utilization, a portion of the hardware scb stores
489 * an SCB after passing the cdb to the target. The kernel
500 * Target mode version of the shared data SCB segment.
515 * in the SCB. For longer cdbs, we embed the address
526 * The scb is presented to the sequencer with the dataptr and datacnt
543 * will set the SG_RESID_VALID flag in sgptr and DMA the scb back into
554 * o A residual has occurred if a completed scb has the
573 * Index into our kernel SCB array.
582 * "Disconnected SCB" lists down
596 /************************ Kernel SCB Definitions ******************************/
598 * Some fields of the SCB are OS dependent. Here we collect the
600 * in there SCB definition.
637 * The current state of this SCB.
644 * this SCB so we gave ourselves
679 struct scb {
682 SLIST_ENTRY(scb) sle;
683 TAILQ_ENTRY(scb) tqe;
685 LIST_ENTRY(scb) pending_links;
701 SLIST_HEAD(, scb) free_scbs; /*
705 struct scb *scbindex[256]; /*
706 * Mapping from tag to SCB.
715 struct scb *scbarray; /* Array of kernel SCBs */
716 struct scsi_sense_data *sense; /* Per SCB sense data */
995 TAILQ_HEAD(scb_tailq, scb);
1015 /* Host and sequencer SCB counts */
1041 struct scb *next_queued_scb;
1046 LIST_HEAD(, scb) pending_scbs;
1266 /************************** SCB and SCB queue management **********************/
1270 void ahc_qinfifo_requeue_tail(struct ahc_softc *, struct scb *);
1271 int ahc_match_scb(struct ahc_softc *, struct scb *,
1315 void ahc_freeze_devq(struct ahc_softc *, struct scb *);
1320 void ahc_calc_residual(struct ahc_softc *, struct scb *);
1390 void ahc_print_scb(struct scb *);