Lines Matching refs:cmd

29 	pqi_aio_path_request_t *rqst, pqi_cmd_t *cmd, pqi_io_request_t *);
31 pqi_raid_path_request_t *rqst, pqi_cmd_t *cmd, pqi_io_request_t *);
32 static pqi_io_request_t *setup_aio_request(pqi_state_t *s, pqi_cmd_t *cmd);
33 static pqi_io_request_t *setup_raid_request(pqi_state_t *s, pqi_cmd_t *cmd);
193 pqi_transport_command(pqi_state_t *s, pqi_cmd_t *cmd) in pqi_transport_command() argument
195 pqi_device_t *devp = cmd->pc_device; in pqi_transport_command()
201 io = setup_aio_request(s, cmd); in pqi_transport_command()
204 io = setup_raid_request(s, cmd); in pqi_transport_command()
210 cmd->pc_io_rqst = io; in pqi_transport_command()
211 (void) pqi_cmd_action(cmd, PQI_CMD_QUEUE); in pqi_transport_command()
262 pqi_fail_cmd(pqi_cmd_t *cmd, uchar_t reason, uint_t stats) in pqi_fail_cmd() argument
264 struct scsi_pkt *pkt = CMD2PKT(cmd); in pqi_fail_cmd()
269 return (pqi_cmd_action_nolock(cmd, PQI_CMD_FAIL)); in pqi_fail_cmd()
403 struct pqi_cmd cmd; in lun_reset_worker() local
411 bzero(&cmd, sizeof (cmd)); in lun_reset_worker()
412 mutex_init(&cmd.pc_mutex, NULL, MUTEX_DRIVER, NULL); in lun_reset_worker()
415 mutex_destroy(&cmd.pc_mutex); in lun_reset_worker()
421 io->io_cmd = &cmd; in lun_reset_worker()
422 cmd.pc_io_rqst = io; in lun_reset_worker()
423 cmd.pc_softc = s; in lun_reset_worker()
424 cmd.pc_device = &s->s_special_device; in lun_reset_worker()
426 (void) pqi_cmd_action(&cmd, PQI_CMD_QUEUE); in lun_reset_worker()
443 (void) pqi_cmd_action(&cmd, PQI_CMD_CMPLT); in lun_reset_worker()
444 mutex_destroy(&cmd.pc_mutex); in lun_reset_worker()
522 setup_aio_request(pqi_state_t *s, pqi_cmd_t *cmd) in setup_aio_request() argument
526 pqi_device_t *devp = cmd->pc_device; in setup_aio_request()
533 io->io_cmd = cmd; in setup_aio_request()
541 rqst->buffer_length = cmd->pc_dma_count; in setup_aio_request()
545 rqst->cdb_length = cmd->pc_cmdlen; in setup_aio_request()
546 (void) memcpy(rqst->cdb, cmd->pc_cdb, cmd->pc_cmdlen); in setup_aio_request()
550 if (cmd->pc_flags & PQI_FLAG_DMA_VALID) { in setup_aio_request()
551 if (cmd->pc_flags & PQI_FLAG_IO_READ) in setup_aio_request()
559 build_aio_sg_list(s, rqst, cmd, io); in setup_aio_request()
564 setup_raid_request(pqi_state_t *s, pqi_cmd_t *cmd) in setup_raid_request() argument
568 pqi_device_t *devp = cmd->pc_device; in setup_raid_request()
575 io->io_cmd = cmd; in setup_raid_request()
581 rqst->rp_data_len = cmd->pc_dma_count; in setup_raid_request()
586 (void) memcpy(rqst->rp_cdb, cmd->pc_cdb, cmd->pc_cmdlen); in setup_raid_request()
588 ASSERT(cmd->pc_cmdlen <= 16); in setup_raid_request()
591 if (cmd->pc_flags & PQI_FLAG_DMA_VALID) { in setup_raid_request()
592 if (cmd->pc_flags & PQI_FLAG_IO_READ) in setup_raid_request()
600 build_raid_sg_list(s, rqst, cmd, io); in setup_raid_request()
641 special_error_check(pqi_cmd_t *cmd) in special_error_check() argument
646 arq = (struct scsi_arq_status *)cmd->pc_pkt->pkt_scbp; in special_error_check()
648 if (((*cmd->pc_pkt->pkt_scbp & STATUS_MASK) == STATUS_CHECK) && in special_error_check()
661 pqi_cmd_t *cmd = io->io_cmd; in aio_io_complete() local
662 struct scsi_pkt *pkt = CMD2PKT(cmd); in aio_io_complete()
665 if (cmd->pc_flags & (PQI_FLAG_IO_READ | PQI_FLAG_IO_IOPB)) in aio_io_complete()
666 (void) ddi_dma_sync(cmd->pc_dmahdl, 0, 0, DDI_DMA_SYNC_FORCPU); in aio_io_complete()
672 if (pkt->pkt_resid == cmd->pc_dma_count) { in aio_io_complete()
683 if (cmd->pc_flags & PQI_FLAG_DMA_VALID) in aio_io_complete()
694 if (pkt->pkt_resid != cmd->pc_dma_count) { in aio_io_complete()
718 atomic_inc_32(&cmd->pc_device->pd_sense_errors); in aio_io_complete()
720 if (special_error_check(cmd) == B_TRUE) { in aio_io_complete()
724 (void) pqi_cmd_action(cmd, PQI_CMD_CMPLT); in aio_io_complete()
751 pqi_cmd_t *cmd, pqi_io_request_t *io) in build_aio_sg_list() argument
764 if (cmd->pc_dmaccount == 0) in build_aio_sg_list()
767 cookies = cmd->pc_cached_cookies; in build_aio_sg_list()
777 if (i == cmd->pc_dmaccount) in build_aio_sg_list()
783 sg->sg_len = (cmd->pc_dmaccount - num_sg_in_iu) * in build_aio_sg_list()
807 pqi_cmd_t *cmd, pqi_io_request_t *io) in build_raid_sg_list() argument
820 if (cmd->pc_dmaccount == 0) in build_raid_sg_list()
824 cookies = cmd->pc_cached_cookies; in build_raid_sg_list()
832 if (i == cmd->pc_dmaccount) in build_raid_sg_list()
839 sg->sg_len = (cmd->pc_dmaccount - num_sg_in_iu) * in build_raid_sg_list()