Lines Matching refs:scb
92 #define SCB_IS_SCSIBUS_B(ahd, scb) (0)
93 #define SCB_GET_OUR_ID(scb) \
94 SCSIID_OUR_ID((scb)->hscb->scsiid)
95 #define SCB_GET_TARGET(ahd, scb) \
96 SCSIID_TARGET((ahd), (scb)->hscb->scsiid)
97 #define SCB_GET_CHANNEL(ahd, scb) \
98 SCSIID_CHANNEL(ahd, (scb)->hscb->scsiid)
99 #define SCB_GET_LUN(scb) \
100 ((scb)->hscb->lun)
101 #define SCB_GET_TARGET_OFFSET(ahd, scb) \
102 SCB_GET_TARGET(ahd, scb)
103 #define SCB_GET_TARGET_MASK(ahd, scb) \
104 (0x01 << (SCB_GET_TARGET_OFFSET(ahd, scb)))
106 #define SCB_IS_SILENT(scb) \
108 && (((scb)->flags & SCB_SILENT) != 0))
110 #define SCB_IS_SILENT(scb) \
111 (((scb)->flags & SCB_SILENT) != 0)
125 #define SCB_GET_TAG(scb) \
126 ahd_le16toh(scb->hscb->tag)
136 #define AHD_GET_SCB_COL_IDX(ahd, scb) \
137 ((SCB_GET_LUN(scb) << 4) | SCB_GET_TARGET(ahd, scb))
139 #define AHD_SET_SCB_COL_IDX(scb, col_idx) \
141 (scb)->hscb->scsiid = ((col_idx) << TID_SHIFT) & TID; \
142 (scb)->hscb->lun = ((col_idx) >> 4) & (AHD_NUM_LUNS_NONPKT-1); \
175 * The maximum amount of SCB storage in hardware on a controller.
196 * The maximum amount of SCB storage we allocate in host memory.
254 /* The wrong SCB is accessed to check the abort pending bit. */
378 AHD_SCB_CONFIG_USED = 0x80000,/* No SEEPROM but SCB had info. */
386 /************************* Hardware SCB Definition ***************************/
389 * The driver keeps up to MAX_SCB scb structures per card in memory. The SCB
390 * consists of a "hardware SCB" mirroring the fields available on the card
393 * To minimize space utilization, a portion of the hardware scb stores
406 * an SCB after passing the cdb to the target. The kernel
426 * Initiator mode SCB shared data area.
428 * the sense buffer address in the SCB. This allows
448 * Target mode version of the shared data SCB segment.
467 * The scb is presented to the sequencer with the dataptr and datacnt
485 * sgptr and DMA the scb back into host memory. To summarize:
495 * o A residual can only have occurred if a completed scb has the
526 /************************ Kernel SCB Definitions ******************************/
528 * Some fields of the SCB are OS dependent. Here we collect the
530 * in there SCB definition.
573 * The current state of this SCB.
590 * this SCB so we gave ourselves
619 struct scb {
622 SLIST_ENTRY(scb) sle;
623 LIST_ENTRY(scb) le;
624 TAILQ_ENTRY(scb) tqe;
627 SLIST_ENTRY(scb) sle;
628 LIST_ENTRY(scb) le;
629 TAILQ_ENTRY(scb) tqe;
633 struct scb *col_scb;
652 TAILQ_HEAD(scb_tailq, scb);
653 LIST_HEAD(scb_list, scb);
674 * Mapping from tag to SCB.
676 struct scb *scbindex[AHD_SCB_MAX];
1036 /* Host and sequencer SCB counts */
1084 LIST_HEAD(, scb) pending_scbs;
1357 /************************** SCB and SCB queue management **********************/
1360 struct scb *);
1361 int ahd_match_scb(struct ahd_softc *, struct scb *,
1383 struct scb *ahd_get_scb(struct ahd_softc *, u_int);
1384 void ahd_free_scb(struct ahd_softc *, struct scb *);
1419 void ahd_freeze_devq(struct ahd_softc *, struct scb *);
1425 void ahd_handle_scb_status(struct ahd_softc *, struct scb *);
1427 struct scb *);
1428 void ahd_calc_residual(struct ahd_softc *, struct scb *);
1503 void ahd_print_scb(struct scb *);
1506 void ahd_dump_sglist(struct scb *);