gcmd_t
if (APKT2GCMD(ata_pktp) != (gcmd_t *)0) {
gcmd_t *gcmdp)
gcmd_t *gcmdp;
static int ata_hba_start(void *handle, gcmd_t *gcmdp);
static void ata_hba_complete(void *handle, gcmd_t *gcmdp, int do_callback);
static int ata_timeout_func(void *hba_handle, gcmd_t *gcmdp,
gcmd_t *gcmdp,
gcmd_t *gcmdp,
gcmd_t *ap_gcmdp; /* GHD command struct */
void ata_pciide_dma_sg_func(gcmd_t *gcmdp, ddi_dma_cookie_t *dmackp,
gcmd_t *gcmdp = CPKT2GCMD(pktp);
gcmd_t *gcmdp;
gcmd_t *gcmdp = APKT2GCMD(ata_pktp);
gcmd_t *gcmdp = CPKT2GCMD(pktp);
gcmd_t *gcmdp = APKT2GCMD(ata_pktp);
gcmd_t *gcmdp = NULL;
#define CPKT2GCMD(cpkt) ((gcmd_t *)(cpkt)->cp_ctl_private)
gcmd_t *gcmdp,
gcmd_t *gcmdp,
gcmd_t *gcmdp = PKTP2GCMDP(spktp);
gcmd_t *gcmdp)
gcmd_t *gcmdp = PKTP2GCMDP(spktp);
gcmd_t *gcmdp = APKT2GCMD(ata_pktp);
int atapi_ccballoc(gtgt_t *gtgtp, gcmd_t *gcmdp, int cmdlen,
void atapi_ccbfree(gcmd_t *gcmdp);
ghd_doneq_put_head(ccc_t *cccp, gcmd_t *gcmdp)
ghd_doneq_put_tail(ccc_t *cccp, gcmd_t *gcmdp)
static gcmd_t *
gcmd_t *gcmdp;
gcmd_t *gcmdp;
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),
int (*timeout_func)(void *, gcmd_t *, gtgt_t *, gact_t, int),
gcmd_t *poll_gcmdp,
gcmd_t *gcmdp;
static gcmd_t *ghd_doneq_get(ccc_t *cccp);
gcmd_t *poll_gcmdp, gtgt_t *gtgtp, void *intr_status);
ghd_tran_abort(ccc_t *cccp, gcmd_t *gcmdp, gtgt_t *gtgtp, void *intr_status)
gcmd_t *gcmdp,
gcmd_t *gcmdp;
ghd_complete(ccc_t *cccp, gcmd_t *gcmdp)
int (*ccc_hba_start)(void *handle, gcmd_t *);
void (*ccc_hba_complete)(void *handle, gcmd_t *, int);
int (*ccc_timeout_func)(void *handle, gcmd_t *cmdp, gtgt_t *gtgtp,
void ghd_complete(ccc_t *cccp, gcmd_t *cmdp);
void ghd_doneq_put_head(ccc_t *cccp, gcmd_t *cmdp);
void ghd_doneq_put_tail(ccc_t *cccp, gcmd_t *cmdp);
int (*ccc_ccballoc)(gtgt_t *, gcmd_t *, int, int,
void (*ccc_ccbfree)(gcmd_t *),
void (*ccc_sg_func)(gcmd_t *, ddi_dma_cookie_t *,
int (*hba_start)(void *, gcmd_t *),
void (*hba_complete)(void *, gcmd_t *, int),
int (*timeout_func)(void *, gcmd_t *, gtgt_t *,
int ghd_transport(ccc_t *cccp, gcmd_t *cmdp, gtgt_t *gtgtp,
int ghd_tran_abort(ccc_t *cccp, gcmd_t *cmdp, gtgt_t *gtgtp,
gcmd_t *ghd_gcmd_alloc(gtgt_t *gtgtp, int ccblen, int sleep);
void ghd_gcmd_free(gcmd_t *gcmdp);
int (*timeout_func)(void *handle, gcmd_t *, gtgt_t *,
void ghd_timer_newstate(ccc_t *cccp, gcmd_t *cmdp, gtgt_t *gtgtp,
void ghd_timer_start(ccc_t *cccp, gcmd_t *cmdp, long cmd_timeout);
void ghd_timer_stop(ccc_t *cccp, gcmd_t *cmdp);
void ghd_waitq_delete(ccc_t *, gcmd_t *);
#define PKTP2GCMDP(pktp) ((gcmd_t *)(pktp)->pkt_ha_private)
ghd_dump_gcmd(gcmd_t *P)
ghd_dmaget_next_attr(ccc_t *cccp, gcmd_t *gcmdp, long max_transfer_cnt,
gcmd_t *gcmdp,
ghd_dmafree_attr(gcmd_t *gcmdp)
gcmd_t *gcmdp,
int ghd_dmaget_attr(ccc_t *cccp, gcmd_t *gcmdp, long count, int sg_size,
int ghd_dma_buf_bind_attr(ccc_t *ccp, gcmd_t *gcmdp, struct buf *bp,
void ghd_dmafree_attr(gcmd_t *gcmdp);
uint_t ghd_dmaget_next_attr(ccc_t *cccp, gcmd_t *gcmdp, long max_transfer_cnt,
gcmd_t gcmd; /* this must be first */
gcmd_t *
gcmd_t *gcmdp;
ghd_gcmd_free(gcmd_t *gcmdp)
gcmd_t *gcmdp;
#define GW_PADDED_LENGTH ROUNDUP(sizeof (gcmd_t))
gcmd_t gw_gcmd;
gcmd_t *gcmdp = PKTP2GCMDP(pktp);
gcmd_t *gcmdp;
gcmd_t *gcmdp;
gcmdp = (gcmd_t *)L2_next(&cccp->ccc_activel);
gcmdp = (gcmd_t *)L2_next(&gcmdp->cmd_timer_link);
ghd_timer_newstate(ccc_t *cccp, gcmd_t *gcmdp, gtgt_t *gtgtp,
int (*func)(void *, gcmd_t *, gtgt_t *, gact_t, int);
gcmd_t gsav;
gcmd_t *gcmdp_scan;
static gcmd_t *ghd_timeout_get(ccc_t *cccp);
for (gcmdp_scan = (gcmd_t *)L2_next(&cccp->ccc_activel);
gcmdp_scan = (gcmd_t *)L2_next(&gcmdp_scan->cmd_timer_link)) {
gcmd_t *gcmdp;
static gcmd_t *
gcmd_t *gcmdp;
gcmdp = (gcmd_t *)L2_next(&cccp->ccc_activel);
gcmdp = (gcmd_t *)L2_next(&gcmdp->cmd_timer_link);
int (*timeout_func)(void *, gcmd_t *, gtgt_t *, gact_t, int))
ghd_timer_start(ccc_t *cccp, gcmd_t *gcmdp, long cmd_timeout)
ghd_timer_stop(ccc_t *cccp, gcmd_t *gcmdp)
gcmd_t *gcmdp;
ghd_waitq_delete(ccc_t *cccp, gcmd_t *gcmdp)
gcmd_t *gcmdp;
gcmdp = (gcmd_t *)L2_remove_head(&GHBA_QHEAD(cccp));
int atapi_ccballoc(gtgt_t *gtgtp, gcmd_t *gcmdp, int cmdlen,
void atapi_ccbfree(gcmd_t *gcmdp);
int (*ccc_hba_start)(void *handle, gcmd_t *);
void (*ccc_hba_complete)(void *handle, gcmd_t *, int);
int (*ccc_timeout_func)(void *handle, gcmd_t *cmdp, gtgt_t *gtgtp,
void ghd_complete(ccc_t *cccp, gcmd_t *cmdp);
void ghd_async_complete(ccc_t *cccp, gcmd_t *cmdp);
void ghd_doneq_put(ccc_t *cccp, gcmd_t *cmdp);
int (*ccc_ccballoc)(gtgt_t *, gcmd_t *, int, int,
void (*ccc_ccbfree)(gcmd_t *),
void (*ccc_sg_func)(gcmd_t *, ddi_dma_cookie_t *,
int (*hba_start)(void *, gcmd_t *),
void (*hba_complete)(void *, gcmd_t *, int),
int (*timeout_func)(void *, gcmd_t *, gtgt_t *,
int ghd_transport(ccc_t *cccp, gcmd_t *cmdp, gtgt_t *gtgtp,
int ghd_tran_abort(ccc_t *cccp, gcmd_t *cmdp, gtgt_t *gtgtp,
gcmd_t *ghd_gcmd_alloc(gtgt_t *gtgtp, int ccblen, int sleep);
void ghd_gcmd_free(gcmd_t *gcmdp);
int (*timeout_func)(void *handle, gcmd_t *, gtgt_t *,
void ghd_timer_newstate(ccc_t *cccp, gcmd_t *cmdp, gtgt_t *gtgtp,
void ghd_timer_start(ccc_t *cccp, gcmd_t *cmdp, uint32_t cmd_timeout);
void ghd_timer_stop(ccc_t *cccp, gcmd_t *cmdp);
void ghd_waitq_delete(ccc_t *, gcmd_t *);
#define PKTP2GCMDP(pktp) ((gcmd_t *)(pktp)->pkt_ha_private)