Lines Matching refs:pCmd
272 static void hpt_flush_done(PCOMMAND pCmd) in hpt_flush_done() argument
274 PVDEV vd = pCmd->target; in hpt_flush_done()
279 pCmd->target = vd; in hpt_flush_done()
280 pCmd->Result = RETURN_PENDING; in hpt_flush_done()
281 vdev_queue_cmd(pCmd); in hpt_flush_done()
285 *(int *)pCmd->priv = 1; in hpt_flush_done()
286 wakeup(pCmd); in hpt_flush_done()
294 PCOMMAND pCmd; in hpt_flush_vdev() local
308 pCmd = ldm_alloc_cmds(vd->vbus, count); in hpt_flush_vdev()
310 if (!pCmd) { in hpt_flush_vdev()
314 pCmd->type = CMD_TYPE_FLUSH; in hpt_flush_vdev()
315 pCmd->flags.hard_flush = 1; in hpt_flush_vdev()
316 pCmd->target = vd; in hpt_flush_vdev()
317 pCmd->done = hpt_flush_done; in hpt_flush_vdev()
319 pCmd->priv = &done; in hpt_flush_vdev()
321 ldm_queue_cmd(pCmd); in hpt_flush_vdev()
324 while (hpt_sleep(vbus_ext, pCmd, PPAUSE, "hptfls", HPT_OSM_TIMEOUT)) { in hpt_flush_vdev()
329 KdPrint(("flush result %d", pCmd->Result)); in hpt_flush_vdev()
331 if (pCmd->Result!=RETURN_SUCCESS) in hpt_flush_vdev()
334 ldm_free_cmds(pCmd); in hpt_flush_vdev()
429 PCOMMAND pCmd = (PCOMMAND)arg; in hpt_timeout() local
430 POS_CMDEXT ext = (POS_CMDEXT)pCmd->priv; in hpt_timeout()
432 KdPrint(("pCmd %p timeout", pCmd)); in hpt_timeout()
437 static void os_cmddone(PCOMMAND pCmd) in os_cmddone() argument
439 POS_CMDEXT ext = (POS_CMDEXT)pCmd->priv; in os_cmddone()
442 KdPrint(("os_cmddone(%p, %d)", pCmd, pCmd->Result)); in os_cmddone()
446 switch(pCmd->Result) { in os_cmddone()
470 if (pCmd->flags.data_in) { in os_cmddone()
473 else if (pCmd->flags.data_out) { in os_cmddone()
480 ldm_free_cmds(pCmd); in os_cmddone()
484 static int os_buildsgl(PCOMMAND pCmd, PSG pSg, int logical) in os_buildsgl() argument
486 POS_CMDEXT ext = (POS_CMDEXT)pCmd->priv; in os_buildsgl()
503 PCOMMAND pCmd = (PCOMMAND)arg; in hpt_io_dmamap_callback() local
504 POS_CMDEXT ext = (POS_CMDEXT)pCmd->priv; in hpt_io_dmamap_callback()
505 PSG psg = pCmd->psg; in hpt_io_dmamap_callback()
508 HPT_ASSERT(pCmd->flags.physical_sg); in hpt_io_dmamap_callback()
523 if (pCmd->flags.data_in) { in hpt_io_dmamap_callback()
527 else if (pCmd->flags.data_out) { in hpt_io_dmamap_callback()
532 callout_reset(&ext->timeout, HPT_OSM_TIMEOUT, hpt_timeout, pCmd); in hpt_io_dmamap_callback()
533 ldm_queue_cmd(pCmd); in hpt_io_dmamap_callback()
540 PCOMMAND pCmd; in hpt_scsi_io() local
660 pCmd = ldm_alloc_cmds(vbus, vd->cmds_per_request); in hpt_scsi_io()
661 if(!pCmd){ in hpt_scsi_io()
671 pCmd->uCmd.Ide.Lba = ((HPT_U32)cdb[1] << 16) | ((HPT_U32)cdb[2] << 8) | (HPT_U32)cdb[3]; in hpt_scsi_io()
672 pCmd->uCmd.Ide.nSectors = (HPT_U16) cdb[4]; in hpt_scsi_io()
686 pCmd->uCmd.Ide.Lba = block; in hpt_scsi_io()
687 pCmd->uCmd.Ide.nSectors = (HPT_U16)cdb[13] | ((HPT_U16)cdb[12]<<8); in hpt_scsi_io()
692 …pCmd->uCmd.Ide.Lba = (HPT_U32)cdb[5] | ((HPT_U32)cdb[4] << 8) | ((HPT_U32)cdb[3] << 16) | ((HPT_U3… in hpt_scsi_io()
693 pCmd->uCmd.Ide.nSectors = (HPT_U16) cdb[8] | ((HPT_U16)cdb[7]<<8); in hpt_scsi_io()
701 pCmd->flags.data_in = 1; in hpt_scsi_io()
706 pCmd->flags.data_out = 1; in hpt_scsi_io()
709 pCmd->priv = ext = cmdext_get(vbus_ext); in hpt_scsi_io()
712 pCmd->target = vd; in hpt_scsi_io()
713 pCmd->done = os_cmddone; in hpt_scsi_io()
714 pCmd->buildsgl = os_buildsgl; in hpt_scsi_io()
715 pCmd->psg = ext->psg; in hpt_scsi_io()
716 pCmd->flags.physical_sg = 1; in hpt_scsi_io()
720 hpt_io_dmamap_callback, pCmd, in hpt_scsi_io()
727 ldm_free_cmds(pCmd); in hpt_scsi_io()