• Home
  • Raw
  • Download

Lines Matching refs:scmd

67 	struct scsi_cmnd *scmd, u32 aio_handle, u8 *cdb,
188 static inline void pqi_scsi_done(struct scsi_cmnd *scmd) in pqi_scsi_done() argument
190 pqi_prep_for_scsi_done(scmd); in pqi_scsi_done()
191 scmd->scsi_done(scmd); in pqi_scsi_done()
570 io_request->scmd = NULL; in pqi_reinit_io_request()
2245 struct pqi_scsi_dev *device, struct scsi_cmnd *scmd, in pqi_raid_bypass_submit_scsi_cmd() argument
2292 switch (scmd->cmnd[0]) { in pqi_raid_bypass_submit_scsi_cmd()
2297 first_block = (u64)(((scmd->cmnd[1] & 0x1f) << 16) | in pqi_raid_bypass_submit_scsi_cmd()
2298 (scmd->cmnd[2] << 8) | scmd->cmnd[3]); in pqi_raid_bypass_submit_scsi_cmd()
2299 block_cnt = (u32)scmd->cmnd[4]; in pqi_raid_bypass_submit_scsi_cmd()
2307 first_block = (u64)get_unaligned_be32(&scmd->cmnd[2]); in pqi_raid_bypass_submit_scsi_cmd()
2308 block_cnt = (u32)get_unaligned_be16(&scmd->cmnd[7]); in pqi_raid_bypass_submit_scsi_cmd()
2314 first_block = (u64)get_unaligned_be32(&scmd->cmnd[2]); in pqi_raid_bypass_submit_scsi_cmd()
2315 block_cnt = get_unaligned_be32(&scmd->cmnd[6]); in pqi_raid_bypass_submit_scsi_cmd()
2321 first_block = get_unaligned_be64(&scmd->cmnd[2]); in pqi_raid_bypass_submit_scsi_cmd()
2322 block_cnt = get_unaligned_be32(&scmd->cmnd[10]); in pqi_raid_bypass_submit_scsi_cmd()
2566 return pqi_aio_submit_io(ctrl_info, scmd, aio_handle, in pqi_raid_bypass_submit_scsi_cmd()
2638 device = io_request->scmd->device->hostdata; in pqi_aio_path_disabled()
2664 struct scsi_cmnd *scmd; in pqi_process_raid_io_error() local
2671 scmd = io_request->scmd; in pqi_process_raid_io_error()
2672 if (!scmd) in pqi_process_raid_io_error()
2685 residual_count = scsi_bufflen(scmd) - xfer_count; in pqi_process_raid_io_error()
2686 scsi_set_resid(scmd, residual_count); in pqi_process_raid_io_error()
2687 if (xfer_count < scmd->underflow) in pqi_process_raid_io_error()
2731 struct pqi_ctrl_info *ctrl_info = shost_to_hba(scmd->device->host); in pqi_process_raid_io_error()
2732 struct pqi_scsi_dev *device = scmd->device->hostdata; in pqi_process_raid_io_error()
2737 …scmd_printk(KERN_ERR, scmd, "received 'logical unit failure' from controller for scsi %d:%d:%d:%d\… in pqi_process_raid_io_error()
2739 pqi_take_device_offline(scmd->device, "RAID"); in pqi_process_raid_io_error()
2745 … scmd_printk(KERN_ERR, scmd, "received unhandled error %d from controller for scsi %d:%d:%d:%d\n", in pqi_process_raid_io_error()
2753 memcpy(scmd->sense_buffer, error_info->data, in pqi_process_raid_io_error()
2757 scmd->result = scsi_status; in pqi_process_raid_io_error()
2758 set_host_byte(scmd, host_byte); in pqi_process_raid_io_error()
2765 struct scsi_cmnd *scmd; in pqi_process_aio_io_error() local
2772 scmd = io_request->scmd; in pqi_process_aio_io_error()
2791 scsi_set_resid(scmd, residual_count); in pqi_process_aio_io_error()
2792 xfer_count = scsi_bufflen(scmd) - residual_count; in pqi_process_aio_io_error()
2793 if (xfer_count < scmd->underflow) in pqi_process_aio_io_error()
2808 pqi_take_device_offline(scmd->device, "AIO"); in pqi_process_aio_io_error()
2838 memcpy(scmd->sense_buffer, error_info->data, in pqi_process_aio_io_error()
2844 scsi_build_sense_buffer(0, scmd->sense_buffer, HARDWARE_ERROR, in pqi_process_aio_io_error()
2847 scmd->result = scsi_status; in pqi_process_aio_io_error()
2848 set_host_byte(scmd, host_byte); in pqi_process_aio_io_error()
2939 if (io_request->scmd) in pqi_process_io_intr()
2940 io_request->scmd->result = 0; in pqi_process_io_intr()
4801 struct pqi_raid_path_request *request, struct scsi_cmnd *scmd, in pqi_build_raid_sg_list() argument
4813 sg_count = scsi_dma_map(scmd); in pqi_build_raid_sg_list()
4823 sg = scsi_sglist(scmd); in pqi_build_raid_sg_list()
4865 struct pqi_aio_path_request *request, struct scsi_cmnd *scmd, in pqi_build_aio_sg_list() argument
4877 sg_count = scsi_dma_map(scmd); in pqi_build_aio_sg_list()
4888 sg = scsi_sglist(scmd); in pqi_build_aio_sg_list()
4932 struct scsi_cmnd *scmd; in pqi_raid_io_complete() local
4934 scmd = io_request->scmd; in pqi_raid_io_complete()
4936 scsi_dma_unmap(scmd); in pqi_raid_io_complete()
4937 pqi_scsi_done(scmd); in pqi_raid_io_complete()
4942 struct pqi_scsi_dev *device, struct scsi_cmnd *scmd, in pqi_raid_submit_scsi_cmd_with_io_request() argument
4950 io_request->scmd = scmd; in pqi_raid_submit_scsi_cmd_with_io_request()
4957 put_unaligned_le32(scsi_bufflen(scmd), &request->buffer_length); in pqi_raid_submit_scsi_cmd_with_io_request()
4964 cdb_length = min_t(size_t, scmd->cmd_len, sizeof(request->cdb)); in pqi_raid_submit_scsi_cmd_with_io_request()
4965 memcpy(request->cdb, scmd->cmnd, cdb_length); in pqi_raid_submit_scsi_cmd_with_io_request()
4999 switch (scmd->sc_data_direction) { in pqi_raid_submit_scsi_cmd_with_io_request()
5015 scmd->sc_data_direction); in pqi_raid_submit_scsi_cmd_with_io_request()
5019 rc = pqi_build_raid_sg_list(ctrl_info, request, scmd, io_request); in pqi_raid_submit_scsi_cmd_with_io_request()
5031 struct pqi_scsi_dev *device, struct scsi_cmnd *scmd, in pqi_raid_submit_scsi_cmd() argument
5039 device, scmd, queue_group); in pqi_raid_submit_scsi_cmd()
5050 struct scsi_cmnd *scmd; in pqi_raid_bypass_retry_needed() local
5057 scmd = io_request->scmd; in pqi_raid_bypass_retry_needed()
5058 if ((scmd->result & 0xff) == SAM_STAT_GOOD) in pqi_raid_bypass_retry_needed()
5060 if (host_byte(scmd->result) == DID_NO_CONNECT) in pqi_raid_bypass_retry_needed()
5063 device = scmd->device->hostdata; in pqi_raid_bypass_retry_needed()
5067 ctrl_info = shost_to_hba(scmd->device->host); in pqi_raid_bypass_retry_needed()
5093 struct scsi_cmnd *scmd; in pqi_queued_raid_bypass_complete() local
5095 scmd = io_request->scmd; in pqi_queued_raid_bypass_complete()
5097 pqi_scsi_done(scmd); in pqi_queued_raid_bypass_complete()
5102 struct scsi_cmnd *scmd; in pqi_queue_raid_bypass_retry() local
5106 scmd = io_request->scmd; in pqi_queue_raid_bypass_retry()
5107 scmd->result = 0; in pqi_queue_raid_bypass_retry()
5108 ctrl_info = shost_to_hba(scmd->device->host); in pqi_queue_raid_bypass_retry()
5116 struct scsi_cmnd *scmd; in pqi_retry_raid_bypass() local
5121 scmd = io_request->scmd; in pqi_retry_raid_bypass()
5122 device = scmd->device->hostdata; in pqi_retry_raid_bypass()
5125 set_host_byte(scmd, DID_RESET); in pqi_retry_raid_bypass()
5126 pqi_scsi_done(scmd); in pqi_retry_raid_bypass()
5130 ctrl_info = shost_to_hba(scmd->device->host); in pqi_retry_raid_bypass()
5136 device, scmd, queue_group); in pqi_retry_raid_bypass()
5203 struct scsi_cmnd *scmd; in pqi_aio_io_complete() local
5205 scmd = io_request->scmd; in pqi_aio_io_complete()
5206 scsi_dma_unmap(scmd); in pqi_aio_io_complete()
5208 set_host_byte(scmd, DID_IMM_RETRY); in pqi_aio_io_complete()
5214 pqi_scsi_done(scmd); in pqi_aio_io_complete()
5218 struct pqi_scsi_dev *device, struct scsi_cmnd *scmd, in pqi_aio_submit_scsi_cmd() argument
5221 return pqi_aio_submit_io(ctrl_info, scmd, device->aio_handle, in pqi_aio_submit_scsi_cmd()
5222 scmd->cmnd, scmd->cmd_len, queue_group, NULL, false); in pqi_aio_submit_scsi_cmd()
5226 struct scsi_cmnd *scmd, u32 aio_handle, u8 *cdb, in pqi_aio_submit_io() argument
5236 io_request->scmd = scmd; in pqi_aio_submit_io()
5245 put_unaligned_le32(scsi_bufflen(scmd), &request->buffer_length); in pqi_aio_submit_io()
5254 switch (scmd->sc_data_direction) { in pqi_aio_submit_io()
5270 scmd->sc_data_direction); in pqi_aio_submit_io()
5284 rc = pqi_build_aio_sg_list(ctrl_info, request, scmd, io_request); in pqi_aio_submit_io()
5296 struct scsi_cmnd *scmd) in pqi_get_hw_queue() argument
5300 hw_queue = blk_mq_unique_tag_to_hwq(blk_mq_unique_tag(scmd->request)); in pqi_get_hw_queue()
5312 void pqi_prep_for_scsi_done(struct scsi_cmnd *scmd) in pqi_prep_for_scsi_done() argument
5316 if (!scmd->device) { in pqi_prep_for_scsi_done()
5317 set_host_byte(scmd, DID_NO_CONNECT); in pqi_prep_for_scsi_done()
5321 device = scmd->device->hostdata; in pqi_prep_for_scsi_done()
5323 set_host_byte(scmd, DID_NO_CONNECT); in pqi_prep_for_scsi_done()
5331 struct scsi_cmnd *scmd) in pqi_scsi_queue_command() argument
5340 device = scmd->device->hostdata; in pqi_scsi_queue_command()
5344 set_host_byte(scmd, DID_NO_CONNECT); in pqi_scsi_queue_command()
5345 pqi_scsi_done(scmd); in pqi_scsi_queue_command()
5353 set_host_byte(scmd, DID_NO_CONNECT); in pqi_scsi_queue_command()
5354 pqi_scsi_done(scmd); in pqi_scsi_queue_command()
5369 scmd->result = 0; in pqi_scsi_queue_command()
5371 hw_queue = pqi_get_hw_queue(ctrl_info, scmd); in pqi_scsi_queue_command()
5377 !blk_rq_is_passthrough(scmd->request)) { in pqi_scsi_queue_command()
5379 scmd, queue_group); in pqi_scsi_queue_command()
5386 rc = pqi_raid_submit_scsi_cmd(ctrl_info, device, scmd, queue_group); in pqi_scsi_queue_command()
5389 rc = pqi_aio_submit_scsi_cmd(ctrl_info, device, scmd, queue_group); in pqi_scsi_queue_command()
5391 rc = pqi_raid_submit_scsi_cmd(ctrl_info, device, scmd, queue_group); in pqi_scsi_queue_command()
5472 struct scsi_cmnd *scmd; in pqi_fail_io_queued_for_device() local
5485 scmd = io_request->scmd; in pqi_fail_io_queued_for_device()
5486 if (!scmd) in pqi_fail_io_queued_for_device()
5489 scsi_device = scmd->device->hostdata; in pqi_fail_io_queued_for_device()
5494 set_host_byte(scmd, DID_RESET); in pqi_fail_io_queued_for_device()
5496 scsi_dma_unmap(scmd); in pqi_fail_io_queued_for_device()
5497 pqi_scsi_done(scmd); in pqi_fail_io_queued_for_device()
5514 struct scsi_cmnd *scmd; in pqi_fail_io_queued_for_all_devices() local
5527 scmd = io_request->scmd; in pqi_fail_io_queued_for_all_devices()
5528 if (!scmd) in pqi_fail_io_queued_for_all_devices()
5532 set_host_byte(scmd, DID_RESET); in pqi_fail_io_queued_for_all_devices()
5534 scsi_dma_unmap(scmd); in pqi_fail_io_queued_for_all_devices()
5535 pqi_scsi_done(scmd); in pqi_fail_io_queued_for_all_devices()
5748 static int pqi_eh_device_reset_handler(struct scsi_cmnd *scmd) in pqi_eh_device_reset_handler() argument
5755 shost = scmd->device->host; in pqi_eh_device_reset_handler()
5757 device = scmd->device->hostdata; in pqi_eh_device_reset_handler()
7908 struct scsi_cmnd *scmd; in pqi_fail_all_outstanding_requests() local
7915 scmd = io_request->scmd; in pqi_fail_all_outstanding_requests()
7916 if (scmd) { in pqi_fail_all_outstanding_requests()
7917 set_host_byte(scmd, DID_NO_CONNECT); in pqi_fail_all_outstanding_requests()
8049 struct scsi_cmnd *scmd; in pqi_crash_if_pending_command() local
8055 scmd = io_request->scmd; in pqi_crash_if_pending_command()
8056 WARN_ON(scmd != NULL); /* IO command from SML */ in pqi_crash_if_pending_command()
8057 WARN_ON(scmd == NULL); /* Non-IO cmd or driver initiated*/ in pqi_crash_if_pending_command()