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()
5334 struct _sas_device *sas_device = NULL; in _scsih_scsi_ioc_info() local
5484 sas_device = mpt3sas_get_sdev_from_target(ioc, priv_target); in _scsih_scsi_ioc_info()
5485 if (sas_device) { in _scsih_scsi_ioc_info()
5487 (u64)sas_device->sas_address, sas_device->phy); in _scsih_scsi_ioc_info()
5489 _scsih_display_enclosure_chassis_info(ioc, sas_device, in _scsih_scsi_ioc_info()
5492 sas_device_put(sas_device); in _scsih_scsi_ioc_info()
5532 struct _sas_device *sas_device; in _scsih_turn_on_pfa_led() local
5534 sas_device = mpt3sas_get_sdev_by_handle(ioc, handle); in _scsih_turn_on_pfa_led()
5535 if (!sas_device) in _scsih_turn_on_pfa_led()
5551 sas_device->pfa_led_on = 1; in _scsih_turn_on_pfa_led()
5561 sas_device_put(sas_device); in _scsih_turn_on_pfa_led()
5572 struct _sas_device *sas_device) in _scsih_turn_off_pfa_led() argument
5581 mpi_request.Slot = cpu_to_le16(sas_device->slot); in _scsih_turn_off_pfa_led()
5583 mpi_request.EnclosureHandle = cpu_to_le16(sas_device->enclosure_handle); in _scsih_turn_off_pfa_led()
5635 struct _sas_device *sas_device; in _scsih_smart_predicted_fault() local
5641 sas_device = __mpt3sas_get_sdev_by_handle(ioc, handle); in _scsih_smart_predicted_fault()
5642 if (!sas_device) in _scsih_smart_predicted_fault()
5645 starget = sas_device->starget; in _scsih_smart_predicted_fault()
5652 _scsih_display_enclosure_chassis_info(NULL, sas_device, NULL, starget); in _scsih_smart_predicted_fault()
5684 if (sas_device) in _scsih_smart_predicted_fault()
5685 sas_device_put(sas_device); in _scsih_smart_predicted_fault()
5952 struct _sas_device *sas_device; in _scsih_update_vphys_after_reset() local
6096 sas_device = mpt3sas_get_sdev_by_addr( in _scsih_update_vphys_after_reset()
6098 if (sas_device) in _scsih_update_vphys_after_reset()
6099 sas_device->port = mport; in _scsih_update_vphys_after_reset()
7191 struct _sas_device *sas_device = NULL; in _scsih_check_device() local
7225 sas_device = __mpt3sas_get_sdev_by_addr(ioc, in _scsih_check_device()
7228 if (!sas_device) in _scsih_check_device()
7231 if (unlikely(sas_device->handle != handle)) { in _scsih_check_device()
7232 starget = sas_device->starget; in _scsih_check_device()
7236 sas_device->handle, handle); in _scsih_check_device()
7238 sas_device->handle = handle; in _scsih_check_device()
7241 sas_device->enclosure_level = in _scsih_check_device()
7243 memcpy(sas_device->connector_name, in _scsih_check_device()
7245 sas_device->connector_name[4] = '\0'; in _scsih_check_device()
7247 sas_device->enclosure_level = 0; in _scsih_check_device()
7248 sas_device->connector_name[0] = '\0'; in _scsih_check_device()
7251 sas_device->enclosure_handle = in _scsih_check_device()
7253 sas_device->is_chassis_slot_valid = 0; in _scsih_check_device()
7255 sas_device->enclosure_handle); in _scsih_check_device()
7257 sas_device->enclosure_logical_id = in _scsih_check_device()
7261 sas_device->is_chassis_slot_valid = 1; in _scsih_check_device()
7262 sas_device->chassis_slot = in _scsih_check_device()
7284 if (sas_device) in _scsih_check_device()
7285 sas_device_put(sas_device); in _scsih_check_device()
7290 if (sas_device) in _scsih_check_device()
7291 sas_device_put(sas_device); in _scsih_check_device()
7311 struct _sas_device *sas_device; in _scsih_add_device() local
7354 sas_device = mpt3sas_get_sdev_by_addr(ioc, in _scsih_add_device()
7356 if (sas_device) { in _scsih_add_device()
7358 sas_device_put(sas_device); in _scsih_add_device()
7371 sas_device = kzalloc(sizeof(struct _sas_device), in _scsih_add_device()
7373 if (!sas_device) { in _scsih_add_device()
7379 kref_init(&sas_device->refcount); in _scsih_add_device()
7380 sas_device->handle = handle; in _scsih_add_device()
7383 &sas_device->sas_address_parent) != 0) in _scsih_add_device()
7386 sas_device->enclosure_handle = in _scsih_add_device()
7388 if (sas_device->enclosure_handle != 0) in _scsih_add_device()
7389 sas_device->slot = in _scsih_add_device()
7391 sas_device->device_info = device_info; in _scsih_add_device()
7392 sas_device->sas_address = sas_address; in _scsih_add_device()
7393 sas_device->phy = sas_device_pg0.PhyNum; in _scsih_add_device()
7394 sas_device->fast_path = (le16_to_cpu(sas_device_pg0.Flags) & in _scsih_add_device()
7396 sas_device->port = mpt3sas_get_port_by_id(ioc, port_id, 0); in _scsih_add_device()
7397 if (!sas_device->port) { in _scsih_add_device()
7405 sas_device->enclosure_level = in _scsih_add_device()
7407 memcpy(sas_device->connector_name, in _scsih_add_device()
7409 sas_device->connector_name[4] = '\0'; in _scsih_add_device()
7411 sas_device->enclosure_level = 0; in _scsih_add_device()
7412 sas_device->connector_name[0] = '\0'; in _scsih_add_device()
7415 sas_device->is_chassis_slot_valid = 0; in _scsih_add_device()
7417 sas_device->enclosure_logical_id = in _scsih_add_device()
7421 sas_device->is_chassis_slot_valid = 1; in _scsih_add_device()
7422 sas_device->chassis_slot = in _scsih_add_device()
7428 sas_device->device_name = le64_to_cpu(sas_device_pg0.DeviceName); in _scsih_add_device()
7429 sas_device->port_type = sas_device_pg0.MaxPortConnections; in _scsih_add_device()
7432 handle, sas_device->sas_address, sas_device->port_type); in _scsih_add_device()
7435 _scsih_sas_device_init_add(ioc, sas_device); in _scsih_add_device()
7437 _scsih_sas_device_add(ioc, sas_device); in _scsih_add_device()
7440 sas_device_put(sas_device); in _scsih_add_device()
7451 struct _sas_device *sas_device) in _scsih_remove_device() argument
7456 (sas_device->pfa_led_on)) { in _scsih_remove_device()
7457 _scsih_turn_off_pfa_led(ioc, sas_device); in _scsih_remove_device()
7458 sas_device->pfa_led_on = 0; in _scsih_remove_device()
7464 sas_device->handle, (u64)sas_device->sas_address)); in _scsih_remove_device()
7466 dewtprintk(ioc, _scsih_display_enclosure_chassis_info(ioc, sas_device, in _scsih_remove_device()
7469 if (sas_device->starget && sas_device->starget->hostdata) { in _scsih_remove_device()
7470 sas_target_priv_data = sas_device->starget->hostdata; in _scsih_remove_device()
7472 _scsih_ublock_io_device(ioc, sas_device->sas_address, in _scsih_remove_device()
7473 sas_device->port); in _scsih_remove_device()
7480 sas_device->sas_address, in _scsih_remove_device()
7481 sas_device->sas_address_parent, in _scsih_remove_device()
7482 sas_device->port); in _scsih_remove_device()
7485 sas_device->handle, (u64)sas_device->sas_address); in _scsih_remove_device()
7487 _scsih_display_enclosure_chassis_info(ioc, sas_device, NULL, NULL); in _scsih_remove_device()
7492 sas_device->handle, (u64)sas_device->sas_address)); in _scsih_remove_device()
7493 dewtprintk(ioc, _scsih_display_enclosure_chassis_info(ioc, sas_device, in _scsih_remove_device()
7787 struct _sas_device *sas_device; in _scsih_sas_device_status_change_event() local
7805 sas_device = __mpt3sas_get_sdev_by_addr(ioc, in _scsih_sas_device_status_change_event()
7809 if (!sas_device || !sas_device->starget) in _scsih_sas_device_status_change_event()
7812 target_priv_data = sas_device->starget->hostdata; in _scsih_sas_device_status_change_event()
7829 if (sas_device) in _scsih_sas_device_status_change_event()
7830 sas_device_put(sas_device); in _scsih_sas_device_status_change_event()
9108 struct _sas_device *sas_device; in _scsih_sas_pd_expose() local
9115 sas_device = __mpt3sas_get_sdev_by_handle(ioc, handle); in _scsih_sas_pd_expose()
9116 if (sas_device) { in _scsih_sas_pd_expose()
9117 sas_device->volume_handle = 0; in _scsih_sas_pd_expose()
9118 sas_device->volume_wwid = 0; in _scsih_sas_pd_expose()
9120 if (sas_device->starget && sas_device->starget->hostdata) { in _scsih_sas_pd_expose()
9121 starget = sas_device->starget; in _scsih_sas_pd_expose()
9128 if (!sas_device) in _scsih_sas_pd_expose()
9135 sas_device_put(sas_device); in _scsih_sas_pd_expose()
9148 struct _sas_device *sas_device; in _scsih_sas_pd_hide() local
9162 sas_device = __mpt3sas_get_sdev_by_handle(ioc, handle); in _scsih_sas_pd_hide()
9163 if (sas_device) { in _scsih_sas_pd_hide()
9165 if (sas_device->starget && sas_device->starget->hostdata) { in _scsih_sas_pd_hide()
9166 starget = sas_device->starget; in _scsih_sas_pd_hide()
9170 sas_device->volume_handle = volume_handle; in _scsih_sas_pd_hide()
9171 sas_device->volume_wwid = volume_wwid; in _scsih_sas_pd_hide()
9175 if (!sas_device) in _scsih_sas_pd_hide()
9184 sas_device_put(sas_device); in _scsih_sas_pd_hide()
9212 struct _sas_device *sas_device; in _scsih_sas_pd_add() local
9222 sas_device = mpt3sas_get_sdev_by_handle(ioc, handle); in _scsih_sas_pd_add()
9223 if (sas_device) { in _scsih_sas_pd_add()
9225 sas_device_put(sas_device); in _scsih_sas_pd_add()
9496 struct _sas_device *sas_device; in _scsih_sas_ir_physical_disk_event() local
9530 sas_device = mpt3sas_get_sdev_by_handle(ioc, handle); in _scsih_sas_ir_physical_disk_event()
9531 if (sas_device) { in _scsih_sas_ir_physical_disk_event()
9532 sas_device_put(sas_device); in _scsih_sas_ir_physical_disk_event()
9675 struct _sas_device *sas_device; in _scsih_update_device_qdepth() local
9684 sas_device = sas_device_priv_data->sas_target->sas_dev; in _scsih_update_device_qdepth()
9687 else if (sas_device && in _scsih_update_device_qdepth()
9688 sas_device->device_info & MPI2_SAS_DEVICE_INFO_SSP_TARGET) in _scsih_update_device_qdepth()
9689 qdepth = (sas_device->port_type > 1) ? in _scsih_update_device_qdepth()
9691 else if (sas_device && in _scsih_update_device_qdepth()
9692 sas_device->device_info & MPI2_SAS_DEVICE_INFO_SATA_DEVICE) in _scsih_update_device_qdepth()
9715 struct _sas_device *sas_device = NULL; in _scsih_mark_responding_sas_device() local
9730 list_for_each_entry(sas_device, &ioc->sas_device_list, list) { in _scsih_mark_responding_sas_device()
9731 if (sas_device->sas_address != le64_to_cpu( in _scsih_mark_responding_sas_device()
9734 if (sas_device->slot != le16_to_cpu(sas_device_pg0->Slot)) in _scsih_mark_responding_sas_device()
9736 if (sas_device->port != port) in _scsih_mark_responding_sas_device()
9738 sas_device->responding = 1; in _scsih_mark_responding_sas_device()
9739 starget = sas_device->starget; in _scsih_mark_responding_sas_device()
9751 sas_device->sas_address); in _scsih_mark_responding_sas_device()
9753 if (sas_device->enclosure_handle != 0) in _scsih_mark_responding_sas_device()
9757 sas_device->enclosure_logical_id, in _scsih_mark_responding_sas_device()
9758 sas_device->slot); in _scsih_mark_responding_sas_device()
9762 sas_device->enclosure_level = in _scsih_mark_responding_sas_device()
9764 memcpy(&sas_device->connector_name[0], in _scsih_mark_responding_sas_device()
9767 sas_device->enclosure_level = 0; in _scsih_mark_responding_sas_device()
9768 sas_device->connector_name[0] = '\0'; in _scsih_mark_responding_sas_device()
9771 sas_device->enclosure_handle = in _scsih_mark_responding_sas_device()
9773 sas_device->is_chassis_slot_valid = 0; in _scsih_mark_responding_sas_device()
9775 sas_device->enclosure_logical_id = le64_to_cpu( in _scsih_mark_responding_sas_device()
9779 sas_device->is_chassis_slot_valid = 1; in _scsih_mark_responding_sas_device()
9780 sas_device->chassis_slot = in _scsih_mark_responding_sas_device()
9785 if (sas_device->handle == le16_to_cpu( in _scsih_mark_responding_sas_device()
9789 sas_device->handle); in _scsih_mark_responding_sas_device()
9790 sas_device->handle = le16_to_cpu( in _scsih_mark_responding_sas_device()
10237 struct _sas_device *sas_device, *sas_device_next; in _scsih_remove_unresponding_devices() local
10259 list_for_each_entry_safe(sas_device, sas_device_next, in _scsih_remove_unresponding_devices()
10261 list_del_init(&sas_device->list); in _scsih_remove_unresponding_devices()
10262 sas_device_put(sas_device); in _scsih_remove_unresponding_devices()
10265 list_for_each_entry_safe(sas_device, sas_device_next, in _scsih_remove_unresponding_devices()
10267 if (!sas_device->responding) in _scsih_remove_unresponding_devices()
10268 list_move_tail(&sas_device->list, &head); in _scsih_remove_unresponding_devices()
10270 sas_device->responding = 0; in _scsih_remove_unresponding_devices()
10277 list_for_each_entry_safe(sas_device, sas_device_next, &head, list) { in _scsih_remove_unresponding_devices()
10278 _scsih_remove_device(ioc, sas_device); in _scsih_remove_unresponding_devices()
10279 list_del_init(&sas_device->list); in _scsih_remove_unresponding_devices()
10280 sas_device_put(sas_device); in _scsih_remove_unresponding_devices()
10389 struct _sas_device *sas_device; in _scsih_scan_for_devices_after_reset() local
10465 sas_device = mpt3sas_get_sdev_by_handle(ioc, handle); in _scsih_scan_for_devices_after_reset()
10466 if (sas_device) { in _scsih_scan_for_devices_after_reset()
10467 sas_device_put(sas_device); in _scsih_scan_for_devices_after_reset()
10578 sas_device = mpt3sas_get_sdev_by_addr(ioc, in _scsih_scan_for_devices_after_reset()
10581 if (sas_device) { in _scsih_scan_for_devices_after_reset()
10582 sas_device_put(sas_device); in _scsih_scan_for_devices_after_reset()
11424 struct _sas_device *sas_device; in _scsih_probe_boot_devices() local
11484 sas_device = device; in _scsih_probe_boot_devices()
11490 if (sas_device->starget) in _scsih_probe_boot_devices()
11493 handle = sas_device->handle; in _scsih_probe_boot_devices()
11494 sas_address_parent = sas_device->sas_address_parent; in _scsih_probe_boot_devices()
11495 sas_address = sas_device->sas_address; in _scsih_probe_boot_devices()
11496 port = sas_device->port; in _scsih_probe_boot_devices()
11497 list_move_tail(&sas_device->list, &ioc->sas_device_list); in _scsih_probe_boot_devices()
11508 _scsih_sas_device_remove(ioc, sas_device); in _scsih_probe_boot_devices()
11509 } else if (!sas_device->starget) { in _scsih_probe_boot_devices()
11514 _scsih_sas_device_remove(ioc, sas_device); in _scsih_probe_boot_devices()
11545 struct _sas_device *sas_device = NULL; in get_next_sas_device() local
11550 sas_device = list_first_entry(&ioc->sas_device_init_list, in get_next_sas_device()
11552 sas_device_get(sas_device); in get_next_sas_device()
11556 return sas_device; in get_next_sas_device()
11560 struct _sas_device *sas_device) in sas_device_make_active() argument
11574 if (!list_empty(&sas_device->list)) { in sas_device_make_active()
11575 list_del_init(&sas_device->list); in sas_device_make_active()
11576 sas_device_put(sas_device); in sas_device_make_active()
11579 sas_device_get(sas_device); in sas_device_make_active()
11580 list_add_tail(&sas_device->list, &ioc->sas_device_list); in sas_device_make_active()
11594 struct _sas_device *sas_device; in _scsih_probe_sas() local
11599 while ((sas_device = get_next_sas_device(ioc))) { in _scsih_probe_sas()
11600 if (!mpt3sas_transport_port_add(ioc, sas_device->handle, in _scsih_probe_sas()
11601 sas_device->sas_address_parent, sas_device->port)) { in _scsih_probe_sas()
11602 _scsih_sas_device_remove(ioc, sas_device); in _scsih_probe_sas()
11603 sas_device_put(sas_device); in _scsih_probe_sas()
11605 } else if (!sas_device->starget) { in _scsih_probe_sas()
11614 sas_device->sas_address, in _scsih_probe_sas()
11615 sas_device->sas_address_parent, in _scsih_probe_sas()
11616 sas_device->port); in _scsih_probe_sas()
11617 _scsih_sas_device_remove(ioc, sas_device); in _scsih_probe_sas()
11618 sas_device_put(sas_device); in _scsih_probe_sas()
11622 sas_device_make_active(ioc, sas_device); in _scsih_probe_sas()
11623 sas_device_put(sas_device); in _scsih_probe_sas()