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()
255 struct isci_remote_device *idev, in isci_task_execute_tmf() argument
276 if (!idev || in isci_task_execute_tmf()
277 (!test_bit(IDEV_IO_READY, &idev->flags) && in isci_task_execute_tmf()
278 !test_bit(IDEV_IO_NCQERROR, &idev->flags))) { in isci_task_execute_tmf()
282 idev, idev ? idev->flags : 0); in isci_task_execute_tmf()
287 __func__, idev); in isci_task_execute_tmf()
293 ireq = isci_task_request_build(ihost, idev, tag, tmf); in isci_task_execute_tmf()
300 status = sci_controller_start_task(ihost, idev, ireq); in isci_task_execute_tmf()
314 isci_remote_device_resume_from_abort(ihost, idev); in isci_task_execute_tmf()
324 isci_remote_device_suspend_terminate(ihost, idev, ireq); in isci_task_execute_tmf()
413 struct isci_remote_device *idev; in isci_task_lu_reset() local
418 idev = isci_get_device(dev->lldd_dev); in isci_task_lu_reset()
423 __func__, dev, ihost, idev); in isci_task_lu_reset()
425 if (!idev) { in isci_task_lu_reset()
434 if (isci_remote_device_suspend_terminate(ihost, idev, NULL) in isci_task_lu_reset()
441 if (!test_bit(IDEV_GONE, &idev->flags)) { in isci_task_lu_reset()
446 ret = isci_task_send_lu_reset_sas(ihost, idev, lun); in isci_task_lu_reset()
449 isci_put_device(idev); in isci_task_lu_reset()
481 struct isci_remote_device *idev = NULL; in isci_task_abort_task() local
500 idev = isci_get_device(task->dev->lldd_dev); in isci_task_abort_task()
509 __func__, idev, in isci_task_abort_task()
514 ((idev) ? ((test_bit(IDEV_GONE, &idev->flags)) in isci_task_abort_task()
524 if (!idev || !old_request) { in isci_task_abort_task()
543 if (isci_remote_device_suspend_terminate(ihost, idev, old_request) in isci_task_abort_task()
548 __func__, idev, old_request, task); in isci_task_abort_task()
557 test_bit(IDEV_GONE, &idev->flags)) { in isci_task_abort_task()
562 isci_remote_device_resume_from_abort(ihost, idev); in isci_task_abort_task()
577 test_bit(IDEV_GONE, &idev->flags)); in isci_task_abort_task()
594 ret = isci_task_execute_tmf(ihost, idev, &tmf, in isci_task_abort_task()
600 __func__, idev, task, old_request); in isci_task_abort_task()
601 isci_put_device(idev); in isci_task_abort_task()
719 struct isci_remote_device *idev) in isci_reset_device() argument
725 dev_dbg(&ihost->pdev->dev, "%s: idev %p\n", __func__, idev); in isci_reset_device()
728 if (isci_remote_device_suspend_terminate(ihost, idev, NULL) in isci_reset_device()
739 if (!test_bit(IDEV_GONE, &idev->flags)) { in isci_reset_device()
749 isci_remote_device_resume_from_abort(ihost, idev); in isci_reset_device()
752 __func__, idev, reset_stat); in isci_reset_device()
761 struct isci_remote_device *idev; in isci_task_I_T_nexus_reset() local
766 idev = isci_get_device(dev->lldd_dev); in isci_task_I_T_nexus_reset()
769 if (!idev) { in isci_task_I_T_nexus_reset()
777 ret = isci_reset_device(ihost, dev, idev); in isci_task_I_T_nexus_reset()
779 isci_put_device(idev); in isci_task_I_T_nexus_reset()