Lines Matching refs:task

116 	struct sas_task *task = isci_request_access_task(ireq);  in sci_request_build_sgl()  local
123 if (task->num_scatter > 0) { in sci_request_build_sgl()
124 sg = task->scatter; in sci_request_build_sgl()
154 task->scatter, in sci_request_build_sgl()
155 task->total_xfer_len, in sci_request_build_sgl()
156 task->data_dir); in sci_request_build_sgl()
160 scu_sg->A.length = task->total_xfer_len; in sci_request_build_sgl()
174 struct sas_task *task = isci_request_access_task(ireq); in sci_io_request_build_ssp_command_iu() local
178 memcpy(cmd_iu->LUN, task->ssp_task.LUN, 8); in sci_io_request_build_ssp_command_iu()
184 cmd_iu->task_attr = task->ssp_task.task_attr; in sci_io_request_build_ssp_command_iu()
187 sci_swab32_cpy(&cmd_iu->cdb, task->ssp_task.cmd->cmnd, in sci_io_request_build_ssp_command_iu()
188 (task->ssp_task.cmd->cmd_len+3) / sizeof(u32)); in sci_io_request_build_ssp_command_iu()
194 struct sas_task *task = isci_request_access_task(ireq); in sci_task_request_build_ssp_task_iu() local
201 memcpy(task_iu->LUN, task->ssp_task.LUN, 8); in sci_task_request_build_ssp_task_iu()
639 struct sas_task *task; in sci_atapi_construct() local
650 task = isci_request_access_task(ireq); in sci_atapi_construct()
651 if (task->data_dir == DMA_NONE) in sci_atapi_construct()
652 task->total_xfer_len = 0; in sci_atapi_construct()
667 struct sas_task *task = isci_request_access_task(ireq); in sci_io_request_construct_sata() local
682 if (!sas_protocol_ata(task->task_proto)) { in sci_io_request_construct_sata()
686 task->task_proto); in sci_io_request_construct_sata()
693 task->ata_task.fis.command == ATA_CMD_PACKET) { in sci_io_request_construct_sata()
699 if (task->data_dir == DMA_NONE) { in sci_io_request_construct_sata()
705 if (task->ata_task.use_ncq) { in sci_io_request_construct_sata()
713 if (task->ata_task.dma_xfer) { in sci_io_request_construct_sata()
726 struct sas_task *task = isci_request_access_task(ireq); in sci_io_request_construct_basic_ssp() local
731 task->data_dir, in sci_io_request_construct_basic_ssp()
732 task->total_xfer_len); in sci_io_request_construct_basic_ssp()
756 struct sas_task *task = isci_request_access_task(ireq); in sci_io_request_construct_basic_sata() local
760 copy = (task->data_dir == DMA_NONE) ? false : true; in sci_io_request_construct_basic_sata()
763 task->total_xfer_len, in sci_io_request_construct_basic_sata()
764 task->data_dir, in sci_io_request_construct_basic_sata()
1407 struct sas_task *task; in sci_stp_request_pio_data_in_copy_data_buffer() local
1413 task = isci_request_access_task(ireq); in sci_stp_request_pio_data_in_copy_data_buffer()
1416 if (task->num_scatter > 0) { in sci_stp_request_pio_data_in_copy_data_buffer()
1417 sg = task->scatter; in sci_stp_request_pio_data_in_copy_data_buffer()
1431 BUG_ON(task->total_xfer_len < total_len); in sci_stp_request_pio_data_in_copy_data_buffer()
1432 memcpy(task->scatter, src_addr, total_len); in sci_stp_request_pio_data_in_copy_data_buffer()
1613 struct sas_task *task = isci_request_access_task(ireq); in atapi_d2h_reg_frame_handler() local
1634 if (task->data_dir == DMA_NONE) in atapi_d2h_reg_frame_handler()
1660 struct sas_task *task = isci_request_access_task(ireq); in scu_atapi_construct_task_context() local
1667 if (task->data_dir == DMA_TO_DEVICE) { in scu_atapi_construct_task_context()
1680 memcpy(&ireq->stp.cmd.lbal, task->ata_task.atapi_packet, cdb_len); in scu_atapi_construct_task_context()
1690 task_context->transfer_length_bytes = task->total_xfer_len; in scu_atapi_construct_task_context()
1763 struct sas_task *task = isci_request_access_task(ireq); in sci_io_request_frame_handler() local
1764 struct scatterlist *sg = &task->smp_task.smp_resp; in sci_io_request_frame_handler()
1886 struct sas_task *task = isci_request_access_task(ireq); in sci_io_request_frame_handler() local
1930 if (task->data_dir == DMA_FROM_DEVICE) { in sci_io_request_frame_handler()
1932 } else if (task->data_dir == DMA_TO_DEVICE) { in sci_io_request_frame_handler()
2056 struct sas_task *task = isci_request_access_task(ireq); in sci_io_request_frame_handler() local
2060 if (task->data_dir == DMA_NONE) { in sci_io_request_frame_handler()
2455 struct sas_task *task, in isci_request_process_response_iu() argument
2471 task->task_status.stat = resp_iu->status; in isci_request_process_response_iu()
2474 sas_ssp_task_response(dev, task, resp_iu); in isci_request_process_response_iu()
2491 struct sas_task *task, in isci_request_set_open_reject_status() argument
2500 task->task_status.open_rej_reason = open_rej_reason; in isci_request_set_open_reject_status()
2517 struct sas_task *task, in isci_request_handle_controller_specific_errors() argument
2546 if (task->task_proto == SAS_PROTOCOL_SMP) { in isci_request_handle_controller_specific_errors()
2607 request, task, response_ptr, status_ptr, in isci_request_handle_controller_specific_errors()
2617 request, task, response_ptr, status_ptr, in isci_request_handle_controller_specific_errors()
2624 request, task, response_ptr, status_ptr, in isci_request_handle_controller_specific_errors()
2631 request, task, response_ptr, status_ptr, in isci_request_handle_controller_specific_errors()
2638 request, task, response_ptr, status_ptr, in isci_request_handle_controller_specific_errors()
2645 request, task, response_ptr, status_ptr, in isci_request_handle_controller_specific_errors()
2652 request, task, response_ptr, status_ptr, in isci_request_handle_controller_specific_errors()
2659 request, task, response_ptr, status_ptr, in isci_request_handle_controller_specific_errors()
2666 request, task, response_ptr, status_ptr, in isci_request_handle_controller_specific_errors()
2699 if (task->task_proto == SAS_PROTOCOL_SMP) in isci_request_handle_controller_specific_errors()
2707 static void isci_process_stp_response(struct sas_task *task, struct dev_to_host_fis *fis) in isci_process_stp_response() argument
2709 struct task_status_struct *ts = &task->task_status; in isci_process_stp_response()
2729 struct sas_task *task = isci_request_access_task(request); in isci_request_io_request_complete() local
2739 __func__, request, task, task->data_dir, completion_status); in isci_request_io_request_complete()
2749 __func__, request, task); in isci_request_io_request_complete()
2751 if (sas_protocol_ata(task->task_proto)) { in isci_request_io_request_complete()
2752 isci_process_stp_response(task, &request->stp.rsp); in isci_request_io_request_complete()
2753 } else if (SAS_PROTOCOL_SSP == task->task_proto) { in isci_request_io_request_complete()
2757 isci_request_process_response_iu(task, resp_iu, in isci_request_io_request_complete()
2760 } else if (SAS_PROTOCOL_SMP == task->task_proto) { in isci_request_io_request_complete()
2775 response = task->task_status.resp; in isci_request_io_request_complete()
2776 status = task->task_status.stat; in isci_request_io_request_complete()
2794 task->task_status.residual in isci_request_io_request_complete()
2795 = task->total_xfer_len - transferred_length; in isci_request_io_request_complete()
2800 if (task->task_status.residual != 0) in isci_request_io_request_complete()
2816 __func__, request, task); in isci_request_io_request_complete()
2835 task, &response, in isci_request_io_request_complete()
2847 spin_lock_irqsave(&task->task_state_lock, task_flags); in isci_request_io_request_complete()
2848 task->task_state_flags |= SAS_TASK_NEED_DEV_RESET; in isci_request_io_request_complete()
2849 spin_unlock_irqrestore(&task->task_state_lock, task_flags); in isci_request_io_request_complete()
2889 if (SAS_PROTOCOL_SMP == task->task_proto) in isci_request_io_request_complete()
2896 switch (task->task_proto) { in isci_request_io_request_complete()
2898 if (task->data_dir == DMA_NONE) in isci_request_io_request_complete()
2900 if (task->num_scatter == 0) in isci_request_io_request_complete()
2904 task->total_xfer_len, task->data_dir); in isci_request_io_request_complete()
2906 dma_unmap_sg(&ihost->pdev->dev, task->scatter, in isci_request_io_request_complete()
2907 task->num_scatter, task->data_dir); in isci_request_io_request_complete()
2910 struct scatterlist *sg = &task->smp_task.smp_req; in isci_request_io_request_complete()
2927 spin_lock_irqsave(&task->task_state_lock, task_flags); in isci_request_io_request_complete()
2929 task->task_status.resp = response; in isci_request_io_request_complete()
2930 task->task_status.stat = status; in isci_request_io_request_complete()
2934 task->task_state_flags |= SAS_TASK_STATE_DONE; in isci_request_io_request_complete()
2935 task->task_state_flags &= ~SAS_TASK_STATE_PENDING; in isci_request_io_request_complete()
2937 spin_unlock_irqrestore(&task->task_state_lock, task_flags); in isci_request_io_request_complete()
2948 ireq_done(ihost, request, task); in isci_request_io_request_complete()
2956 struct sas_task *task; in sci_request_started_state_enter() local
2961 task = (test_bit(IREQ_TMF, &ireq->flags)) ? NULL : isci_request_access_task(ireq); in sci_request_started_state_enter()
2966 if (!task && dev->dev_type == SAS_END_DEVICE) { in sci_request_started_state_enter()
2968 } else if (task && task->task_proto == SAS_PROTOCOL_SMP) { in sci_request_started_state_enter()
2970 } else if (task && sas_protocol_ata(task->task_proto) && in sci_request_started_state_enter()
2971 !task->ata_task.use_ncq) { in sci_request_started_state_enter()
2973 task->ata_task.fis.command == ATA_CMD_PACKET) { in sci_request_started_state_enter()
2975 } else if (task->data_dir == DMA_NONE) { in sci_request_started_state_enter()
2977 } else if (task->ata_task.dma_xfer) { in sci_request_started_state_enter()
3143 struct sas_task *task = isci_request_access_task(ireq); in isci_request_stp_request_construct() local
3145 struct ata_queued_cmd *qc = task->uldd_task; in isci_request_stp_request_construct()
3153 memcpy(fis, &task->ata_task.fis, sizeof(struct host_to_dev_fis)); in isci_request_stp_request_construct()
3154 if (!task->ata_task.device_control_reg_update) in isci_request_stp_request_construct()
3175 struct sas_task *task) in sci_io_request_construct_smp() argument
3177 struct scatterlist *sg = &task->smp_task.smp_req; in sci_io_request_construct_smp()
3305 struct sas_task *task = isci_request_access_task(ireq); in isci_smp_request_build() local
3309 status = sci_io_request_construct_smp(dev, ireq, task); in isci_smp_request_build()
3334 struct sas_task *task = isci_request_access_task(request); in isci_io_request_build() local
3342 task->num_scatter); in isci_io_request_build()
3348 if (task->num_scatter && in isci_io_request_build()
3349 !sas_protocol_ata(task->task_proto) && in isci_io_request_build()
3350 !(SAS_PROTOCOL_SMP & task->task_proto)) { in isci_io_request_build()
3354 task->scatter, in isci_io_request_build()
3355 task->num_scatter, in isci_io_request_build()
3356 task->data_dir in isci_io_request_build()
3372 switch (task->task_proto) { in isci_io_request_build()
3407 struct sas_task *task, in isci_io_request_from_tag() argument
3413 ireq->ttype_ptr.io_task_ptr = task; in isci_io_request_from_tag()
3415 task->lldd_task = ireq; in isci_io_request_from_tag()
3434 struct sas_task *task, struct isci_request *ireq) in isci_request_execute() argument
3453 if (isci_task_is_ncq_recovery(task)) { in isci_request_execute()
3499 spin_lock_irqsave(&task->task_state_lock, flags); in isci_request_execute()
3500 task->task_state_flags |= SAS_TASK_NEED_DEV_RESET; in isci_request_execute()
3501 spin_unlock_irqrestore(&task->task_state_lock, flags); in isci_request_execute()
3506 sas_task_abort(task); in isci_request_execute()