Lines Matching refs:idev
107 static inline int isci_device_io_ready(struct isci_remote_device *idev, in isci_device_io_ready() argument
110 return idev ? test_bit(IDEV_IO_READY, &idev->flags) || in isci_device_io_ready()
111 (test_bit(IDEV_IO_NCQERROR, &idev->flags) && in isci_device_io_ready()
127 struct isci_remote_device *idev; in isci_task_execute_task() local
134 idev = isci_lookup_device(task->dev); in isci_task_execute_task()
135 io_ready = isci_device_io_ready(idev, task); in isci_task_execute_task()
141 task, task->dev, idev, idev ? idev->flags : 0, in isci_task_execute_task()
144 if (!idev) { in isci_task_execute_task()
169 status = isci_request_execute(ihost, idev, task, tag); in isci_task_execute_task()
177 if (test_bit(IDEV_GONE, &idev->flags)) { in isci_task_execute_task()
210 isci_put_device(idev); in isci_task_execute_task()
215 struct isci_remote_device *idev, in isci_task_request_build() argument
225 dev = idev->domain_dev; in isci_task_request_build()
233 status = sci_task_request_construct(ihost, idev, tag, in isci_task_request_build()
257 struct isci_remote_device *idev, in isci_task_execute_tmf() argument
278 if (!idev || in isci_task_execute_tmf()
279 (!test_bit(IDEV_IO_READY, &idev->flags) && in isci_task_execute_tmf()
280 !test_bit(IDEV_IO_NCQERROR, &idev->flags))) { in isci_task_execute_tmf()
284 idev, idev ? idev->flags : 0); in isci_task_execute_tmf()
289 __func__, idev); in isci_task_execute_tmf()
295 ireq = isci_task_request_build(ihost, idev, tag, tmf); in isci_task_execute_tmf()
302 status = sci_controller_start_task(ihost, idev, ireq); in isci_task_execute_tmf()
316 isci_remote_device_resume_from_abort(ihost, idev); in isci_task_execute_tmf()
326 isci_remote_device_suspend_terminate(ihost, idev, ireq); in isci_task_execute_tmf()
415 struct isci_remote_device *idev; in isci_task_lu_reset() local
420 idev = isci_get_device(dev->lldd_dev); in isci_task_lu_reset()
425 __func__, dev, ihost, idev); in isci_task_lu_reset()
427 if (!idev) { in isci_task_lu_reset()
436 if (isci_remote_device_suspend_terminate(ihost, idev, NULL) in isci_task_lu_reset()
443 if (!test_bit(IDEV_GONE, &idev->flags)) { in isci_task_lu_reset()
448 ret = isci_task_send_lu_reset_sas(ihost, idev, lun); in isci_task_lu_reset()
451 isci_put_device(idev); in isci_task_lu_reset()
483 struct isci_remote_device *idev = NULL; in isci_task_abort_task() local
503 idev = isci_get_device(task->dev->lldd_dev); in isci_task_abort_task()
512 __func__, idev, in isci_task_abort_task()
517 ((idev) ? ((test_bit(IDEV_GONE, &idev->flags)) in isci_task_abort_task()
527 if (!idev || !old_request) { in isci_task_abort_task()
547 if (isci_remote_device_suspend_terminate(ihost, idev, old_request) in isci_task_abort_task()
552 __func__, idev, old_request, task); in isci_task_abort_task()
561 test_bit(IDEV_GONE, &idev->flags)) { in isci_task_abort_task()
566 isci_remote_device_resume_from_abort(ihost, idev); in isci_task_abort_task()
581 test_bit(IDEV_GONE, &idev->flags)); in isci_task_abort_task()
599 ret = isci_task_execute_tmf(ihost, idev, &tmf, in isci_task_abort_task()
605 __func__, idev, task, old_request); in isci_task_abort_task()
606 isci_put_device(idev); in isci_task_abort_task()
742 struct isci_remote_device *idev) in isci_reset_device() argument
748 dev_dbg(&ihost->pdev->dev, "%s: idev %p\n", __func__, idev); in isci_reset_device()
751 if (isci_remote_device_suspend_terminate(ihost, idev, NULL) in isci_reset_device()
762 if (!test_bit(IDEV_GONE, &idev->flags)) { in isci_reset_device()
772 isci_remote_device_resume_from_abort(ihost, idev); in isci_reset_device()
775 __func__, idev, reset_stat); in isci_reset_device()
784 struct isci_remote_device *idev; in isci_task_I_T_nexus_reset() local
789 idev = isci_get_device(dev->lldd_dev); in isci_task_I_T_nexus_reset()
792 if (!idev) { in isci_task_I_T_nexus_reset()
800 ret = isci_reset_device(ihost, dev, idev); in isci_task_I_T_nexus_reset()
802 isci_put_device(idev); in isci_task_I_T_nexus_reset()