Lines Matching refs:idev
106 static inline int isci_device_io_ready(struct isci_remote_device *idev, in isci_device_io_ready() argument
109 return idev ? test_bit(IDEV_IO_READY, &idev->flags) || in isci_device_io_ready()
110 (test_bit(IDEV_IO_NCQERROR, &idev->flags) && in isci_device_io_ready()
126 struct isci_remote_device *idev; in isci_task_execute_task() local
133 idev = isci_lookup_device(task->dev); in isci_task_execute_task()
134 io_ready = isci_device_io_ready(idev, task); in isci_task_execute_task()
140 task, task->dev, idev, idev ? idev->flags : 0, in isci_task_execute_task()
143 if (!idev) { in isci_task_execute_task()
172 status = isci_request_execute(ihost, idev, task, ireq); in isci_task_execute_task()
175 if (test_bit(IDEV_GONE, &idev->flags)) { in isci_task_execute_task()
208 isci_put_device(idev); in isci_task_execute_task()
213 struct isci_remote_device *idev, in isci_task_request_build() argument
223 dev = idev->domain_dev; in isci_task_request_build()
231 status = sci_task_request_construct(ihost, idev, tag, in isci_task_request_build()
253 struct isci_remote_device *idev, in isci_task_execute_tmf() argument
274 if (!idev || in isci_task_execute_tmf()
275 (!test_bit(IDEV_IO_READY, &idev->flags) && in isci_task_execute_tmf()
276 !test_bit(IDEV_IO_NCQERROR, &idev->flags))) { in isci_task_execute_tmf()
280 idev, idev ? idev->flags : 0); in isci_task_execute_tmf()
285 __func__, idev); in isci_task_execute_tmf()
291 ireq = isci_task_request_build(ihost, idev, tag, tmf); in isci_task_execute_tmf()
298 status = sci_controller_start_task(ihost, idev, ireq); in isci_task_execute_tmf()
312 isci_remote_device_resume_from_abort(ihost, idev); in isci_task_execute_tmf()
322 isci_remote_device_suspend_terminate(ihost, idev, ireq); in isci_task_execute_tmf()
411 struct isci_remote_device *idev; in isci_task_lu_reset() local
416 idev = isci_get_device(dev->lldd_dev); in isci_task_lu_reset()
421 __func__, dev, ihost, idev); in isci_task_lu_reset()
423 if (!idev) { in isci_task_lu_reset()
432 if (isci_remote_device_suspend_terminate(ihost, idev, NULL) in isci_task_lu_reset()
439 if (!test_bit(IDEV_GONE, &idev->flags)) { in isci_task_lu_reset()
444 ret = isci_task_send_lu_reset_sas(ihost, idev, lun); in isci_task_lu_reset()
447 isci_put_device(idev); in isci_task_lu_reset()
479 struct isci_remote_device *idev = NULL; in isci_task_abort_task() local
498 idev = isci_get_device(task->dev->lldd_dev); in isci_task_abort_task()
507 __func__, idev, in isci_task_abort_task()
512 ((idev) ? ((test_bit(IDEV_GONE, &idev->flags)) in isci_task_abort_task()
522 if (!idev || !old_request) { in isci_task_abort_task()
541 if (isci_remote_device_suspend_terminate(ihost, idev, old_request) in isci_task_abort_task()
546 __func__, idev, old_request, task); in isci_task_abort_task()
555 test_bit(IDEV_GONE, &idev->flags)) { in isci_task_abort_task()
560 isci_remote_device_resume_from_abort(ihost, idev); in isci_task_abort_task()
575 test_bit(IDEV_GONE, &idev->flags)); in isci_task_abort_task()
592 ret = isci_task_execute_tmf(ihost, idev, &tmf, in isci_task_abort_task()
598 __func__, idev, task, old_request); in isci_task_abort_task()
599 isci_put_device(idev); in isci_task_abort_task()
717 struct isci_remote_device *idev) in isci_reset_device() argument
723 dev_dbg(&ihost->pdev->dev, "%s: idev %p\n", __func__, idev); in isci_reset_device()
726 if (isci_remote_device_suspend_terminate(ihost, idev, NULL) in isci_reset_device()
737 if (!test_bit(IDEV_GONE, &idev->flags)) { in isci_reset_device()
747 isci_remote_device_resume_from_abort(ihost, idev); in isci_reset_device()
750 __func__, idev, reset_stat); in isci_reset_device()
759 struct isci_remote_device *idev; in isci_task_I_T_nexus_reset() local
764 idev = isci_get_device(dev->lldd_dev); in isci_task_I_T_nexus_reset()
767 if (!idev) { in isci_task_I_T_nexus_reset()
775 ret = isci_reset_device(ihost, dev, idev); in isci_task_I_T_nexus_reset()
777 isci_put_device(idev); in isci_task_I_T_nexus_reset()