/illumos-gate/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) argument 70 L2_INIT(&cccp->ccc_doneq); 71 cccp->ccc_hba_pollmode = TRUE; 73 if (ddi_add_softintr(cccp->ccc_hba_dip, DDI_SOFTINT_LOW, 74 &cccp 96 ghd_complete(ccc_t *cccp, gcmd_t *gcmdp) argument 111 ghd_doneq_put_head(ccc_t *cccp, gcmd_t *gcmdp) argument 124 ghd_doneq_put_tail(ccc_t *cccp, gcmd_t *gcmdp) argument 130 ghd_doneq_get(ccc_t *cccp) argument 144 ghd_doneq_pollmode_enter(ccc_t *cccp) argument 155 ghd_doneq_pollmode_exit(ccc_t *cccp) argument 195 ccc_t *cccp = (ccc_t *)arg; local 238 ghd_do_reset_notify_callbacks(ccc_t *cccp) argument 289 ghd_register(char *labelp, ccc_t *cccp, dev_info_t *dip, int inumber, void *hba_handle, int (*ccballoc)(gtgt_t *, gcmd_t *, int, int, int, int), void (*ccbfree)(gcmd_t *), void (*sg_func)(gcmd_t *, ddi_dma_cookie_t *, int, int), int (*hba_start)(void *, gcmd_t *), void (*hba_complete)(void *, gcmd_t *, int), uint_t (*int_handler)(caddr_t), int (*get_status)(void *, void *), void (*process_intr)(void *, void *), int (*timeout_func)(void *, gcmd_t *, gtgt_t *, gact_t, int), tmr_t *tmrp, void (*hba_reset_notify_callback)(gtgt_t *, void (*)(caddr_t), caddr_t)) argument 377 ghd_unregister(ccc_t *cccp) argument 390 ghd_intr(ccc_t *cccp, void *intr_status) argument 439 ghd_poll(ccc_t *cccp, gpoll_t polltype, ulong_t polltime, gcmd_t *poll_gcmdp, gtgt_t *gtgtp, void *intr_status) argument 573 ghd_tran_abort(ccc_t *cccp, gcmd_t *gcmdp, gtgt_t *gtgtp, void *intr_status) argument 633 ghd_tran_abort_lun(ccc_t *cccp, gtgt_t *gtgtp, void *intr_status) argument 670 ghd_tran_reset_target(ccc_t *cccp, gtgt_t *gtgtp, void *intr_status) argument 703 ghd_tran_reset_bus(ccc_t *cccp, gtgt_t *gtgtp, void *intr_status) argument 730 ghd_transport(ccc_t *cccp, gcmd_t *gcmdp, gtgt_t *gtgtp, ulong_t timeout, int polled, void *intr_status) argument 835 ghd_reset_notify(ccc_t *cccp, gtgt_t *gtgtp, int flag, void (*callback)(caddr_t), caddr_t arg) argument 895 ghd_freeze_waitq(ccc_t *cccp, int delay) argument 909 ghd_queue_hold(ccc_t *cccp) argument 919 ghd_queue_unhold(ccc_t *cccp) argument 935 ghd_trigger_reset_notify(ccc_t *cccp) argument [all...] |
H A D | ghd_waitq.c | 41 ccc_t *cccp, 64 gtgtp->gt_ccc = cccp; 80 mutex_enter(&cccp->ccc_hba_mutex); 81 mutex_enter(&cccp->ccc_waitq_mutex); 90 gdevp = CCCP2GDEVP(cccp); 117 GDEV_QATTACH(gdevp, cccp, maxactive); 131 ghd_waitq_process_and_mutex_exit(cccp); 140 ccc_t *cccp, 154 mutex_enter(&cccp->ccc_hba_mutex); 155 mutex_enter(&cccp 39 ghd_target_init(dev_info_t *hba_dip, dev_info_t *tgt_dip, ccc_t *cccp, size_t tgt_private_size, void *hba_private, ushort_t target, uchar_t lun) argument 138 ghd_target_free(dev_info_t *hba_dip, dev_info_t *tgt_dip, ccc_t *cccp, gtgt_t *gtgtp) argument 199 ghd_waitq_shuffle_up(ccc_t *cccp, gdev_t *gdevp) argument 250 ghd_waitq_delete(ccc_t *cccp, gcmd_t *gcmdp) argument 324 ghd_waitq_process_and_mutex_hold(ccc_t *cccp) argument 418 ghd_waitq_process_and_mutex_exit(ccc_t *cccp) argument [all...] |
H A D | ghd.h | 207 #define GHBA_QHEAD(cccp) ((cccp)->ccc_waitq.Q_qhead) 208 #define GHBA_MAXACTIVE(cccp) ((cccp)->ccc_waitq.Q_maxactive) 209 #define GHBA_NACTIVE(cccp) ((cccp)->ccc_waitq.Q_nactive) 212 #define CCCP_INIT(cccp) { \ 213 L1HEADER_INIT(&(cccp)->ccc_devs); \ 214 L2_INIT(&(cccp)->ccc_doneq); \ 215 L2_INIT(&(cccp) [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) argument 179 mutex_enter(&cccp->ccc_activel_mutex); 181 gcmdp = (gcmd_t *)L2_next(&cccp->ccc_activel); 192 mutex_exit(&cccp->ccc_activel_mutex); 243 ccc_t *cccp; local 256 if ((cccp = tmrp->t_ccc_listp) == NULL) { 269 if (ghd_timeout_loop(cccp)) { 270 cccp 314 ghd_timer_newstate(ccc_t *cccp, gcmd_t *gcmdp, gtgt_t *gtgtp, gact_t action, int calltype) argument 554 ccc_t *cccp = (ccc_t *)arg; local 595 ghd_timer_poll(ccc_t *cccp, gtimer_poll_t calltype) argument 668 ghd_timeout_get(ccc_t *cccp) argument 775 ghd_timer_attach(ccc_t *cccp, tmr_t *tmrp, int (*timeout_func)(void *, gcmd_t *, gtgt_t *, gact_t, int)) argument 823 ghd_timer_detach(ccc_t *cccp) argument 866 ghd_timer_start(ccc_t *cccp, gcmd_t *gcmdp, long cmd_timeout) argument 894 ghd_timer_stop(ccc_t *cccp, gcmd_t *gcmdp) argument [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, argument 104 pktp = scsi_hba_pkt_alloc(cccp->ccc_hba_dip, ap, cmdlen, statuslen, 135 if (!(*cccp->ccc_ccballoc)(gtgtp, gcmdp, cmdlen, statuslen, tgtlen, 151 ghd_pktfree(ccc_t *cccp, argument 155 GDBG_PKT(("ghd_pktfree: cccp 0x%p ap 0x%p pktp 0x%p\n", 156 (void *)cccp, (void *)ap, (void *)pktp)); 159 (*cccp->ccc_ccbfree)(PKTP2GCMDP(pktp)); 167 ghd_tran_init_pkt_attr(ccc_t *cccp, argument 190 pktp = ghd_pktalloc(cccp, a [all...] |
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,
|
H A D | ghd_waitq.h | 83 #define GDEV_QATTACH(gdevp, cccp, max) { \ 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) \ 92 L1_delete(&(cccp)->ccc_devs, &(gdevp)->gd_devlist)
|
H A D | ghd_dma.c | 51 ghd_dma_buf_bind_attr(ccc_t *cccp, argument 71 status = ddi_dma_alloc_handle(cccp->ccc_hba_dip, sg_attrp, callback, 135 ghd_dmaget_next_attr(ccc_t *cccp, gcmd_t *gcmdp, long max_transfer_cnt, argument 160 (*cccp->ccc_sg_func)(gcmdp, &cookie, single_seg, num_segs); 196 ghd_dmaget_attr(ccc_t *cccp, argument 242 *xfer = ghd_dmaget_next_attr(cccp, gcmdp, count, sg_size, cookie);
|
/illumos-gate/usr/src/uts/sun/sys/dada/adapters/ghd/ |
H A D | ghd.h | 190 #define GHBA_QHEAD(cccp) ((cccp)->ccc_waitq.Q_qhead) 191 #define GHBA_MAXACTIVE(cccp) ((cccp)->ccc_waitq.Q_maxactive) 192 #define GHBA_NACTIVE(cccp) ((cccp)->ccc_waitq.Q_nactive) 195 #define CCCP_INIT(cccp) { \ 196 L1HEADER_INIT(&(cccp)->ccc_devs); \ 197 L2_INIT(&(cccp)->ccc_doneq); \ 201 #define CCCP2GDEVP(cccp) \ [all...] |
H A D | ghd_scsa.h | 49 void ghd_pktfree(ccc_t *cccp, struct scsi_address *ap,
|
H A D | ghd_waitq.h | 83 #define GDEV_QATTACH(gdevp, cccp, max) { \ 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) \ 92 L1_delete(&(cccp)->ccc_devs, &(gdevp)->gd_devlist)
|