• Home
  • Raw
  • Download

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()
183 cmd_iu->task_prio = task->ssp_task.task_prio; 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()
644 struct sas_task *task; in sci_atapi_construct() local
655 task = isci_request_access_task(ireq); in sci_atapi_construct()
656 if (task->data_dir == DMA_NONE) in sci_atapi_construct()
657 task->total_xfer_len = 0; in sci_atapi_construct()
672 struct sas_task *task = isci_request_access_task(ireq); in sci_io_request_construct_sata() local
687 if (!sas_protocol_ata(task->task_proto)) { in sci_io_request_construct_sata()
691 task->task_proto); in sci_io_request_construct_sata()
698 task->ata_task.fis.command == ATA_CMD_PACKET) { in sci_io_request_construct_sata()
704 if (task->data_dir == DMA_NONE) { in sci_io_request_construct_sata()
710 if (task->ata_task.use_ncq) { in sci_io_request_construct_sata()
718 if (task->ata_task.dma_xfer) { in sci_io_request_construct_sata()
731 struct sas_task *task = isci_request_access_task(ireq); in sci_io_request_construct_basic_ssp() local
736 task->data_dir, in sci_io_request_construct_basic_ssp()
737 task->total_xfer_len); in sci_io_request_construct_basic_ssp()
764 struct sas_task *task = isci_request_access_task(ireq); in sci_io_request_construct_basic_sata() local
768 copy = (task->data_dir == DMA_NONE) ? false : true; in sci_io_request_construct_basic_sata()
771 task->total_xfer_len, in sci_io_request_construct_basic_sata()
772 task->data_dir, in sci_io_request_construct_basic_sata()
1414 struct sas_task *task; in sci_stp_request_pio_data_in_copy_data_buffer() local
1420 task = isci_request_access_task(ireq); in sci_stp_request_pio_data_in_copy_data_buffer()
1423 if (task->num_scatter > 0) { in sci_stp_request_pio_data_in_copy_data_buffer()
1424 sg = task->scatter; in sci_stp_request_pio_data_in_copy_data_buffer()
1438 BUG_ON(task->total_xfer_len < total_len); in sci_stp_request_pio_data_in_copy_data_buffer()
1439 memcpy(task->scatter, src_addr, total_len); in sci_stp_request_pio_data_in_copy_data_buffer()
1622 struct sas_task *task = isci_request_access_task(ireq); in atapi_d2h_reg_frame_handler() local
1643 if (task->data_dir == DMA_NONE) in atapi_d2h_reg_frame_handler()
1669 struct sas_task *task = isci_request_access_task(ireq); in scu_atapi_construct_task_context() local
1676 if (task->data_dir == DMA_TO_DEVICE) { in scu_atapi_construct_task_context()
1689 memcpy(&ireq->stp.cmd.lbal, task->ata_task.atapi_packet, cdb_len); in scu_atapi_construct_task_context()
1699 task_context->transfer_length_bytes = task->total_xfer_len; in scu_atapi_construct_task_context()
1772 struct sas_task *task = isci_request_access_task(ireq); in sci_io_request_frame_handler() local
1773 struct scatterlist *sg = &task->smp_task.smp_resp; in sci_io_request_frame_handler()
1895 struct sas_task *task = isci_request_access_task(ireq); in sci_io_request_frame_handler() local
1939 if (task->data_dir == DMA_FROM_DEVICE) { in sci_io_request_frame_handler()
1941 } else if (task->data_dir == DMA_TO_DEVICE) { in sci_io_request_frame_handler()
2065 struct sas_task *task = isci_request_access_task(ireq); in sci_io_request_frame_handler() local
2069 if (task->data_dir == DMA_NONE) { in sci_io_request_frame_handler()
2468 struct sas_task *task, in isci_request_process_response_iu() argument
2484 task->task_status.stat = resp_iu->status; in isci_request_process_response_iu()
2487 sas_ssp_task_response(dev, task, resp_iu); in isci_request_process_response_iu()
2503 struct sas_task *task, in isci_request_set_open_reject_status() argument
2512 task->task_status.open_rej_reason = open_rej_reason; in isci_request_set_open_reject_status()
2527 struct sas_task *task, in isci_request_handle_controller_specific_errors() argument
2556 if (task->task_proto == SAS_PROTOCOL_SMP) { in isci_request_handle_controller_specific_errors()
2617 request, task, response_ptr, status_ptr, in isci_request_handle_controller_specific_errors()
2627 request, task, response_ptr, status_ptr, in isci_request_handle_controller_specific_errors()
2634 request, task, response_ptr, status_ptr, in isci_request_handle_controller_specific_errors()
2641 request, task, response_ptr, status_ptr, in isci_request_handle_controller_specific_errors()
2648 request, task, response_ptr, status_ptr, in isci_request_handle_controller_specific_errors()
2655 request, task, response_ptr, status_ptr, in isci_request_handle_controller_specific_errors()
2662 request, task, response_ptr, status_ptr, in isci_request_handle_controller_specific_errors()
2669 request, task, response_ptr, status_ptr, in isci_request_handle_controller_specific_errors()
2676 request, task, response_ptr, status_ptr, in isci_request_handle_controller_specific_errors()
2709 if (task->task_proto == SAS_PROTOCOL_SMP) in isci_request_handle_controller_specific_errors()
2717 static void isci_process_stp_response(struct sas_task *task, struct dev_to_host_fis *fis) in isci_process_stp_response() argument
2719 struct task_status_struct *ts = &task->task_status; in isci_process_stp_response()
2739 struct sas_task *task = isci_request_access_task(request); in isci_request_io_request_complete() local
2749 __func__, request, task, task->data_dir, completion_status); in isci_request_io_request_complete()
2759 __func__, request, task); in isci_request_io_request_complete()
2761 if (sas_protocol_ata(task->task_proto)) { in isci_request_io_request_complete()
2762 isci_process_stp_response(task, &request->stp.rsp); in isci_request_io_request_complete()
2763 } else if (SAS_PROTOCOL_SSP == task->task_proto) { in isci_request_io_request_complete()
2767 isci_request_process_response_iu(task, resp_iu, in isci_request_io_request_complete()
2770 } else if (SAS_PROTOCOL_SMP == task->task_proto) { in isci_request_io_request_complete()
2785 response = task->task_status.resp; in isci_request_io_request_complete()
2786 status = task->task_status.stat; in isci_request_io_request_complete()
2804 task->task_status.residual in isci_request_io_request_complete()
2805 = task->total_xfer_len - transferred_length; in isci_request_io_request_complete()
2810 if (task->task_status.residual != 0) in isci_request_io_request_complete()
2826 __func__, request, task); in isci_request_io_request_complete()
2845 task, &response, in isci_request_io_request_complete()
2857 spin_lock_irqsave(&task->task_state_lock, task_flags); in isci_request_io_request_complete()
2858 task->task_state_flags |= SAS_TASK_NEED_DEV_RESET; in isci_request_io_request_complete()
2859 spin_unlock_irqrestore(&task->task_state_lock, task_flags); in isci_request_io_request_complete()
2899 if (SAS_PROTOCOL_SMP == task->task_proto) in isci_request_io_request_complete()
2906 switch (task->task_proto) { in isci_request_io_request_complete()
2908 if (task->data_dir == DMA_NONE) in isci_request_io_request_complete()
2910 if (task->num_scatter == 0) in isci_request_io_request_complete()
2914 task->total_xfer_len, task->data_dir); in isci_request_io_request_complete()
2916 dma_unmap_sg(&ihost->pdev->dev, task->scatter, in isci_request_io_request_complete()
2917 request->num_sg_entries, task->data_dir); in isci_request_io_request_complete()
2920 struct scatterlist *sg = &task->smp_task.smp_req; in isci_request_io_request_complete()
2937 spin_lock_irqsave(&task->task_state_lock, task_flags); in isci_request_io_request_complete()
2939 task->task_status.resp = response; in isci_request_io_request_complete()
2940 task->task_status.stat = status; in isci_request_io_request_complete()
2944 task->task_state_flags |= SAS_TASK_STATE_DONE; in isci_request_io_request_complete()
2945 task->task_state_flags &= ~(SAS_TASK_AT_INITIATOR | in isci_request_io_request_complete()
2948 spin_unlock_irqrestore(&task->task_state_lock, task_flags); in isci_request_io_request_complete()
2959 ireq_done(ihost, request, task); in isci_request_io_request_complete()
2967 struct sas_task *task; in sci_request_started_state_enter() local
2972 task = (test_bit(IREQ_TMF, &ireq->flags)) ? NULL : isci_request_access_task(ireq); in sci_request_started_state_enter()
2977 if (!task && dev->dev_type == SAS_END_DEVICE) { in sci_request_started_state_enter()
2979 } else if (task && task->task_proto == SAS_PROTOCOL_SMP) { in sci_request_started_state_enter()
2981 } else if (task && sas_protocol_ata(task->task_proto) && in sci_request_started_state_enter()
2982 !task->ata_task.use_ncq) { in sci_request_started_state_enter()
2984 task->ata_task.fis.command == ATA_CMD_PACKET) { in sci_request_started_state_enter()
2986 } else if (task->data_dir == DMA_NONE) { in sci_request_started_state_enter()
2988 } else if (task->ata_task.dma_xfer) { in sci_request_started_state_enter()
3154 struct sas_task *task = isci_request_access_task(ireq); in isci_request_stp_request_construct() local
3156 struct ata_queued_cmd *qc = task->uldd_task; in isci_request_stp_request_construct()
3164 memcpy(fis, &task->ata_task.fis, sizeof(struct host_to_dev_fis)); in isci_request_stp_request_construct()
3165 if (!task->ata_task.device_control_reg_update) in isci_request_stp_request_construct()
3183 struct sas_task *task) in sci_io_request_construct_smp() argument
3185 struct scatterlist *sg = &task->smp_task.smp_req; in sci_io_request_construct_smp()
3313 struct sas_task *task = isci_request_access_task(ireq); in isci_smp_request_build() local
3317 status = sci_io_request_construct_smp(dev, ireq, task); in isci_smp_request_build()
3342 struct sas_task *task = isci_request_access_task(request); in isci_io_request_build() local
3350 task->num_scatter); in isci_io_request_build()
3356 if (task->num_scatter && in isci_io_request_build()
3357 !sas_protocol_ata(task->task_proto) && in isci_io_request_build()
3358 !(SAS_PROTOCOL_SMP & task->task_proto)) { in isci_io_request_build()
3362 task->scatter, in isci_io_request_build()
3363 task->num_scatter, in isci_io_request_build()
3364 task->data_dir in isci_io_request_build()
3380 switch (task->task_proto) { in isci_io_request_build()
3415 struct sas_task *task, in isci_io_request_from_tag() argument
3421 ireq->ttype_ptr.io_task_ptr = task; in isci_io_request_from_tag()
3423 task->lldd_task = ireq; in isci_io_request_from_tag()
3442 struct sas_task *task, u16 tag) in isci_request_execute() argument
3450 ireq = isci_io_request_from_tag(ihost, task, tag); in isci_request_execute()
3465 if (isci_task_is_ncq_recovery(task)) { in isci_request_execute()
3511 spin_lock_irqsave(&task->task_state_lock, flags); in isci_request_execute()
3512 task->task_state_flags |= SAS_TASK_NEED_DEV_RESET; in isci_request_execute()
3513 spin_unlock_irqrestore(&task->task_state_lock, flags); in isci_request_execute()
3518 sas_task_abort(task); in isci_request_execute()