/titanic_50/usr/src/uts/intel/io/dktp/hba/ghd/ |
H A D | ghd.c | 45 static gcmd_t *ghd_doneq_get(ccc_t *cccp); 46 static void ghd_doneq_pollmode_enter(ccc_t *cccp); 47 static void ghd_doneq_pollmode_exit(ccc_t *cccp); 49 static void ghd_do_reset_notify_callbacks(ccc_t *cccp); 51 static int ghd_poll(ccc_t *cccp, gpoll_t polltype, ulong_t polltime, 66 ghd_doneq_init(ccc_t *cccp) in ghd_doneq_init() argument 70 L2_INIT(&cccp->ccc_doneq); in ghd_doneq_init() 71 cccp->ccc_hba_pollmode = TRUE; in ghd_doneq_init() 73 if (ddi_add_softintr(cccp->ccc_hba_dip, DDI_SOFTINT_LOW, in ghd_doneq_init() 74 &cccp->ccc_doneq_softid, &iblock, NULL, in ghd_doneq_init() [all …]
|
H A D | ghd_waitq.c | 41 ccc_t *cccp, in ghd_target_init() argument 64 gtgtp->gt_ccc = cccp; in ghd_target_init() 80 mutex_enter(&cccp->ccc_hba_mutex); in ghd_target_init() 81 mutex_enter(&cccp->ccc_waitq_mutex); in ghd_target_init() 90 gdevp = CCCP2GDEVP(cccp); in ghd_target_init() 117 GDEV_QATTACH(gdevp, cccp, maxactive); in ghd_target_init() 131 ghd_waitq_process_and_mutex_exit(cccp); in ghd_target_init() 140 ccc_t *cccp, in ghd_target_free() argument 154 mutex_enter(&cccp->ccc_hba_mutex); in ghd_target_free() 155 mutex_enter(&cccp->ccc_waitq_mutex); in ghd_target_free() [all …]
|
H A D | ghd_timer.c | 42 static gcmd_t *ghd_timeout_get(ccc_t *cccp); 43 static int ghd_timeout_loop(ccc_t *cccp); 173 ghd_timeout_loop(ccc_t *cccp) in ghd_timeout_loop() argument 179 mutex_enter(&cccp->ccc_activel_mutex); in ghd_timeout_loop() 181 gcmdp = (gcmd_t *)L2_next(&cccp->ccc_activel); in ghd_timeout_loop() 192 mutex_exit(&cccp->ccc_activel_mutex); in ghd_timeout_loop() 243 ccc_t *cccp; in ghd_timeout() local 256 if ((cccp = tmrp->t_ccc_listp) == NULL) { in ghd_timeout() 269 if (ghd_timeout_loop(cccp)) { in ghd_timeout() 270 cccp->ccc_timeout_pending = 1; in ghd_timeout() [all …]
|
H A D | ghd.h | 207 #define GHBA_QHEAD(cccp) ((cccp)->ccc_waitq.Q_qhead) argument 208 #define GHBA_MAXACTIVE(cccp) ((cccp)->ccc_waitq.Q_maxactive) argument 209 #define GHBA_NACTIVE(cccp) ((cccp)->ccc_waitq.Q_nactive) argument 212 #define CCCP_INIT(cccp) { \ argument 213 L1HEADER_INIT(&(cccp)->ccc_devs); \ 214 L2_INIT(&(cccp)->ccc_doneq); \ 215 L2_INIT(&(cccp)->ccc_reset_notify_list); \ 219 #define CCCP2GDEVP(cccp) \ argument 220 (L1_EMPTY(&(cccp)->ccc_devs) \ 222 : (gdev_t *)((cccp)->ccc_devs.l1_headp->le_datap)) [all …]
|
H A D | ghd_scsa.c | 36 static struct scsi_pkt *ghd_pktalloc(ccc_t *cccp, struct scsi_address *ap, 86 ghd_pktalloc(ccc_t *cccp, in ghd_pktalloc() argument 104 pktp = scsi_hba_pkt_alloc(cccp->ccc_hba_dip, ap, cmdlen, statuslen, in ghd_pktalloc() 135 if (!(*cccp->ccc_ccballoc)(gtgtp, gcmdp, cmdlen, statuslen, tgtlen, in ghd_pktalloc() 151 ghd_pktfree(ccc_t *cccp, in ghd_pktfree() argument 156 (void *)cccp, (void *)ap, (void *)pktp)); in ghd_pktfree() 159 (*cccp->ccc_ccbfree)(PKTP2GCMDP(pktp)); in ghd_pktfree() 167 ghd_tran_init_pkt_attr(ccc_t *cccp, in ghd_tran_init_pkt_attr() argument 190 pktp = ghd_pktalloc(cccp, ap, cmdlen, statuslen, tgtlen, in ghd_tran_init_pkt_attr() 239 if (!ghd_dma_buf_bind_attr(cccp, gcmdp, bp, dma_flags, in ghd_tran_init_pkt_attr() [all …]
|
H A D | ghd_waitq.h | 83 #define GDEV_QATTACH(gdevp, cccp, max) { \ argument 84 GHD_WAITQ_INIT(&(gdevp)->gd_waitq, &(cccp)->ccc_waitq, (max)); \ 88 L1_add(&(cccp)->ccc_devs, &(gdevp)->gd_devlist, (gdevp)); \ 91 #define GDEV_QDETACH(gdevp, cccp) \ argument 92 L1_delete(&(cccp)->ccc_devs, &(gdevp)->gd_devlist)
|
H A D | ghd_dma.c | 51 ghd_dma_buf_bind_attr(ccc_t *cccp, in ghd_dma_buf_bind_attr() argument 71 status = ddi_dma_alloc_handle(cccp->ccc_hba_dip, sg_attrp, callback, in ghd_dma_buf_bind_attr() 135 ghd_dmaget_next_attr(ccc_t *cccp, gcmd_t *gcmdp, long max_transfer_cnt, in ghd_dmaget_next_attr() argument 160 (*cccp->ccc_sg_func)(gcmdp, &cookie, single_seg, num_segs); in ghd_dmaget_next_attr() 196 ghd_dmaget_attr(ccc_t *cccp, in ghd_dmaget_attr() argument 242 *xfer = ghd_dmaget_next_attr(cccp, gcmdp, count, sg_size, cookie); in ghd_dmaget_attr()
|
H A D | ghd_dma.h | 41 int ghd_dmaget_attr(ccc_t *cccp, gcmd_t *gcmdp, long count, int sg_size, 50 uint_t ghd_dmaget_next_attr(ccc_t *cccp, gcmd_t *gcmdp, long max_transfer_cnt,
|
H A D | ghd_scsa.h | 50 void ghd_pktfree(ccc_t *cccp, struct scsi_address *ap, 53 struct scsi_pkt *ghd_tran_init_pkt_attr(ccc_t *cccp, struct scsi_address *ap,
|
/titanic_50/usr/src/uts/sun/sys/dada/adapters/ghd/ |
H A D | ghd.h | 190 #define GHBA_QHEAD(cccp) ((cccp)->ccc_waitq.Q_qhead) argument 191 #define GHBA_MAXACTIVE(cccp) ((cccp)->ccc_waitq.Q_maxactive) argument 192 #define GHBA_NACTIVE(cccp) ((cccp)->ccc_waitq.Q_nactive) argument 195 #define CCCP_INIT(cccp) { \ argument 196 L1HEADER_INIT(&(cccp)->ccc_devs); \ 197 L2_INIT(&(cccp)->ccc_doneq); \ 201 #define CCCP2GDEVP(cccp) \ argument 202 (L1_EMPTY(&(cccp)->ccc_devs) \ 204 : (gdev_t *)((cccp)->ccc_devs.l1_headp->le_datap)) 213 void ghd_complete(ccc_t *cccp, gcmd_t *cmdp); [all …]
|
H A D | ghd_waitq.h | 83 #define GDEV_QATTACH(gdevp, cccp, max) { \ argument 84 GHD_WAITQ_INIT(&(gdevp)->gd_waitq, &(cccp)->ccc_waitq, (max)); \ 88 L1_add(&(cccp)->ccc_devs, &(gdevp)->gd_devlist, (gdevp)); \ 91 #define GDEV_QDETACH(gdevp, cccp) \ argument 92 L1_delete(&(cccp)->ccc_devs, &(gdevp)->gd_devlist)
|
H A D | ghd_scsa.h | 49 void ghd_pktfree(ccc_t *cccp, struct scsi_address *ap,
|