Lines Matching full:scb
76 #define SCB_IS_SCSIBUS_B(ahd, scb) (0) argument
77 #define SCB_GET_OUR_ID(scb) \ argument
78 SCSIID_OUR_ID((scb)->hscb->scsiid)
79 #define SCB_GET_TARGET(ahd, scb) \ argument
80 SCSIID_TARGET((ahd), (scb)->hscb->scsiid)
81 #define SCB_GET_CHANNEL(ahd, scb) \ argument
82 SCSIID_CHANNEL(ahd, (scb)->hscb->scsiid)
83 #define SCB_GET_LUN(scb) \ argument
84 ((scb)->hscb->lun)
85 #define SCB_GET_TARGET_OFFSET(ahd, scb) \ argument
86 SCB_GET_TARGET(ahd, scb)
87 #define SCB_GET_TARGET_MASK(ahd, scb) \ argument
88 (0x01 << (SCB_GET_TARGET_OFFSET(ahd, scb)))
90 #define SCB_IS_SILENT(scb) \ argument
92 && (((scb)->flags & SCB_SILENT) != 0))
94 #define SCB_IS_SILENT(scb) \ argument
95 (((scb)->flags & SCB_SILENT) != 0)
109 #define SCB_GET_TAG(scb) \ argument
110 ahd_le16toh(scb->hscb->tag)
120 #define AHD_GET_SCB_COL_IDX(ahd, scb) \ argument
121 ((SCB_GET_LUN(scb) << 4) | SCB_GET_TARGET(ahd, scb))
123 #define AHD_SET_SCB_COL_IDX(scb, col_idx) \ argument
125 (scb)->hscb->scsiid = ((col_idx) << TID_SHIFT) & TID; \
126 (scb)->hscb->lun = ((col_idx) >> 4) & (AHD_NUM_LUNS_NONPKT-1); \
158 * The maximum amount of SCB storage in hardware on a controller.
179 * The maximum amount of SCB storage we allocate in host memory.
239 /* The wrong SCB is accessed to check the abort pending bit. */
363 AHD_SCB_CONFIG_USED = 0x80000,/* No SEEPROM but SCB had info. */
371 /************************* Hardware SCB Definition ***************************/
374 * The driver keeps up to MAX_SCB scb structures per card in memory. The SCB
375 * consists of a "hardware SCB" mirroring the fields available on the card
378 * To minimize space utilization, a portion of the hardware scb stores
391 * an SCB after passing the cdb to the target. The kernel
411 * Initiator mode SCB shared data area.
413 * the sense buffer address in the SCB. This allows
433 * Target mode version of the shared data SCB segment.
452 * The scb is presented to the sequencer with the dataptr and datacnt
470 * sgptr and dma the scb back into host memory. To sumarize:
480 * o A residual can only have occurred if a completed scb has the
511 /************************ Kernel SCB Definitions ******************************/
513 * Some fields of the SCB are OS dependent. Here we collect the
515 * in there SCB definition.
548 * The current state of this SCB.
565 * this SCB so we gave ourselves
592 struct scb { struct
595 SLIST_ENTRY(scb) sle; argument
596 LIST_ENTRY(scb) le;
597 TAILQ_ENTRY(scb) tqe;
600 SLIST_ENTRY(scb) sle; argument
601 LIST_ENTRY(scb) le;
602 TAILQ_ENTRY(scb) tqe;
606 struct scb *col_scb; argument
623 TAILQ_HEAD(scb_tailq, scb); argument
624 BSD_LIST_HEAD(scb_list, scb);
645 * Mapping from tag to SCB.
647 struct scb *scbindex[AHD_SCB_MAX];
652 bus_dma_tag_t hscb_dmat; /* dmat for our hardware SCB array */
1018 /* Host and sequencer SCB counts */
1064 BSD_LIST_HEAD(, scb) pending_scbs;
1338 /************************** SCB and SCB queue management **********************/
1340 struct scb *scb);
1360 struct scb *ahd_get_scb(struct ahd_softc *ahd, u_int col_idx);
1361 void ahd_free_scb(struct ahd_softc *ahd, struct scb *scb);