Lines Matching refs:pm8001_dev
371 #define DEV_IS_GONE(pm8001_dev) \ argument
372 ((!pm8001_dev || (pm8001_dev->dev_type == SAS_PHY_UNUSED)))
385 struct pm8001_device *pm8001_dev; in pm8001_task_exec() local
413 pm8001_dev = dev->lldd_dev; in pm8001_task_exec()
415 if (DEV_IS_GONE(pm8001_dev) || !port->port_attached) { in pm8001_task_exec()
457 ccb->device = pm8001_dev; in pm8001_task_exec()
460 atomic_inc(&pm8001_dev->running_req); in pm8001_task_exec()
464 atomic_inc(&pm8001_dev->running_req); in pm8001_task_exec()
473 atomic_inc(&pm8001_dev->running_req); in pm8001_task_exec()
485 atomic_dec(&pm8001_dev->running_req); in pm8001_task_exec()
598 void pm8001_free_dev(struct pm8001_device *pm8001_dev) in pm8001_free_dev() argument
600 u32 id = pm8001_dev->id; in pm8001_free_dev()
601 memset(pm8001_dev, 0, sizeof(*pm8001_dev)); in pm8001_free_dev()
602 pm8001_dev->id = id; in pm8001_free_dev()
603 pm8001_dev->dev_type = SAS_PHY_UNUSED; in pm8001_free_dev()
604 pm8001_dev->device_id = PM8001_MAX_DEVICES; in pm8001_free_dev()
605 pm8001_dev->sas_device = NULL; in pm8001_free_dev()
723 struct pm8001_device *pm8001_dev = dev->lldd_dev; in pm8001_exec_internal_tmf_task() local
748 pm8001_dev->setds_completion = &completion_setstate; in pm8001_exec_internal_tmf_task()
750 pm8001_dev, DS_OPERATIONAL); in pm8001_exec_internal_tmf_task()
798 struct pm8001_device *pm8001_dev, struct domain_device *dev, u32 flag, in pm8001_exec_internal_task_abort() argument
822 ccb->device = pm8001_dev; in pm8001_exec_internal_task_abort()
828 pm8001_dev, flag, task_tag, ccb_tag); in pm8001_exec_internal_task_abort()
872 struct pm8001_device *pm8001_dev = dev->lldd_dev; in pm8001_dev_gone_notify() local
876 if (pm8001_dev) { in pm8001_dev_gone_notify()
877 u32 device_id = pm8001_dev->device_id; in pm8001_dev_gone_notify()
880 pm8001_dev->device_id, pm8001_dev->dev_type); in pm8001_dev_gone_notify()
881 if (atomic_read(&pm8001_dev->running_req)) { in pm8001_dev_gone_notify()
883 pm8001_exec_internal_task_abort(pm8001_ha, pm8001_dev, in pm8001_dev_gone_notify()
885 while (atomic_read(&pm8001_dev->running_req)) in pm8001_dev_gone_notify()
890 pm8001_free_dev(pm8001_dev); in pm8001_dev_gone_notify()
932 struct pm8001_device *pm8001_dev; in pm8001_open_reject_retry() local
937 pm8001_dev = ccb->device; in pm8001_open_reject_retry()
938 if (!pm8001_dev || (pm8001_dev->dev_type == SAS_PHY_UNUSED)) in pm8001_open_reject_retry()
941 uintptr_t d = (uintptr_t)pm8001_dev in pm8001_open_reject_retry()
943 if (((d % sizeof(*pm8001_dev)) != 0) in pm8001_open_reject_retry()
944 || ((d / sizeof(*pm8001_dev)) >= PM8001_MAX_DEVICES)) in pm8001_open_reject_retry()
946 } else if (pm8001_dev != device_to_close) in pm8001_open_reject_retry()
961 if (pm8001_dev) in pm8001_open_reject_retry()
962 atomic_dec(&pm8001_dev->running_req); in pm8001_open_reject_retry()
996 struct pm8001_device *pm8001_dev; in pm8001_I_T_nexus_reset() local
1003 pm8001_dev = dev->lldd_dev; in pm8001_I_T_nexus_reset()
1016 "with rc %d\n", pm8001_dev->device_id, rc); in pm8001_I_T_nexus_reset()
1021 rc = pm8001_exec_internal_task_abort(pm8001_ha, pm8001_dev, in pm8001_I_T_nexus_reset()
1025 "with rc %d\n", pm8001_dev->device_id, rc); in pm8001_I_T_nexus_reset()
1033 pm8001_dev->device_id, rc); in pm8001_I_T_nexus_reset()
1046 struct pm8001_device *pm8001_dev; in pm8001_I_T_nexus_event_handler() local
1053 pm8001_dev = dev->lldd_dev; in pm8001_I_T_nexus_event_handler()
1067 rc = pm8001_exec_internal_task_abort(pm8001_ha, pm8001_dev, in pm8001_I_T_nexus_event_handler()
1078 pm8001_dev->setds_completion = &completion_setstate; in pm8001_I_T_nexus_event_handler()
1083 rc = pm8001_exec_internal_task_abort(pm8001_ha, pm8001_dev, in pm8001_I_T_nexus_event_handler()
1096 pm8001_dev->device_id, rc); in pm8001_I_T_nexus_event_handler()
1107 struct pm8001_device *pm8001_dev = dev->lldd_dev; in pm8001_lu_reset() local
1112 rc = pm8001_exec_internal_task_abort(pm8001_ha, pm8001_dev, in pm8001_lu_reset()
1116 pm8001_dev->setds_completion = &completion_setstate; in pm8001_lu_reset()
1118 pm8001_dev, DS_OPERATIONAL); in pm8001_lu_reset()
1126 pm8001_dev->device_id, rc); in pm8001_lu_reset()
1183 struct pm8001_device *pm8001_dev; in pm8001_abort_task() local
1193 pm8001_dev = dev->lldd_dev; in pm8001_abort_task()
1195 phy_id = pm8001_dev->attached_phy; in pm8001_abort_task()
1225 pm8001_exec_internal_task_abort(pm8001_ha, pm8001_dev, in pm8001_abort_task()
1226 pm8001_dev->sas_device, 0, tag); in pm8001_abort_task()
1235 pm8001_dev->setds_completion = &completion; in pm8001_abort_task()
1237 pm8001_dev, DS_IN_RECOVERY); in pm8001_abort_task()
1295 pm8001_dev, pm8001_dev->sas_device, 1, tag); in pm8001_abort_task()
1306 pm8001_dev->setds_completion = &completion; in pm8001_abort_task()
1308 pm8001_dev, DS_OPERATIONAL); in pm8001_abort_task()
1312 pm8001_dev, pm8001_dev->sas_device, 0, tag); in pm8001_abort_task()
1317 rc = pm8001_exec_internal_task_abort(pm8001_ha, pm8001_dev, in pm8001_abort_task()
1318 pm8001_dev->sas_device, 0, tag); in pm8001_abort_task()
1350 struct pm8001_device *pm8001_dev = dev->lldd_dev; in pm8001_clear_task_set() local
1354 pm8001_dev->device_id); in pm8001_clear_task_set()