Lines Matching refs:sas_device
72 struct _sas_device *sas_device);
567 struct _sas_device *sas_device; in _scsih_determine_boot_device() local
596 sas_device = device; in _scsih_determine_boot_device()
597 sas_address = sas_device->sas_address; in _scsih_determine_boot_device()
598 device_name = sas_device->device_name; in _scsih_determine_boot_device()
599 enclosure_logical_id = sas_device->enclosure_logical_id; in _scsih_determine_boot_device()
600 slot = sas_device->slot; in _scsih_determine_boot_device()
730 struct _sas_device *sas_device; in __mpt3sas_get_sdev_by_rphy() local
734 list_for_each_entry(sas_device, &ioc->sas_device_list, list) { in __mpt3sas_get_sdev_by_rphy()
735 if (sas_device->rphy != rphy) in __mpt3sas_get_sdev_by_rphy()
737 sas_device_get(sas_device); in __mpt3sas_get_sdev_by_rphy()
738 return sas_device; in __mpt3sas_get_sdev_by_rphy()
741 sas_device = NULL; in __mpt3sas_get_sdev_by_rphy()
742 list_for_each_entry(sas_device, &ioc->sas_device_init_list, list) { in __mpt3sas_get_sdev_by_rphy()
743 if (sas_device->rphy != rphy) in __mpt3sas_get_sdev_by_rphy()
745 sas_device_get(sas_device); in __mpt3sas_get_sdev_by_rphy()
746 return sas_device; in __mpt3sas_get_sdev_by_rphy()
766 struct _sas_device *sas_device; in __mpt3sas_get_sdev_by_addr() local
773 list_for_each_entry(sas_device, &ioc->sas_device_list, list) { in __mpt3sas_get_sdev_by_addr()
774 if (sas_device->sas_address != sas_address) in __mpt3sas_get_sdev_by_addr()
776 if (sas_device->port != port) in __mpt3sas_get_sdev_by_addr()
778 sas_device_get(sas_device); in __mpt3sas_get_sdev_by_addr()
779 return sas_device; in __mpt3sas_get_sdev_by_addr()
782 list_for_each_entry(sas_device, &ioc->sas_device_init_list, list) { in __mpt3sas_get_sdev_by_addr()
783 if (sas_device->sas_address != sas_address) in __mpt3sas_get_sdev_by_addr()
785 if (sas_device->port != port) in __mpt3sas_get_sdev_by_addr()
787 sas_device_get(sas_device); in __mpt3sas_get_sdev_by_addr()
788 return sas_device; in __mpt3sas_get_sdev_by_addr()
808 struct _sas_device *sas_device; in mpt3sas_get_sdev_by_addr() local
812 sas_device = __mpt3sas_get_sdev_by_addr(ioc, in mpt3sas_get_sdev_by_addr()
816 return sas_device; in mpt3sas_get_sdev_by_addr()
822 struct _sas_device *sas_device; in __mpt3sas_get_sdev_by_handle() local
826 list_for_each_entry(sas_device, &ioc->sas_device_list, list) in __mpt3sas_get_sdev_by_handle()
827 if (sas_device->handle == handle) in __mpt3sas_get_sdev_by_handle()
830 list_for_each_entry(sas_device, &ioc->sas_device_init_list, list) in __mpt3sas_get_sdev_by_handle()
831 if (sas_device->handle == handle) in __mpt3sas_get_sdev_by_handle()
837 sas_device_get(sas_device); in __mpt3sas_get_sdev_by_handle()
838 return sas_device; in __mpt3sas_get_sdev_by_handle()
853 struct _sas_device *sas_device; in mpt3sas_get_sdev_by_handle() local
857 sas_device = __mpt3sas_get_sdev_by_handle(ioc, handle); in mpt3sas_get_sdev_by_handle()
860 return sas_device; in mpt3sas_get_sdev_by_handle()
872 struct _sas_device *sas_device, struct scsi_device *sdev, in _scsih_display_enclosure_chassis_info() argument
876 if (sas_device->enclosure_handle != 0) in _scsih_display_enclosure_chassis_info()
880 sas_device->enclosure_logical_id, in _scsih_display_enclosure_chassis_info()
881 sas_device->slot); in _scsih_display_enclosure_chassis_info()
882 if (sas_device->connector_name[0] != '\0') in _scsih_display_enclosure_chassis_info()
885 sas_device->enclosure_level, in _scsih_display_enclosure_chassis_info()
886 sas_device->connector_name); in _scsih_display_enclosure_chassis_info()
887 if (sas_device->is_chassis_slot_valid) in _scsih_display_enclosure_chassis_info()
889 sas_device->chassis_slot); in _scsih_display_enclosure_chassis_info()
891 if (sas_device->enclosure_handle != 0) in _scsih_display_enclosure_chassis_info()
895 sas_device->enclosure_logical_id, in _scsih_display_enclosure_chassis_info()
896 sas_device->slot); in _scsih_display_enclosure_chassis_info()
897 if (sas_device->connector_name[0] != '\0') in _scsih_display_enclosure_chassis_info()
900 sas_device->enclosure_level, in _scsih_display_enclosure_chassis_info()
901 sas_device->connector_name); in _scsih_display_enclosure_chassis_info()
902 if (sas_device->is_chassis_slot_valid) in _scsih_display_enclosure_chassis_info()
905 sas_device->chassis_slot); in _scsih_display_enclosure_chassis_info()
907 if (sas_device->enclosure_handle != 0) in _scsih_display_enclosure_chassis_info()
909 (u64)sas_device->enclosure_logical_id, in _scsih_display_enclosure_chassis_info()
910 sas_device->slot); in _scsih_display_enclosure_chassis_info()
911 if (sas_device->connector_name[0] != '\0') in _scsih_display_enclosure_chassis_info()
913 sas_device->enclosure_level, in _scsih_display_enclosure_chassis_info()
914 sas_device->connector_name); in _scsih_display_enclosure_chassis_info()
915 if (sas_device->is_chassis_slot_valid) in _scsih_display_enclosure_chassis_info()
917 sas_device->chassis_slot); in _scsih_display_enclosure_chassis_info()
931 struct _sas_device *sas_device) in _scsih_sas_device_remove() argument
935 if (!sas_device) in _scsih_sas_device_remove()
938 sas_device->handle, (u64)sas_device->sas_address); in _scsih_sas_device_remove()
940 _scsih_display_enclosure_chassis_info(ioc, sas_device, NULL, NULL); in _scsih_sas_device_remove()
947 if (!list_empty(&sas_device->list)) { in _scsih_sas_device_remove()
948 list_del_init(&sas_device->list); in _scsih_sas_device_remove()
949 sas_device_put(sas_device); in _scsih_sas_device_remove()
962 struct _sas_device *sas_device; in _scsih_device_remove_by_handle() local
969 sas_device = __mpt3sas_get_sdev_by_handle(ioc, handle); in _scsih_device_remove_by_handle()
970 if (sas_device) { in _scsih_device_remove_by_handle()
971 list_del_init(&sas_device->list); in _scsih_device_remove_by_handle()
972 sas_device_put(sas_device); in _scsih_device_remove_by_handle()
975 if (sas_device) { in _scsih_device_remove_by_handle()
976 _scsih_remove_device(ioc, sas_device); in _scsih_device_remove_by_handle()
977 sas_device_put(sas_device); in _scsih_device_remove_by_handle()
994 struct _sas_device *sas_device; in mpt3sas_device_remove_by_sas_address() local
1001 sas_device = __mpt3sas_get_sdev_by_addr(ioc, sas_address, port); in mpt3sas_device_remove_by_sas_address()
1002 if (sas_device) { in mpt3sas_device_remove_by_sas_address()
1003 list_del_init(&sas_device->list); in mpt3sas_device_remove_by_sas_address()
1004 sas_device_put(sas_device); in mpt3sas_device_remove_by_sas_address()
1007 if (sas_device) { in mpt3sas_device_remove_by_sas_address()
1008 _scsih_remove_device(ioc, sas_device); in mpt3sas_device_remove_by_sas_address()
1009 sas_device_put(sas_device); in mpt3sas_device_remove_by_sas_address()
1023 struct _sas_device *sas_device) in _scsih_sas_device_add() argument
1029 __func__, sas_device->handle, in _scsih_sas_device_add()
1030 (u64)sas_device->sas_address)); in _scsih_sas_device_add()
1032 dewtprintk(ioc, _scsih_display_enclosure_chassis_info(ioc, sas_device, in _scsih_sas_device_add()
1036 sas_device_get(sas_device); in _scsih_sas_device_add()
1037 list_add_tail(&sas_device->list, &ioc->sas_device_list); in _scsih_sas_device_add()
1041 clear_bit(sas_device->handle, ioc->pend_os_device_add); in _scsih_sas_device_add()
1045 if (!mpt3sas_transport_port_add(ioc, sas_device->handle, in _scsih_sas_device_add()
1046 sas_device->sas_address_parent, sas_device->port)) { in _scsih_sas_device_add()
1047 _scsih_sas_device_remove(ioc, sas_device); in _scsih_sas_device_add()
1048 } else if (!sas_device->starget) { in _scsih_sas_device_add()
1056 sas_device->sas_address, in _scsih_sas_device_add()
1057 sas_device->sas_address_parent, in _scsih_sas_device_add()
1058 sas_device->port); in _scsih_sas_device_add()
1059 _scsih_sas_device_remove(ioc, sas_device); in _scsih_sas_device_add()
1062 clear_bit(sas_device->handle, ioc->pend_os_device_add); in _scsih_sas_device_add()
1075 struct _sas_device *sas_device) in _scsih_sas_device_init_add() argument
1081 __func__, sas_device->handle, in _scsih_sas_device_init_add()
1082 (u64)sas_device->sas_address)); in _scsih_sas_device_init_add()
1084 dewtprintk(ioc, _scsih_display_enclosure_chassis_info(ioc, sas_device, in _scsih_sas_device_init_add()
1088 sas_device_get(sas_device); in _scsih_sas_device_init_add()
1089 list_add_tail(&sas_device->list, &ioc->sas_device_init_list); in _scsih_sas_device_init_add()
1090 _scsih_determine_boot_device(ioc, sas_device, 0); in _scsih_sas_device_init_add()
1797 struct _sas_device *sas_device; in scsih_change_queue_depth() local
1819 sas_device = __mpt3sas_get_sdev_from_target(ioc, sas_target_priv_data); in scsih_change_queue_depth()
1820 if (sas_device) { in scsih_change_queue_depth()
1821 if (sas_device->device_info & MPI2_SAS_DEVICE_INFO_SATA_DEVICE) in scsih_change_queue_depth()
1824 sas_device_put(sas_device); in scsih_change_queue_depth()
1874 struct _sas_device *sas_device; in scsih_target_alloc() local
1932 sas_device = __mpt3sas_get_sdev_by_rphy(ioc, rphy); in scsih_target_alloc()
1934 if (sas_device) { in scsih_target_alloc()
1935 sas_target_priv_data->handle = sas_device->handle; in scsih_target_alloc()
1936 sas_target_priv_data->sas_address = sas_device->sas_address; in scsih_target_alloc()
1937 sas_target_priv_data->port = sas_device->port; in scsih_target_alloc()
1938 sas_target_priv_data->sas_dev = sas_device; in scsih_target_alloc()
1939 sas_device->starget = starget; in scsih_target_alloc()
1940 sas_device->id = starget->id; in scsih_target_alloc()
1941 sas_device->channel = starget->channel; in scsih_target_alloc()
1942 if (test_bit(sas_device->handle, ioc->pd_handles)) in scsih_target_alloc()
1945 if (sas_device->fast_path) in scsih_target_alloc()
1964 struct _sas_device *sas_device; in scsih_target_destroy() local
2007 sas_device = __mpt3sas_get_sdev_from_target(ioc, sas_target_priv_data); in scsih_target_destroy()
2008 if (sas_device && (sas_device->starget == starget) && in scsih_target_destroy()
2009 (sas_device->id == starget->id) && in scsih_target_destroy()
2010 (sas_device->channel == starget->channel)) in scsih_target_destroy()
2011 sas_device->starget = NULL; in scsih_target_destroy()
2013 if (sas_device) { in scsih_target_destroy()
2018 sas_device_put(sas_device); in scsih_target_destroy()
2020 sas_device_put(sas_device); in scsih_target_destroy()
2045 struct _sas_device *sas_device; in scsih_slave_alloc() local
2092 sas_device = __mpt3sas_get_sdev_by_addr(ioc, in scsih_slave_alloc()
2095 if (sas_device && (sas_device->starget == NULL)) { in scsih_slave_alloc()
2099 sas_device->starget = starget; in scsih_slave_alloc()
2102 if (sas_device) in scsih_slave_alloc()
2103 sas_device_put(sas_device); in scsih_slave_alloc()
2122 struct _sas_device *sas_device; in scsih_slave_destroy() local
2150 sas_device = __mpt3sas_get_sdev_from_target(ioc, in scsih_slave_destroy()
2152 if (sas_device && !sas_target_priv_data->num_luns) in scsih_slave_destroy()
2153 sas_device->starget = NULL; in scsih_slave_destroy()
2155 if (sas_device) in scsih_slave_destroy()
2156 sas_device_put(sas_device); in scsih_slave_destroy()
2515 struct _sas_device *sas_device; in scsih_slave_configure() local
2698 sas_device = __mpt3sas_get_sdev_by_addr(ioc, in scsih_slave_configure()
2701 if (!sas_device) { in scsih_slave_configure()
2709 sas_device->volume_handle = volume_handle; in scsih_slave_configure()
2710 sas_device->volume_wwid = volume_wwid; in scsih_slave_configure()
2711 if (sas_device->device_info & MPI2_SAS_DEVICE_INFO_SSP_TARGET) { in scsih_slave_configure()
2712 qdepth = (sas_device->port_type > 1) ? in scsih_slave_configure()
2715 if (sas_device->device_info & in scsih_slave_configure()
2726 if (sas_device->device_info & MPI2_SAS_DEVICE_INFO_STP_TARGET) in scsih_slave_configure()
2728 else if (sas_device->device_info & in scsih_slave_configure()
2735 ds, handle, (unsigned long long)sas_device->sas_address, in scsih_slave_configure()
2736 sas_device->phy, (unsigned long long)sas_device->device_name); in scsih_slave_configure()
2738 _scsih_display_enclosure_chassis_info(NULL, sas_device, sdev, NULL); in scsih_slave_configure()
2740 sas_device_put(sas_device); in scsih_slave_configure()
3218 struct _sas_device *sas_device = NULL; in _scsih_tm_display_info() local
3263 sas_device = __mpt3sas_get_sdev_from_target(ioc, priv_target); in _scsih_tm_display_info()
3264 if (sas_device) { in _scsih_tm_display_info()
3270 sas_device->volume_handle, in _scsih_tm_display_info()
3271 (unsigned long long)sas_device->volume_wwid); in _scsih_tm_display_info()
3275 sas_device->handle, in _scsih_tm_display_info()
3276 (unsigned long long)sas_device->sas_address, in _scsih_tm_display_info()
3277 sas_device->phy); in _scsih_tm_display_info()
3279 _scsih_display_enclosure_chassis_info(NULL, sas_device, in _scsih_tm_display_info()
3282 sas_device_put(sas_device); in _scsih_tm_display_info()
3373 struct _sas_device *sas_device = NULL; in scsih_dev_reset() local
3402 sas_device = mpt3sas_get_sdev_from_target(ioc, in scsih_dev_reset()
3404 if (sas_device) in scsih_dev_reset()
3405 handle = sas_device->volume_handle; in scsih_dev_reset()
3435 if (sas_device) in scsih_dev_reset()
3436 sas_device_put(sas_device); in scsih_dev_reset()
3454 struct _sas_device *sas_device = NULL; in scsih_target_reset() local
3482 sas_device = mpt3sas_get_sdev_from_target(ioc, in scsih_target_reset()
3484 if (sas_device) in scsih_target_reset()
3485 handle = sas_device->volume_handle; in scsih_target_reset()
3514 if (sas_device) in scsih_target_reset()
3515 sas_device_put(sas_device); in scsih_target_reset()
3925 struct _sas_device *sas_device; in _scsih_block_io_device() local
3927 sas_device = mpt3sas_get_sdev_by_handle(ioc, handle); in _scsih_block_io_device()
3937 if (sas_device && sas_device->pend_sas_rphy_add) in _scsih_block_io_device()
3948 if (sas_device) in _scsih_block_io_device()
3949 sas_device_put(sas_device); in _scsih_block_io_device()
3966 struct _sas_device *sas_device; in _scsih_block_io_to_children_attached_to_ex() local
3978 sas_device = __mpt3sas_get_sdev_by_addr(ioc, in _scsih_block_io_to_children_attached_to_ex()
3981 if (sas_device) { in _scsih_block_io_to_children_attached_to_ex()
3982 set_bit(sas_device->handle, in _scsih_block_io_to_children_attached_to_ex()
3984 sas_device_put(sas_device); in _scsih_block_io_to_children_attached_to_ex()
4081 struct _sas_device *sas_device = NULL; in _scsih_tm_tr_send() local
4112 sas_device = __mpt3sas_get_sdev_by_handle(ioc, handle); in _scsih_tm_tr_send()
4113 if (sas_device && sas_device->starget && in _scsih_tm_tr_send()
4114 sas_device->starget->hostdata) { in _scsih_tm_tr_send()
4115 sas_target_priv_data = sas_device->starget->hostdata; in _scsih_tm_tr_send()
4117 sas_address = sas_device->sas_address; in _scsih_tm_tr_send()
4118 port = sas_device->port; in _scsih_tm_tr_send()
4121 if (!sas_device) { in _scsih_tm_tr_send()
4143 if (sas_device) { in _scsih_tm_tr_send()
4144 if (sas_device->enclosure_handle != 0) in _scsih_tm_tr_send()
4147 (u64)sas_device->enclosure_logical_id, in _scsih_tm_tr_send()
4148 sas_device->slot)); in _scsih_tm_tr_send()
4149 if (sas_device->connector_name[0] != '\0') in _scsih_tm_tr_send()
4152 sas_device->enclosure_level, in _scsih_tm_tr_send()
4153 sas_device->connector_name)); in _scsih_tm_tr_send()
4198 if (sas_device) in _scsih_tm_tr_send()
4199 sas_device_put(sas_device); in _scsih_tm_tr_send()
5321 struct _sas_device *sas_device = NULL; in _scsih_scsi_ioc_info() local
5471 sas_device = mpt3sas_get_sdev_from_target(ioc, priv_target); in _scsih_scsi_ioc_info()
5472 if (sas_device) { in _scsih_scsi_ioc_info()
5474 (u64)sas_device->sas_address, sas_device->phy); in _scsih_scsi_ioc_info()
5476 _scsih_display_enclosure_chassis_info(ioc, sas_device, in _scsih_scsi_ioc_info()
5479 sas_device_put(sas_device); in _scsih_scsi_ioc_info()
5519 struct _sas_device *sas_device; in _scsih_turn_on_pfa_led() local
5521 sas_device = mpt3sas_get_sdev_by_handle(ioc, handle); in _scsih_turn_on_pfa_led()
5522 if (!sas_device) in _scsih_turn_on_pfa_led()
5538 sas_device->pfa_led_on = 1; in _scsih_turn_on_pfa_led()
5548 sas_device_put(sas_device); in _scsih_turn_on_pfa_led()
5559 struct _sas_device *sas_device) in _scsih_turn_off_pfa_led() argument
5568 mpi_request.Slot = cpu_to_le16(sas_device->slot); in _scsih_turn_off_pfa_led()
5570 mpi_request.EnclosureHandle = cpu_to_le16(sas_device->enclosure_handle); in _scsih_turn_off_pfa_led()
5622 struct _sas_device *sas_device; in _scsih_smart_predicted_fault() local
5628 sas_device = __mpt3sas_get_sdev_by_handle(ioc, handle); in _scsih_smart_predicted_fault()
5629 if (!sas_device) in _scsih_smart_predicted_fault()
5632 starget = sas_device->starget; in _scsih_smart_predicted_fault()
5639 _scsih_display_enclosure_chassis_info(NULL, sas_device, NULL, starget); in _scsih_smart_predicted_fault()
5671 if (sas_device) in _scsih_smart_predicted_fault()
5672 sas_device_put(sas_device); in _scsih_smart_predicted_fault()
5939 struct _sas_device *sas_device; in _scsih_update_vphys_after_reset() local
6083 sas_device = mpt3sas_get_sdev_by_addr( in _scsih_update_vphys_after_reset()
6085 if (sas_device) in _scsih_update_vphys_after_reset()
6086 sas_device->port = mport; in _scsih_update_vphys_after_reset()
7123 struct _sas_device *sas_device = NULL; in _scsih_check_device() local
7157 sas_device = __mpt3sas_get_sdev_by_addr(ioc, in _scsih_check_device()
7160 if (!sas_device) in _scsih_check_device()
7163 if (unlikely(sas_device->handle != handle)) { in _scsih_check_device()
7164 starget = sas_device->starget; in _scsih_check_device()
7168 sas_device->handle, handle); in _scsih_check_device()
7170 sas_device->handle = handle; in _scsih_check_device()
7173 sas_device->enclosure_level = in _scsih_check_device()
7175 memcpy(sas_device->connector_name, in _scsih_check_device()
7177 sas_device->connector_name[4] = '\0'; in _scsih_check_device()
7179 sas_device->enclosure_level = 0; in _scsih_check_device()
7180 sas_device->connector_name[0] = '\0'; in _scsih_check_device()
7183 sas_device->enclosure_handle = in _scsih_check_device()
7185 sas_device->is_chassis_slot_valid = 0; in _scsih_check_device()
7187 sas_device->enclosure_handle); in _scsih_check_device()
7189 sas_device->enclosure_logical_id = in _scsih_check_device()
7193 sas_device->is_chassis_slot_valid = 1; in _scsih_check_device()
7194 sas_device->chassis_slot = in _scsih_check_device()
7216 if (sas_device) in _scsih_check_device()
7217 sas_device_put(sas_device); in _scsih_check_device()
7222 if (sas_device) in _scsih_check_device()
7223 sas_device_put(sas_device); in _scsih_check_device()
7243 struct _sas_device *sas_device; in _scsih_add_device() local
7286 sas_device = mpt3sas_get_sdev_by_addr(ioc, in _scsih_add_device()
7288 if (sas_device) { in _scsih_add_device()
7290 sas_device_put(sas_device); in _scsih_add_device()
7303 sas_device = kzalloc(sizeof(struct _sas_device), in _scsih_add_device()
7305 if (!sas_device) { in _scsih_add_device()
7311 kref_init(&sas_device->refcount); in _scsih_add_device()
7312 sas_device->handle = handle; in _scsih_add_device()
7315 &sas_device->sas_address_parent) != 0) in _scsih_add_device()
7318 sas_device->enclosure_handle = in _scsih_add_device()
7320 if (sas_device->enclosure_handle != 0) in _scsih_add_device()
7321 sas_device->slot = in _scsih_add_device()
7323 sas_device->device_info = device_info; in _scsih_add_device()
7324 sas_device->sas_address = sas_address; in _scsih_add_device()
7325 sas_device->phy = sas_device_pg0.PhyNum; in _scsih_add_device()
7326 sas_device->fast_path = (le16_to_cpu(sas_device_pg0.Flags) & in _scsih_add_device()
7328 sas_device->port = mpt3sas_get_port_by_id(ioc, port_id, 0); in _scsih_add_device()
7329 if (!sas_device->port) { in _scsih_add_device()
7337 sas_device->enclosure_level = in _scsih_add_device()
7339 memcpy(sas_device->connector_name, in _scsih_add_device()
7341 sas_device->connector_name[4] = '\0'; in _scsih_add_device()
7343 sas_device->enclosure_level = 0; in _scsih_add_device()
7344 sas_device->connector_name[0] = '\0'; in _scsih_add_device()
7347 sas_device->is_chassis_slot_valid = 0; in _scsih_add_device()
7349 sas_device->enclosure_logical_id = in _scsih_add_device()
7353 sas_device->is_chassis_slot_valid = 1; in _scsih_add_device()
7354 sas_device->chassis_slot = in _scsih_add_device()
7360 sas_device->device_name = le64_to_cpu(sas_device_pg0.DeviceName); in _scsih_add_device()
7361 sas_device->port_type = sas_device_pg0.MaxPortConnections; in _scsih_add_device()
7364 handle, sas_device->sas_address, sas_device->port_type); in _scsih_add_device()
7367 _scsih_sas_device_init_add(ioc, sas_device); in _scsih_add_device()
7369 _scsih_sas_device_add(ioc, sas_device); in _scsih_add_device()
7372 sas_device_put(sas_device); in _scsih_add_device()
7383 struct _sas_device *sas_device) in _scsih_remove_device() argument
7388 (sas_device->pfa_led_on)) { in _scsih_remove_device()
7389 _scsih_turn_off_pfa_led(ioc, sas_device); in _scsih_remove_device()
7390 sas_device->pfa_led_on = 0; in _scsih_remove_device()
7396 sas_device->handle, (u64)sas_device->sas_address)); in _scsih_remove_device()
7398 dewtprintk(ioc, _scsih_display_enclosure_chassis_info(ioc, sas_device, in _scsih_remove_device()
7401 if (sas_device->starget && sas_device->starget->hostdata) { in _scsih_remove_device()
7402 sas_target_priv_data = sas_device->starget->hostdata; in _scsih_remove_device()
7404 _scsih_ublock_io_device(ioc, sas_device->sas_address, in _scsih_remove_device()
7405 sas_device->port); in _scsih_remove_device()
7412 sas_device->sas_address, in _scsih_remove_device()
7413 sas_device->sas_address_parent, in _scsih_remove_device()
7414 sas_device->port); in _scsih_remove_device()
7417 sas_device->handle, (u64)sas_device->sas_address); in _scsih_remove_device()
7419 _scsih_display_enclosure_chassis_info(ioc, sas_device, NULL, NULL); in _scsih_remove_device()
7424 sas_device->handle, (u64)sas_device->sas_address)); in _scsih_remove_device()
7425 dewtprintk(ioc, _scsih_display_enclosure_chassis_info(ioc, sas_device, in _scsih_remove_device()
7719 struct _sas_device *sas_device; in _scsih_sas_device_status_change_event() local
7737 sas_device = __mpt3sas_get_sdev_by_addr(ioc, in _scsih_sas_device_status_change_event()
7741 if (!sas_device || !sas_device->starget) in _scsih_sas_device_status_change_event()
7744 target_priv_data = sas_device->starget->hostdata; in _scsih_sas_device_status_change_event()
7761 if (sas_device) in _scsih_sas_device_status_change_event()
7762 sas_device_put(sas_device); in _scsih_sas_device_status_change_event()
9040 struct _sas_device *sas_device; in _scsih_sas_pd_expose() local
9047 sas_device = __mpt3sas_get_sdev_by_handle(ioc, handle); in _scsih_sas_pd_expose()
9048 if (sas_device) { in _scsih_sas_pd_expose()
9049 sas_device->volume_handle = 0; in _scsih_sas_pd_expose()
9050 sas_device->volume_wwid = 0; in _scsih_sas_pd_expose()
9052 if (sas_device->starget && sas_device->starget->hostdata) { in _scsih_sas_pd_expose()
9053 starget = sas_device->starget; in _scsih_sas_pd_expose()
9060 if (!sas_device) in _scsih_sas_pd_expose()
9067 sas_device_put(sas_device); in _scsih_sas_pd_expose()
9080 struct _sas_device *sas_device; in _scsih_sas_pd_hide() local
9094 sas_device = __mpt3sas_get_sdev_by_handle(ioc, handle); in _scsih_sas_pd_hide()
9095 if (sas_device) { in _scsih_sas_pd_hide()
9097 if (sas_device->starget && sas_device->starget->hostdata) { in _scsih_sas_pd_hide()
9098 starget = sas_device->starget; in _scsih_sas_pd_hide()
9102 sas_device->volume_handle = volume_handle; in _scsih_sas_pd_hide()
9103 sas_device->volume_wwid = volume_wwid; in _scsih_sas_pd_hide()
9107 if (!sas_device) in _scsih_sas_pd_hide()
9116 sas_device_put(sas_device); in _scsih_sas_pd_hide()
9144 struct _sas_device *sas_device; in _scsih_sas_pd_add() local
9154 sas_device = mpt3sas_get_sdev_by_handle(ioc, handle); in _scsih_sas_pd_add()
9155 if (sas_device) { in _scsih_sas_pd_add()
9157 sas_device_put(sas_device); in _scsih_sas_pd_add()
9428 struct _sas_device *sas_device; in _scsih_sas_ir_physical_disk_event() local
9462 sas_device = mpt3sas_get_sdev_by_handle(ioc, handle); in _scsih_sas_ir_physical_disk_event()
9463 if (sas_device) { in _scsih_sas_ir_physical_disk_event()
9464 sas_device_put(sas_device); in _scsih_sas_ir_physical_disk_event()
9607 struct _sas_device *sas_device; in _scsih_update_device_qdepth() local
9616 sas_device = sas_device_priv_data->sas_target->sas_dev; in _scsih_update_device_qdepth()
9619 else if (sas_device && in _scsih_update_device_qdepth()
9620 sas_device->device_info & MPI2_SAS_DEVICE_INFO_SSP_TARGET) in _scsih_update_device_qdepth()
9621 qdepth = (sas_device->port_type > 1) ? in _scsih_update_device_qdepth()
9623 else if (sas_device && in _scsih_update_device_qdepth()
9624 sas_device->device_info & MPI2_SAS_DEVICE_INFO_SATA_DEVICE) in _scsih_update_device_qdepth()
9647 struct _sas_device *sas_device = NULL; in _scsih_mark_responding_sas_device() local
9662 list_for_each_entry(sas_device, &ioc->sas_device_list, list) { in _scsih_mark_responding_sas_device()
9663 if (sas_device->sas_address != le64_to_cpu( in _scsih_mark_responding_sas_device()
9666 if (sas_device->slot != le16_to_cpu(sas_device_pg0->Slot)) in _scsih_mark_responding_sas_device()
9668 if (sas_device->port != port) in _scsih_mark_responding_sas_device()
9670 sas_device->responding = 1; in _scsih_mark_responding_sas_device()
9671 starget = sas_device->starget; in _scsih_mark_responding_sas_device()
9683 sas_device->sas_address); in _scsih_mark_responding_sas_device()
9685 if (sas_device->enclosure_handle != 0) in _scsih_mark_responding_sas_device()
9689 sas_device->enclosure_logical_id, in _scsih_mark_responding_sas_device()
9690 sas_device->slot); in _scsih_mark_responding_sas_device()
9694 sas_device->enclosure_level = in _scsih_mark_responding_sas_device()
9696 memcpy(&sas_device->connector_name[0], in _scsih_mark_responding_sas_device()
9699 sas_device->enclosure_level = 0; in _scsih_mark_responding_sas_device()
9700 sas_device->connector_name[0] = '\0'; in _scsih_mark_responding_sas_device()
9703 sas_device->enclosure_handle = in _scsih_mark_responding_sas_device()
9705 sas_device->is_chassis_slot_valid = 0; in _scsih_mark_responding_sas_device()
9707 sas_device->enclosure_logical_id = le64_to_cpu( in _scsih_mark_responding_sas_device()
9711 sas_device->is_chassis_slot_valid = 1; in _scsih_mark_responding_sas_device()
9712 sas_device->chassis_slot = in _scsih_mark_responding_sas_device()
9717 if (sas_device->handle == le16_to_cpu( in _scsih_mark_responding_sas_device()
9721 sas_device->handle); in _scsih_mark_responding_sas_device()
9722 sas_device->handle = le16_to_cpu( in _scsih_mark_responding_sas_device()
10169 struct _sas_device *sas_device, *sas_device_next; in _scsih_remove_unresponding_devices() local
10191 list_for_each_entry_safe(sas_device, sas_device_next, in _scsih_remove_unresponding_devices()
10193 list_del_init(&sas_device->list); in _scsih_remove_unresponding_devices()
10194 sas_device_put(sas_device); in _scsih_remove_unresponding_devices()
10197 list_for_each_entry_safe(sas_device, sas_device_next, in _scsih_remove_unresponding_devices()
10199 if (!sas_device->responding) in _scsih_remove_unresponding_devices()
10200 list_move_tail(&sas_device->list, &head); in _scsih_remove_unresponding_devices()
10202 sas_device->responding = 0; in _scsih_remove_unresponding_devices()
10209 list_for_each_entry_safe(sas_device, sas_device_next, &head, list) { in _scsih_remove_unresponding_devices()
10210 _scsih_remove_device(ioc, sas_device); in _scsih_remove_unresponding_devices()
10211 list_del_init(&sas_device->list); in _scsih_remove_unresponding_devices()
10212 sas_device_put(sas_device); in _scsih_remove_unresponding_devices()
10321 struct _sas_device *sas_device; in _scsih_scan_for_devices_after_reset() local
10397 sas_device = mpt3sas_get_sdev_by_handle(ioc, handle); in _scsih_scan_for_devices_after_reset()
10398 if (sas_device) { in _scsih_scan_for_devices_after_reset()
10399 sas_device_put(sas_device); in _scsih_scan_for_devices_after_reset()
10510 sas_device = mpt3sas_get_sdev_by_addr(ioc, in _scsih_scan_for_devices_after_reset()
10513 if (sas_device) { in _scsih_scan_for_devices_after_reset()
10514 sas_device_put(sas_device); in _scsih_scan_for_devices_after_reset()
11352 struct _sas_device *sas_device; in _scsih_probe_boot_devices() local
11412 sas_device = device; in _scsih_probe_boot_devices()
11418 if (sas_device->starget) in _scsih_probe_boot_devices()
11421 handle = sas_device->handle; in _scsih_probe_boot_devices()
11422 sas_address_parent = sas_device->sas_address_parent; in _scsih_probe_boot_devices()
11423 sas_address = sas_device->sas_address; in _scsih_probe_boot_devices()
11424 port = sas_device->port; in _scsih_probe_boot_devices()
11425 list_move_tail(&sas_device->list, &ioc->sas_device_list); in _scsih_probe_boot_devices()
11436 _scsih_sas_device_remove(ioc, sas_device); in _scsih_probe_boot_devices()
11437 } else if (!sas_device->starget) { in _scsih_probe_boot_devices()
11442 _scsih_sas_device_remove(ioc, sas_device); in _scsih_probe_boot_devices()
11473 struct _sas_device *sas_device = NULL; in get_next_sas_device() local
11478 sas_device = list_first_entry(&ioc->sas_device_init_list, in get_next_sas_device()
11480 sas_device_get(sas_device); in get_next_sas_device()
11484 return sas_device; in get_next_sas_device()
11488 struct _sas_device *sas_device) in sas_device_make_active() argument
11502 if (!list_empty(&sas_device->list)) { in sas_device_make_active()
11503 list_del_init(&sas_device->list); in sas_device_make_active()
11504 sas_device_put(sas_device); in sas_device_make_active()
11507 sas_device_get(sas_device); in sas_device_make_active()
11508 list_add_tail(&sas_device->list, &ioc->sas_device_list); in sas_device_make_active()
11522 struct _sas_device *sas_device; in _scsih_probe_sas() local
11527 while ((sas_device = get_next_sas_device(ioc))) { in _scsih_probe_sas()
11528 if (!mpt3sas_transport_port_add(ioc, sas_device->handle, in _scsih_probe_sas()
11529 sas_device->sas_address_parent, sas_device->port)) { in _scsih_probe_sas()
11530 _scsih_sas_device_remove(ioc, sas_device); in _scsih_probe_sas()
11531 sas_device_put(sas_device); in _scsih_probe_sas()
11533 } else if (!sas_device->starget) { in _scsih_probe_sas()
11542 sas_device->sas_address, in _scsih_probe_sas()
11543 sas_device->sas_address_parent, in _scsih_probe_sas()
11544 sas_device->port); in _scsih_probe_sas()
11545 _scsih_sas_device_remove(ioc, sas_device); in _scsih_probe_sas()
11546 sas_device_put(sas_device); in _scsih_probe_sas()
11550 sas_device_make_active(ioc, sas_device); in _scsih_probe_sas()
11551 sas_device_put(sas_device); in _scsih_probe_sas()