Lines Matching refs:sas_device

72 	struct _sas_device *sas_device);
446 struct _sas_device *sas_device; in _scsih_determine_boot_device() local
462 sas_device = device; in _scsih_determine_boot_device()
463 sas_address = sas_device->sas_address; in _scsih_determine_boot_device()
464 device_name = sas_device->device_name; in _scsih_determine_boot_device()
465 enclosure_logical_id = sas_device->enclosure_logical_id; in _scsih_determine_boot_device()
466 slot = sas_device->slot; in _scsih_determine_boot_device()
534 struct _sas_device *sas_device; in mpt3sas_scsih_sas_device_find_by_sas_address() local
536 list_for_each_entry(sas_device, &ioc->sas_device_list, list) in mpt3sas_scsih_sas_device_find_by_sas_address()
537 if (sas_device->sas_address == sas_address) in mpt3sas_scsih_sas_device_find_by_sas_address()
538 return sas_device; in mpt3sas_scsih_sas_device_find_by_sas_address()
540 list_for_each_entry(sas_device, &ioc->sas_device_init_list, list) in mpt3sas_scsih_sas_device_find_by_sas_address()
541 if (sas_device->sas_address == sas_address) in mpt3sas_scsih_sas_device_find_by_sas_address()
542 return sas_device; in mpt3sas_scsih_sas_device_find_by_sas_address()
559 struct _sas_device *sas_device; in _scsih_sas_device_find_by_handle() local
561 list_for_each_entry(sas_device, &ioc->sas_device_list, list) in _scsih_sas_device_find_by_handle()
562 if (sas_device->handle == handle) in _scsih_sas_device_find_by_handle()
563 return sas_device; in _scsih_sas_device_find_by_handle()
565 list_for_each_entry(sas_device, &ioc->sas_device_init_list, list) in _scsih_sas_device_find_by_handle()
566 if (sas_device->handle == handle) in _scsih_sas_device_find_by_handle()
567 return sas_device; in _scsih_sas_device_find_by_handle()
582 struct _sas_device *sas_device) in _scsih_sas_device_remove() argument
586 if (!sas_device) in _scsih_sas_device_remove()
590 list_del(&sas_device->list); in _scsih_sas_device_remove()
591 kfree(sas_device); in _scsih_sas_device_remove()
605 struct _sas_device *sas_device; in _scsih_device_remove_by_handle() local
612 sas_device = _scsih_sas_device_find_by_handle(ioc, handle); in _scsih_device_remove_by_handle()
613 if (sas_device) in _scsih_device_remove_by_handle()
614 list_del(&sas_device->list); in _scsih_device_remove_by_handle()
616 if (sas_device) in _scsih_device_remove_by_handle()
617 _scsih_remove_device(ioc, sas_device); in _scsih_device_remove_by_handle()
631 struct _sas_device *sas_device; in mpt3sas_device_remove_by_sas_address() local
638 sas_device = mpt3sas_scsih_sas_device_find_by_sas_address(ioc, in mpt3sas_device_remove_by_sas_address()
640 if (sas_device) in mpt3sas_device_remove_by_sas_address()
641 list_del(&sas_device->list); in mpt3sas_device_remove_by_sas_address()
643 if (sas_device) in mpt3sas_device_remove_by_sas_address()
644 _scsih_remove_device(ioc, sas_device); in mpt3sas_device_remove_by_sas_address()
657 struct _sas_device *sas_device) in _scsih_sas_device_add() argument
663 ioc->name, __func__, sas_device->handle, in _scsih_sas_device_add()
664 (unsigned long long)sas_device->sas_address)); in _scsih_sas_device_add()
667 list_add_tail(&sas_device->list, &ioc->sas_device_list); in _scsih_sas_device_add()
670 if (!mpt3sas_transport_port_add(ioc, sas_device->handle, in _scsih_sas_device_add()
671 sas_device->sas_address_parent)) { in _scsih_sas_device_add()
672 _scsih_sas_device_remove(ioc, sas_device); in _scsih_sas_device_add()
673 } else if (!sas_device->starget) { in _scsih_sas_device_add()
681 sas_device->sas_address, in _scsih_sas_device_add()
682 sas_device->sas_address_parent); in _scsih_sas_device_add()
683 _scsih_sas_device_remove(ioc, sas_device); in _scsih_sas_device_add()
698 struct _sas_device *sas_device) in _scsih_sas_device_init_add() argument
704 __func__, sas_device->handle, in _scsih_sas_device_init_add()
705 (unsigned long long)sas_device->sas_address)); in _scsih_sas_device_init_add()
708 list_add_tail(&sas_device->list, &ioc->sas_device_init_list); in _scsih_sas_device_init_add()
709 _scsih_determine_boot_device(ioc, sas_device, 0); in _scsih_sas_device_init_add()
1072 struct _sas_device *sas_device; in _scsih_change_queue_depth() local
1087 sas_device = mpt3sas_scsih_sas_device_find_by_sas_address(ioc, in _scsih_change_queue_depth()
1089 if (sas_device && sas_device->device_info & in _scsih_change_queue_depth()
1116 struct _sas_device *sas_device; in _scsih_target_alloc() local
1148 sas_device = mpt3sas_scsih_sas_device_find_by_sas_address(ioc, in _scsih_target_alloc()
1151 if (sas_device) { in _scsih_target_alloc()
1152 sas_target_priv_data->handle = sas_device->handle; in _scsih_target_alloc()
1153 sas_target_priv_data->sas_address = sas_device->sas_address; in _scsih_target_alloc()
1154 sas_device->starget = starget; in _scsih_target_alloc()
1155 sas_device->id = starget->id; in _scsih_target_alloc()
1156 sas_device->channel = starget->channel; in _scsih_target_alloc()
1157 if (test_bit(sas_device->handle, ioc->pd_handles)) in _scsih_target_alloc()
1160 if (sas_device->fast_path) in _scsih_target_alloc()
1180 struct _sas_device *sas_device; in _scsih_target_destroy() local
1203 sas_device = mpt3sas_scsih_sas_device_find_by_sas_address(ioc, in _scsih_target_destroy()
1205 if (sas_device && (sas_device->starget == starget) && in _scsih_target_destroy()
1206 (sas_device->id == starget->id) && in _scsih_target_destroy()
1207 (sas_device->channel == starget->channel)) in _scsih_target_destroy()
1208 sas_device->starget = NULL; in _scsih_target_destroy()
1233 struct _sas_device *sas_device; in _scsih_slave_alloc() local
1265 sas_device = mpt3sas_scsih_sas_device_find_by_sas_address(ioc, in _scsih_slave_alloc()
1267 if (sas_device && (sas_device->starget == NULL)) { in _scsih_slave_alloc()
1271 sas_device->starget = starget; in _scsih_slave_alloc()
1292 struct _sas_device *sas_device; in _scsih_slave_destroy() local
1307 sas_device = mpt3sas_scsih_sas_device_find_by_sas_address(ioc, in _scsih_slave_destroy()
1309 if (sas_device && !sas_target_priv_data->num_luns) in _scsih_slave_destroy()
1310 sas_device->starget = NULL; in _scsih_slave_destroy()
1628 struct _sas_device *sas_device; in _scsih_slave_configure() local
1746 sas_device = mpt3sas_scsih_sas_device_find_by_sas_address(ioc, in _scsih_slave_configure()
1748 if (!sas_device) { in _scsih_slave_configure()
1756 sas_device->volume_handle = volume_handle; in _scsih_slave_configure()
1757 sas_device->volume_wwid = volume_wwid; in _scsih_slave_configure()
1758 if (sas_device->device_info & MPI2_SAS_DEVICE_INFO_SSP_TARGET) { in _scsih_slave_configure()
1764 if (sas_device->device_info & MPI2_SAS_DEVICE_INFO_STP_TARGET) in _scsih_slave_configure()
1766 else if (sas_device->device_info & in _scsih_slave_configure()
1773 ds, handle, (unsigned long long)sas_device->sas_address, in _scsih_slave_configure()
1774 sas_device->phy, (unsigned long long)sas_device->device_name); in _scsih_slave_configure()
1778 sas_device->enclosure_logical_id, sas_device->slot); in _scsih_slave_configure()
2160 struct _sas_device *sas_device = NULL; in _scsih_tm_display_info() local
2176 sas_device = mpt3sas_scsih_sas_device_find_by_sas_address(ioc, in _scsih_tm_display_info()
2178 if (sas_device) { in _scsih_tm_display_info()
2184 sas_device->volume_handle, in _scsih_tm_display_info()
2185 (unsigned long long)sas_device->volume_wwid); in _scsih_tm_display_info()
2189 sas_device->handle, in _scsih_tm_display_info()
2190 (unsigned long long)sas_device->sas_address, in _scsih_tm_display_info()
2191 sas_device->phy); in _scsih_tm_display_info()
2194 (unsigned long long)sas_device->enclosure_logical_id, in _scsih_tm_display_info()
2195 sas_device->slot); in _scsih_tm_display_info()
2271 struct _sas_device *sas_device; in _scsih_dev_reset() local
2295 sas_device = _scsih_sas_device_find_by_handle(ioc, in _scsih_dev_reset()
2297 if (sas_device) in _scsih_dev_reset()
2298 handle = sas_device->volume_handle; in _scsih_dev_reset()
2330 struct _sas_device *sas_device; in _scsih_target_reset() local
2355 sas_device = _scsih_sas_device_find_by_handle(ioc, in _scsih_target_reset()
2357 if (sas_device) in _scsih_target_reset()
2358 handle = sas_device->volume_handle; in _scsih_target_reset()
2677 struct _sas_device *sas_device; in _scsih_block_io_to_children_attached_to_ex() local
2689 sas_device = in _scsih_block_io_to_children_attached_to_ex()
2692 if (sas_device) in _scsih_block_io_to_children_attached_to_ex()
2693 set_bit(sas_device->handle, in _scsih_block_io_to_children_attached_to_ex()
2762 struct _sas_device *sas_device; in _scsih_tm_tr_send() local
2795 sas_device = _scsih_sas_device_find_by_handle(ioc, handle); in _scsih_tm_tr_send()
2796 if (sas_device && sas_device->starget && in _scsih_tm_tr_send()
2797 sas_device->starget->hostdata) { in _scsih_tm_tr_send()
2798 sas_target_priv_data = sas_device->starget->hostdata; in _scsih_tm_tr_send()
2800 sas_address = sas_device->sas_address; in _scsih_tm_tr_send()
3687 struct _sas_device *sas_device = NULL; in _scsih_scsi_ioc_info() local
3817 sas_device = mpt3sas_scsih_sas_device_find_by_sas_address(ioc, in _scsih_scsi_ioc_info()
3819 if (sas_device) { in _scsih_scsi_ioc_info()
3823 sas_device->sas_address, sas_device->phy); in _scsih_scsi_ioc_info()
3827 sas_device->enclosure_logical_id, sas_device->slot); in _scsih_scsi_ioc_info()
3879 struct _sas_device *sas_device; in _scsih_turn_on_pfa_led() local
3881 sas_device = _scsih_sas_device_find_by_handle(ioc, handle); in _scsih_turn_on_pfa_led()
3882 if (!sas_device) in _scsih_turn_on_pfa_led()
3898 sas_device->pfa_led_on = 1; in _scsih_turn_on_pfa_led()
3918 struct _sas_device *sas_device) in _scsih_turn_off_pfa_led() argument
3927 mpi_request.Slot = cpu_to_le16(sas_device->slot); in _scsih_turn_off_pfa_led()
3929 mpi_request.EnclosureHandle = cpu_to_le16(sas_device->enclosure_handle); in _scsih_turn_off_pfa_led()
3983 struct _sas_device *sas_device; in _scsih_smart_predicted_fault() local
3989 sas_device = _scsih_sas_device_find_by_handle(ioc, handle); in _scsih_smart_predicted_fault()
3990 if (!sas_device) { in _scsih_smart_predicted_fault()
3994 starget = sas_device->starget; in _scsih_smart_predicted_fault()
4745 struct _sas_device *sas_device; in _scsih_check_device() local
4775 sas_device = mpt3sas_scsih_sas_device_find_by_sas_address(ioc, in _scsih_check_device()
4778 if (!sas_device) { in _scsih_check_device()
4783 if (unlikely(sas_device->handle != handle)) { in _scsih_check_device()
4784 starget = sas_device->starget; in _scsih_check_device()
4788 sas_device->handle, handle); in _scsih_check_device()
4790 sas_device->handle = handle; in _scsih_check_device()
4833 struct _sas_device *sas_device; in _scsih_add_device() local
4874 sas_device = mpt3sas_scsih_sas_device_find_by_sas_address(ioc, in _scsih_add_device()
4878 if (sas_device) in _scsih_add_device()
4881 sas_device = kzalloc(sizeof(struct _sas_device), in _scsih_add_device()
4883 if (!sas_device) { in _scsih_add_device()
4889 sas_device->handle = handle; in _scsih_add_device()
4892 &sas_device->sas_address_parent) != 0) in _scsih_add_device()
4895 sas_device->enclosure_handle = in _scsih_add_device()
4897 sas_device->slot = in _scsih_add_device()
4899 sas_device->device_info = device_info; in _scsih_add_device()
4900 sas_device->sas_address = sas_address; in _scsih_add_device()
4901 sas_device->phy = sas_device_pg0.PhyNum; in _scsih_add_device()
4902 sas_device->fast_path = (le16_to_cpu(sas_device_pg0.Flags) & in _scsih_add_device()
4906 if (sas_device->enclosure_handle && !(mpt3sas_config_get_enclosure_pg0( in _scsih_add_device()
4908 sas_device->enclosure_handle))) in _scsih_add_device()
4909 sas_device->enclosure_logical_id = in _scsih_add_device()
4913 sas_device->device_name = le64_to_cpu(sas_device_pg0.DeviceName); in _scsih_add_device()
4916 _scsih_sas_device_init_add(ioc, sas_device); in _scsih_add_device()
4918 _scsih_sas_device_add(ioc, sas_device); in _scsih_add_device()
4932 struct _sas_device *sas_device) in _scsih_remove_device() argument
4937 (sas_device->pfa_led_on)) { in _scsih_remove_device()
4938 _scsih_turn_off_pfa_led(ioc, sas_device); in _scsih_remove_device()
4939 sas_device->pfa_led_on = 0; in _scsih_remove_device()
4944 sas_device->handle, (unsigned long long) in _scsih_remove_device()
4945 sas_device->sas_address)); in _scsih_remove_device()
4947 if (sas_device->starget && sas_device->starget->hostdata) { in _scsih_remove_device()
4948 sas_target_priv_data = sas_device->starget->hostdata; in _scsih_remove_device()
4950 _scsih_ublock_io_device(ioc, sas_device->sas_address); in _scsih_remove_device()
4955 sas_device->sas_address, in _scsih_remove_device()
4956 sas_device->sas_address_parent); in _scsih_remove_device()
4960 ioc->name, sas_device->handle, in _scsih_remove_device()
4961 (unsigned long long) sas_device->sas_address); in _scsih_remove_device()
4966 sas_device->handle, (unsigned long long) in _scsih_remove_device()
4967 sas_device->sas_address)); in _scsih_remove_device()
4969 kfree(sas_device); in _scsih_remove_device()
5267 struct _sas_device *sas_device; in _scsih_sas_device_status_change_event() local
5294 sas_device = mpt3sas_scsih_sas_device_find_by_sas_address(ioc, in _scsih_sas_device_status_change_event()
5297 if (!sas_device || !sas_device->starget) { in _scsih_sas_device_status_change_event()
5302 target_priv_data = sas_device->starget->hostdata; in _scsih_sas_device_status_change_event()
5789 struct _sas_device *sas_device; in _scsih_sas_pd_expose() local
5796 sas_device = _scsih_sas_device_find_by_handle(ioc, handle); in _scsih_sas_pd_expose()
5797 if (sas_device) { in _scsih_sas_pd_expose()
5798 sas_device->volume_handle = 0; in _scsih_sas_pd_expose()
5799 sas_device->volume_wwid = 0; in _scsih_sas_pd_expose()
5801 if (sas_device->starget && sas_device->starget->hostdata) { in _scsih_sas_pd_expose()
5802 starget = sas_device->starget; in _scsih_sas_pd_expose()
5809 if (!sas_device) in _scsih_sas_pd_expose()
5829 struct _sas_device *sas_device; in _scsih_sas_pd_hide() local
5843 sas_device = _scsih_sas_device_find_by_handle(ioc, handle); in _scsih_sas_pd_hide()
5844 if (sas_device) { in _scsih_sas_pd_hide()
5846 if (sas_device->starget && sas_device->starget->hostdata) { in _scsih_sas_pd_hide()
5847 starget = sas_device->starget; in _scsih_sas_pd_hide()
5851 sas_device->volume_handle = volume_handle; in _scsih_sas_pd_hide()
5852 sas_device->volume_wwid = volume_wwid; in _scsih_sas_pd_hide()
5856 if (!sas_device) in _scsih_sas_pd_hide()
5894 struct _sas_device *sas_device; in _scsih_sas_pd_add() local
5906 sas_device = _scsih_sas_device_find_by_handle(ioc, handle); in _scsih_sas_pd_add()
5908 if (sas_device) { in _scsih_sas_pd_add()
6185 struct _sas_device *sas_device; in _scsih_sas_ir_physical_disk_event() local
6216 sas_device = _scsih_sas_device_find_by_handle(ioc, handle); in _scsih_sas_ir_physical_disk_event()
6219 if (sas_device) in _scsih_sas_ir_physical_disk_event()
6375 struct _sas_device *sas_device; in _scsih_mark_responding_sas_device() local
6379 list_for_each_entry(sas_device, &ioc->sas_device_list, list) { in _scsih_mark_responding_sas_device()
6380 if (sas_device->sas_address == sas_address && in _scsih_mark_responding_sas_device()
6381 sas_device->slot == slot) { in _scsih_mark_responding_sas_device()
6382 sas_device->responding = 1; in _scsih_mark_responding_sas_device()
6383 starget = sas_device->starget; in _scsih_mark_responding_sas_device()
6395 (unsigned long long)sas_device->sas_address, in _scsih_mark_responding_sas_device()
6397 sas_device->enclosure_logical_id, in _scsih_mark_responding_sas_device()
6398 sas_device->slot); in _scsih_mark_responding_sas_device()
6399 if (sas_device->handle == handle) in _scsih_mark_responding_sas_device()
6402 sas_device->handle); in _scsih_mark_responding_sas_device()
6403 sas_device->handle = handle; in _scsih_mark_responding_sas_device()
6671 struct _sas_device *sas_device, *sas_device_next; in _scsih_remove_unresponding_sas_devices() local
6683 list_for_each_entry_safe(sas_device, sas_device_next, in _scsih_remove_unresponding_sas_devices()
6685 if (!sas_device->responding) in _scsih_remove_unresponding_sas_devices()
6687 sas_device->sas_address); in _scsih_remove_unresponding_sas_devices()
6689 sas_device->responding = 0; in _scsih_remove_unresponding_sas_devices()
6774 struct _sas_device *sas_device; in _scsih_scan_for_devices_after_reset() local
6845 sas_device = _scsih_sas_device_find_by_handle(ioc, handle); in _scsih_scan_for_devices_after_reset()
6847 if (sas_device) in _scsih_scan_for_devices_after_reset()
6970 sas_device = mpt3sas_scsih_sas_device_find_by_sas_address(ioc, in _scsih_scan_for_devices_after_reset()
6973 if (sas_device) in _scsih_scan_for_devices_after_reset()
7521 struct _sas_device *sas_device; in _scsih_probe_boot_devices() local
7557 sas_device = device; in _scsih_probe_boot_devices()
7558 handle = sas_device->handle; in _scsih_probe_boot_devices()
7559 sas_address_parent = sas_device->sas_address_parent; in _scsih_probe_boot_devices()
7560 sas_address = sas_device->sas_address; in _scsih_probe_boot_devices()
7561 list_move_tail(&sas_device->list, &ioc->sas_device_list); in _scsih_probe_boot_devices()
7566 _scsih_sas_device_remove(ioc, sas_device); in _scsih_probe_boot_devices()
7567 } else if (!sas_device->starget) { in _scsih_probe_boot_devices()
7572 _scsih_sas_device_remove(ioc, sas_device); in _scsih_probe_boot_devices()
7610 struct _sas_device *sas_device, *next; in _scsih_probe_sas() local
7614 list_for_each_entry_safe(sas_device, next, &ioc->sas_device_init_list, in _scsih_probe_sas()
7617 if (!mpt3sas_transport_port_add(ioc, sas_device->handle, in _scsih_probe_sas()
7618 sas_device->sas_address_parent)) { in _scsih_probe_sas()
7619 list_del(&sas_device->list); in _scsih_probe_sas()
7620 kfree(sas_device); in _scsih_probe_sas()
7622 } else if (!sas_device->starget) { in _scsih_probe_sas()
7631 sas_device->sas_address, in _scsih_probe_sas()
7632 sas_device->sas_address_parent); in _scsih_probe_sas()
7633 list_del(&sas_device->list); in _scsih_probe_sas()
7634 kfree(sas_device); in _scsih_probe_sas()
7640 list_move_tail(&sas_device->list, &ioc->sas_device_list); in _scsih_probe_sas()