Lines Matching refs:sas_device
71 struct _sas_device *sas_device);
470 struct _sas_device *sas_device; in _scsih_determine_boot_device() local
499 sas_device = device; in _scsih_determine_boot_device()
500 sas_address = sas_device->sas_address; in _scsih_determine_boot_device()
501 device_name = sas_device->device_name; in _scsih_determine_boot_device()
502 enclosure_logical_id = sas_device->enclosure_logical_id; in _scsih_determine_boot_device()
503 slot = sas_device->slot; in _scsih_determine_boot_device()
621 struct _sas_device *sas_device; in __mpt3sas_get_sdev_by_addr() local
625 list_for_each_entry(sas_device, &ioc->sas_device_list, list) in __mpt3sas_get_sdev_by_addr()
626 if (sas_device->sas_address == sas_address) in __mpt3sas_get_sdev_by_addr()
629 list_for_each_entry(sas_device, &ioc->sas_device_init_list, list) in __mpt3sas_get_sdev_by_addr()
630 if (sas_device->sas_address == sas_address) in __mpt3sas_get_sdev_by_addr()
636 sas_device_get(sas_device); in __mpt3sas_get_sdev_by_addr()
637 return sas_device; in __mpt3sas_get_sdev_by_addr()
653 struct _sas_device *sas_device; in mpt3sas_get_sdev_by_addr() local
657 sas_device = __mpt3sas_get_sdev_by_addr(ioc, in mpt3sas_get_sdev_by_addr()
661 return sas_device; in mpt3sas_get_sdev_by_addr()
667 struct _sas_device *sas_device; in __mpt3sas_get_sdev_by_handle() local
671 list_for_each_entry(sas_device, &ioc->sas_device_list, list) in __mpt3sas_get_sdev_by_handle()
672 if (sas_device->handle == handle) in __mpt3sas_get_sdev_by_handle()
675 list_for_each_entry(sas_device, &ioc->sas_device_init_list, list) in __mpt3sas_get_sdev_by_handle()
676 if (sas_device->handle == handle) in __mpt3sas_get_sdev_by_handle()
682 sas_device_get(sas_device); in __mpt3sas_get_sdev_by_handle()
683 return sas_device; in __mpt3sas_get_sdev_by_handle()
698 struct _sas_device *sas_device; in mpt3sas_get_sdev_by_handle() local
702 sas_device = __mpt3sas_get_sdev_by_handle(ioc, handle); in mpt3sas_get_sdev_by_handle()
705 return sas_device; in mpt3sas_get_sdev_by_handle()
717 struct _sas_device *sas_device, struct scsi_device *sdev, in _scsih_display_enclosure_chassis_info() argument
721 if (sas_device->enclosure_handle != 0) in _scsih_display_enclosure_chassis_info()
725 sas_device->enclosure_logical_id, in _scsih_display_enclosure_chassis_info()
726 sas_device->slot); in _scsih_display_enclosure_chassis_info()
727 if (sas_device->connector_name[0] != '\0') in _scsih_display_enclosure_chassis_info()
730 sas_device->enclosure_level, in _scsih_display_enclosure_chassis_info()
731 sas_device->connector_name); in _scsih_display_enclosure_chassis_info()
732 if (sas_device->is_chassis_slot_valid) in _scsih_display_enclosure_chassis_info()
734 sas_device->chassis_slot); in _scsih_display_enclosure_chassis_info()
736 if (sas_device->enclosure_handle != 0) in _scsih_display_enclosure_chassis_info()
740 sas_device->enclosure_logical_id, in _scsih_display_enclosure_chassis_info()
741 sas_device->slot); in _scsih_display_enclosure_chassis_info()
742 if (sas_device->connector_name[0] != '\0') in _scsih_display_enclosure_chassis_info()
745 sas_device->enclosure_level, in _scsih_display_enclosure_chassis_info()
746 sas_device->connector_name); in _scsih_display_enclosure_chassis_info()
747 if (sas_device->is_chassis_slot_valid) in _scsih_display_enclosure_chassis_info()
750 sas_device->chassis_slot); in _scsih_display_enclosure_chassis_info()
752 if (sas_device->enclosure_handle != 0) in _scsih_display_enclosure_chassis_info()
754 (u64)sas_device->enclosure_logical_id, in _scsih_display_enclosure_chassis_info()
755 sas_device->slot); in _scsih_display_enclosure_chassis_info()
756 if (sas_device->connector_name[0] != '\0') in _scsih_display_enclosure_chassis_info()
758 sas_device->enclosure_level, in _scsih_display_enclosure_chassis_info()
759 sas_device->connector_name); in _scsih_display_enclosure_chassis_info()
760 if (sas_device->is_chassis_slot_valid) in _scsih_display_enclosure_chassis_info()
762 sas_device->chassis_slot); in _scsih_display_enclosure_chassis_info()
776 struct _sas_device *sas_device) in _scsih_sas_device_remove() argument
780 if (!sas_device) in _scsih_sas_device_remove()
783 sas_device->handle, (u64)sas_device->sas_address); in _scsih_sas_device_remove()
785 _scsih_display_enclosure_chassis_info(ioc, sas_device, NULL, NULL); in _scsih_sas_device_remove()
792 if (!list_empty(&sas_device->list)) { in _scsih_sas_device_remove()
793 list_del_init(&sas_device->list); in _scsih_sas_device_remove()
794 sas_device_put(sas_device); in _scsih_sas_device_remove()
807 struct _sas_device *sas_device; in _scsih_device_remove_by_handle() local
814 sas_device = __mpt3sas_get_sdev_by_handle(ioc, handle); in _scsih_device_remove_by_handle()
815 if (sas_device) { in _scsih_device_remove_by_handle()
816 list_del_init(&sas_device->list); in _scsih_device_remove_by_handle()
817 sas_device_put(sas_device); in _scsih_device_remove_by_handle()
820 if (sas_device) { in _scsih_device_remove_by_handle()
821 _scsih_remove_device(ioc, sas_device); in _scsih_device_remove_by_handle()
822 sas_device_put(sas_device); in _scsih_device_remove_by_handle()
835 struct _sas_device *sas_device; in mpt3sas_device_remove_by_sas_address() local
842 sas_device = __mpt3sas_get_sdev_by_addr(ioc, sas_address); in mpt3sas_device_remove_by_sas_address()
843 if (sas_device) { in mpt3sas_device_remove_by_sas_address()
844 list_del_init(&sas_device->list); in mpt3sas_device_remove_by_sas_address()
845 sas_device_put(sas_device); in mpt3sas_device_remove_by_sas_address()
848 if (sas_device) { in mpt3sas_device_remove_by_sas_address()
849 _scsih_remove_device(ioc, sas_device); in mpt3sas_device_remove_by_sas_address()
850 sas_device_put(sas_device); in mpt3sas_device_remove_by_sas_address()
864 struct _sas_device *sas_device) in _scsih_sas_device_add() argument
870 __func__, sas_device->handle, in _scsih_sas_device_add()
871 (u64)sas_device->sas_address)); in _scsih_sas_device_add()
873 dewtprintk(ioc, _scsih_display_enclosure_chassis_info(ioc, sas_device, in _scsih_sas_device_add()
877 sas_device_get(sas_device); in _scsih_sas_device_add()
878 list_add_tail(&sas_device->list, &ioc->sas_device_list); in _scsih_sas_device_add()
882 clear_bit(sas_device->handle, ioc->pend_os_device_add); in _scsih_sas_device_add()
886 if (!mpt3sas_transport_port_add(ioc, sas_device->handle, in _scsih_sas_device_add()
887 sas_device->sas_address_parent)) { in _scsih_sas_device_add()
888 _scsih_sas_device_remove(ioc, sas_device); in _scsih_sas_device_add()
889 } else if (!sas_device->starget) { in _scsih_sas_device_add()
897 sas_device->sas_address, in _scsih_sas_device_add()
898 sas_device->sas_address_parent); in _scsih_sas_device_add()
899 _scsih_sas_device_remove(ioc, sas_device); in _scsih_sas_device_add()
902 clear_bit(sas_device->handle, ioc->pend_os_device_add); in _scsih_sas_device_add()
915 struct _sas_device *sas_device) in _scsih_sas_device_init_add() argument
921 __func__, sas_device->handle, in _scsih_sas_device_init_add()
922 (u64)sas_device->sas_address)); in _scsih_sas_device_init_add()
924 dewtprintk(ioc, _scsih_display_enclosure_chassis_info(ioc, sas_device, in _scsih_sas_device_init_add()
928 sas_device_get(sas_device); in _scsih_sas_device_init_add()
929 list_add_tail(&sas_device->list, &ioc->sas_device_init_list); in _scsih_sas_device_init_add()
930 _scsih_determine_boot_device(ioc, sas_device, 0); in _scsih_sas_device_init_add()
1630 struct _sas_device *sas_device; in scsih_change_queue_depth() local
1652 sas_device = __mpt3sas_get_sdev_from_target(ioc, sas_target_priv_data); in scsih_change_queue_depth()
1653 if (sas_device) { in scsih_change_queue_depth()
1654 if (sas_device->device_info & MPI2_SAS_DEVICE_INFO_SATA_DEVICE) in scsih_change_queue_depth()
1657 sas_device_put(sas_device); in scsih_change_queue_depth()
1707 struct _sas_device *sas_device; in scsih_target_alloc() local
1764 sas_device = __mpt3sas_get_sdev_by_addr(ioc, in scsih_target_alloc()
1767 if (sas_device) { in scsih_target_alloc()
1768 sas_target_priv_data->handle = sas_device->handle; in scsih_target_alloc()
1769 sas_target_priv_data->sas_address = sas_device->sas_address; in scsih_target_alloc()
1770 sas_target_priv_data->sas_dev = sas_device; in scsih_target_alloc()
1771 sas_device->starget = starget; in scsih_target_alloc()
1772 sas_device->id = starget->id; in scsih_target_alloc()
1773 sas_device->channel = starget->channel; in scsih_target_alloc()
1774 if (test_bit(sas_device->handle, ioc->pd_handles)) in scsih_target_alloc()
1777 if (sas_device->fast_path) in scsih_target_alloc()
1796 struct _sas_device *sas_device; in scsih_target_destroy() local
1839 sas_device = __mpt3sas_get_sdev_from_target(ioc, sas_target_priv_data); in scsih_target_destroy()
1840 if (sas_device && (sas_device->starget == starget) && in scsih_target_destroy()
1841 (sas_device->id == starget->id) && in scsih_target_destroy()
1842 (sas_device->channel == starget->channel)) in scsih_target_destroy()
1843 sas_device->starget = NULL; in scsih_target_destroy()
1845 if (sas_device) { in scsih_target_destroy()
1850 sas_device_put(sas_device); in scsih_target_destroy()
1852 sas_device_put(sas_device); in scsih_target_destroy()
1877 struct _sas_device *sas_device; in scsih_slave_alloc() local
1924 sas_device = __mpt3sas_get_sdev_by_addr(ioc, in scsih_slave_alloc()
1926 if (sas_device && (sas_device->starget == NULL)) { in scsih_slave_alloc()
1930 sas_device->starget = starget; in scsih_slave_alloc()
1933 if (sas_device) in scsih_slave_alloc()
1934 sas_device_put(sas_device); in scsih_slave_alloc()
1953 struct _sas_device *sas_device; in scsih_slave_destroy() local
1981 sas_device = __mpt3sas_get_sdev_from_target(ioc, in scsih_slave_destroy()
1983 if (sas_device && !sas_target_priv_data->num_luns) in scsih_slave_destroy()
1984 sas_device->starget = NULL; in scsih_slave_destroy()
1986 if (sas_device) in scsih_slave_destroy()
1987 sas_device_put(sas_device); in scsih_slave_destroy()
2346 struct _sas_device *sas_device; in scsih_slave_configure() local
2529 sas_device = __mpt3sas_get_sdev_by_addr(ioc, in scsih_slave_configure()
2531 if (!sas_device) { in scsih_slave_configure()
2539 sas_device->volume_handle = volume_handle; in scsih_slave_configure()
2540 sas_device->volume_wwid = volume_wwid; in scsih_slave_configure()
2541 if (sas_device->device_info & MPI2_SAS_DEVICE_INFO_SSP_TARGET) { in scsih_slave_configure()
2544 if (sas_device->device_info & in scsih_slave_configure()
2555 if (sas_device->device_info & MPI2_SAS_DEVICE_INFO_STP_TARGET) in scsih_slave_configure()
2557 else if (sas_device->device_info & in scsih_slave_configure()
2564 ds, handle, (unsigned long long)sas_device->sas_address, in scsih_slave_configure()
2565 sas_device->phy, (unsigned long long)sas_device->device_name); in scsih_slave_configure()
2567 _scsih_display_enclosure_chassis_info(NULL, sas_device, sdev, NULL); in scsih_slave_configure()
2569 sas_device_put(sas_device); in scsih_slave_configure()
3047 struct _sas_device *sas_device = NULL; in _scsih_tm_display_info() local
3092 sas_device = __mpt3sas_get_sdev_from_target(ioc, priv_target); in _scsih_tm_display_info()
3093 if (sas_device) { in _scsih_tm_display_info()
3099 sas_device->volume_handle, in _scsih_tm_display_info()
3100 (unsigned long long)sas_device->volume_wwid); in _scsih_tm_display_info()
3104 sas_device->handle, in _scsih_tm_display_info()
3105 (unsigned long long)sas_device->sas_address, in _scsih_tm_display_info()
3106 sas_device->phy); in _scsih_tm_display_info()
3108 _scsih_display_enclosure_chassis_info(NULL, sas_device, in _scsih_tm_display_info()
3111 sas_device_put(sas_device); in _scsih_tm_display_info()
3202 struct _sas_device *sas_device = NULL; in scsih_dev_reset() local
3231 sas_device = mpt3sas_get_sdev_from_target(ioc, in scsih_dev_reset()
3233 if (sas_device) in scsih_dev_reset()
3234 handle = sas_device->volume_handle; in scsih_dev_reset()
3264 if (sas_device) in scsih_dev_reset()
3265 sas_device_put(sas_device); in scsih_dev_reset()
3283 struct _sas_device *sas_device = NULL; in scsih_target_reset() local
3311 sas_device = mpt3sas_get_sdev_from_target(ioc, in scsih_target_reset()
3313 if (sas_device) in scsih_target_reset()
3314 handle = sas_device->volume_handle; in scsih_target_reset()
3343 if (sas_device) in scsih_target_reset()
3344 sas_device_put(sas_device); in scsih_target_reset()
3729 struct _sas_device *sas_device; in _scsih_block_io_device() local
3731 sas_device = mpt3sas_get_sdev_by_handle(ioc, handle); in _scsih_block_io_device()
3741 if (sas_device && sas_device->pend_sas_rphy_add) in _scsih_block_io_device()
3752 if (sas_device) in _scsih_block_io_device()
3753 sas_device_put(sas_device); in _scsih_block_io_device()
3770 struct _sas_device *sas_device; in _scsih_block_io_to_children_attached_to_ex() local
3782 sas_device = __mpt3sas_get_sdev_by_addr(ioc, in _scsih_block_io_to_children_attached_to_ex()
3784 if (sas_device) { in _scsih_block_io_to_children_attached_to_ex()
3785 set_bit(sas_device->handle, in _scsih_block_io_to_children_attached_to_ex()
3787 sas_device_put(sas_device); in _scsih_block_io_to_children_attached_to_ex()
3883 struct _sas_device *sas_device = NULL; in _scsih_tm_tr_send() local
3913 sas_device = __mpt3sas_get_sdev_by_handle(ioc, handle); in _scsih_tm_tr_send()
3914 if (sas_device && sas_device->starget && in _scsih_tm_tr_send()
3915 sas_device->starget->hostdata) { in _scsih_tm_tr_send()
3916 sas_target_priv_data = sas_device->starget->hostdata; in _scsih_tm_tr_send()
3918 sas_address = sas_device->sas_address; in _scsih_tm_tr_send()
3921 if (!sas_device) { in _scsih_tm_tr_send()
3943 if (sas_device) { in _scsih_tm_tr_send()
3944 if (sas_device->enclosure_handle != 0) in _scsih_tm_tr_send()
3947 (u64)sas_device->enclosure_logical_id, in _scsih_tm_tr_send()
3948 sas_device->slot)); in _scsih_tm_tr_send()
3949 if (sas_device->connector_name[0] != '\0') in _scsih_tm_tr_send()
3952 sas_device->enclosure_level, in _scsih_tm_tr_send()
3953 sas_device->connector_name)); in _scsih_tm_tr_send()
3998 if (sas_device) in _scsih_tm_tr_send()
3999 sas_device_put(sas_device); in _scsih_tm_tr_send()
5137 struct _sas_device *sas_device = NULL; in _scsih_scsi_ioc_info() local
5287 sas_device = mpt3sas_get_sdev_from_target(ioc, priv_target); in _scsih_scsi_ioc_info()
5288 if (sas_device) { in _scsih_scsi_ioc_info()
5290 (u64)sas_device->sas_address, sas_device->phy); in _scsih_scsi_ioc_info()
5292 _scsih_display_enclosure_chassis_info(ioc, sas_device, in _scsih_scsi_ioc_info()
5295 sas_device_put(sas_device); in _scsih_scsi_ioc_info()
5335 struct _sas_device *sas_device; in _scsih_turn_on_pfa_led() local
5337 sas_device = mpt3sas_get_sdev_by_handle(ioc, handle); in _scsih_turn_on_pfa_led()
5338 if (!sas_device) in _scsih_turn_on_pfa_led()
5354 sas_device->pfa_led_on = 1; in _scsih_turn_on_pfa_led()
5364 sas_device_put(sas_device); in _scsih_turn_on_pfa_led()
5375 struct _sas_device *sas_device) in _scsih_turn_off_pfa_led() argument
5384 mpi_request.Slot = cpu_to_le16(sas_device->slot); in _scsih_turn_off_pfa_led()
5386 mpi_request.EnclosureHandle = cpu_to_le16(sas_device->enclosure_handle); in _scsih_turn_off_pfa_led()
5438 struct _sas_device *sas_device; in _scsih_smart_predicted_fault() local
5444 sas_device = __mpt3sas_get_sdev_by_handle(ioc, handle); in _scsih_smart_predicted_fault()
5445 if (!sas_device) in _scsih_smart_predicted_fault()
5448 starget = sas_device->starget; in _scsih_smart_predicted_fault()
5455 _scsih_display_enclosure_chassis_info(NULL, sas_device, NULL, starget); in _scsih_smart_predicted_fault()
5487 if (sas_device) in _scsih_smart_predicted_fault()
5488 sas_device_put(sas_device); in _scsih_smart_predicted_fault()
6237 struct _sas_device *sas_device; in _scsih_check_device() local
6267 sas_device = __mpt3sas_get_sdev_by_addr(ioc, in _scsih_check_device()
6270 if (!sas_device) in _scsih_check_device()
6273 if (unlikely(sas_device->handle != handle)) { in _scsih_check_device()
6274 starget = sas_device->starget; in _scsih_check_device()
6278 sas_device->handle, handle); in _scsih_check_device()
6280 sas_device->handle = handle; in _scsih_check_device()
6283 sas_device->enclosure_level = in _scsih_check_device()
6285 memcpy(sas_device->connector_name, in _scsih_check_device()
6287 sas_device->connector_name[4] = '\0'; in _scsih_check_device()
6289 sas_device->enclosure_level = 0; in _scsih_check_device()
6290 sas_device->connector_name[0] = '\0'; in _scsih_check_device()
6293 sas_device->enclosure_handle = in _scsih_check_device()
6295 sas_device->is_chassis_slot_valid = 0; in _scsih_check_device()
6297 sas_device->enclosure_handle); in _scsih_check_device()
6299 sas_device->enclosure_logical_id = in _scsih_check_device()
6303 sas_device->is_chassis_slot_valid = 1; in _scsih_check_device()
6304 sas_device->chassis_slot = in _scsih_check_device()
6326 if (sas_device) in _scsih_check_device()
6327 sas_device_put(sas_device); in _scsih_check_device()
6332 if (sas_device) in _scsih_check_device()
6333 sas_device_put(sas_device); in _scsih_check_device()
6353 struct _sas_device *sas_device; in _scsih_add_device() local
6394 sas_device = mpt3sas_get_sdev_by_addr(ioc, in _scsih_add_device()
6396 if (sas_device) { in _scsih_add_device()
6398 sas_device_put(sas_device); in _scsih_add_device()
6411 sas_device = kzalloc(sizeof(struct _sas_device), in _scsih_add_device()
6413 if (!sas_device) { in _scsih_add_device()
6419 kref_init(&sas_device->refcount); in _scsih_add_device()
6420 sas_device->handle = handle; in _scsih_add_device()
6423 &sas_device->sas_address_parent) != 0) in _scsih_add_device()
6426 sas_device->enclosure_handle = in _scsih_add_device()
6428 if (sas_device->enclosure_handle != 0) in _scsih_add_device()
6429 sas_device->slot = in _scsih_add_device()
6431 sas_device->device_info = device_info; in _scsih_add_device()
6432 sas_device->sas_address = sas_address; in _scsih_add_device()
6433 sas_device->phy = sas_device_pg0.PhyNum; in _scsih_add_device()
6434 sas_device->fast_path = (le16_to_cpu(sas_device_pg0.Flags) & in _scsih_add_device()
6439 sas_device->enclosure_level = in _scsih_add_device()
6441 memcpy(sas_device->connector_name, in _scsih_add_device()
6443 sas_device->connector_name[4] = '\0'; in _scsih_add_device()
6445 sas_device->enclosure_level = 0; in _scsih_add_device()
6446 sas_device->connector_name[0] = '\0'; in _scsih_add_device()
6449 sas_device->is_chassis_slot_valid = 0; in _scsih_add_device()
6451 sas_device->enclosure_logical_id = in _scsih_add_device()
6455 sas_device->is_chassis_slot_valid = 1; in _scsih_add_device()
6456 sas_device->chassis_slot = in _scsih_add_device()
6462 sas_device->device_name = le64_to_cpu(sas_device_pg0.DeviceName); in _scsih_add_device()
6465 _scsih_sas_device_init_add(ioc, sas_device); in _scsih_add_device()
6467 _scsih_sas_device_add(ioc, sas_device); in _scsih_add_device()
6469 sas_device_put(sas_device); in _scsih_add_device()
6480 struct _sas_device *sas_device) in _scsih_remove_device() argument
6485 (sas_device->pfa_led_on)) { in _scsih_remove_device()
6486 _scsih_turn_off_pfa_led(ioc, sas_device); in _scsih_remove_device()
6487 sas_device->pfa_led_on = 0; in _scsih_remove_device()
6493 sas_device->handle, (u64)sas_device->sas_address)); in _scsih_remove_device()
6495 dewtprintk(ioc, _scsih_display_enclosure_chassis_info(ioc, sas_device, in _scsih_remove_device()
6498 if (sas_device->starget && sas_device->starget->hostdata) { in _scsih_remove_device()
6499 sas_target_priv_data = sas_device->starget->hostdata; in _scsih_remove_device()
6501 _scsih_ublock_io_device(ioc, sas_device->sas_address); in _scsih_remove_device()
6508 sas_device->sas_address, in _scsih_remove_device()
6509 sas_device->sas_address_parent); in _scsih_remove_device()
6512 sas_device->handle, (u64)sas_device->sas_address); in _scsih_remove_device()
6514 _scsih_display_enclosure_chassis_info(ioc, sas_device, NULL, NULL); in _scsih_remove_device()
6519 sas_device->handle, (u64)sas_device->sas_address)); in _scsih_remove_device()
6520 dewtprintk(ioc, _scsih_display_enclosure_chassis_info(ioc, sas_device, in _scsih_remove_device()
6811 struct _sas_device *sas_device; in _scsih_sas_device_status_change_event() local
6829 sas_device = __mpt3sas_get_sdev_by_addr(ioc, in _scsih_sas_device_status_change_event()
6832 if (!sas_device || !sas_device->starget) in _scsih_sas_device_status_change_event()
6835 target_priv_data = sas_device->starget->hostdata; in _scsih_sas_device_status_change_event()
6852 if (sas_device) in _scsih_sas_device_status_change_event()
6853 sas_device_put(sas_device); in _scsih_sas_device_status_change_event()
8131 struct _sas_device *sas_device; in _scsih_sas_pd_expose() local
8138 sas_device = __mpt3sas_get_sdev_by_handle(ioc, handle); in _scsih_sas_pd_expose()
8139 if (sas_device) { in _scsih_sas_pd_expose()
8140 sas_device->volume_handle = 0; in _scsih_sas_pd_expose()
8141 sas_device->volume_wwid = 0; in _scsih_sas_pd_expose()
8143 if (sas_device->starget && sas_device->starget->hostdata) { in _scsih_sas_pd_expose()
8144 starget = sas_device->starget; in _scsih_sas_pd_expose()
8151 if (!sas_device) in _scsih_sas_pd_expose()
8158 sas_device_put(sas_device); in _scsih_sas_pd_expose()
8171 struct _sas_device *sas_device; in _scsih_sas_pd_hide() local
8185 sas_device = __mpt3sas_get_sdev_by_handle(ioc, handle); in _scsih_sas_pd_hide()
8186 if (sas_device) { in _scsih_sas_pd_hide()
8188 if (sas_device->starget && sas_device->starget->hostdata) { in _scsih_sas_pd_hide()
8189 starget = sas_device->starget; in _scsih_sas_pd_hide()
8193 sas_device->volume_handle = volume_handle; in _scsih_sas_pd_hide()
8194 sas_device->volume_wwid = volume_wwid; in _scsih_sas_pd_hide()
8198 if (!sas_device) in _scsih_sas_pd_hide()
8207 sas_device_put(sas_device); in _scsih_sas_pd_hide()
8235 struct _sas_device *sas_device; in _scsih_sas_pd_add() local
8245 sas_device = mpt3sas_get_sdev_by_handle(ioc, handle); in _scsih_sas_pd_add()
8246 if (sas_device) { in _scsih_sas_pd_add()
8248 sas_device_put(sas_device); in _scsih_sas_pd_add()
8517 struct _sas_device *sas_device; in _scsih_sas_ir_physical_disk_event() local
8551 sas_device = mpt3sas_get_sdev_by_handle(ioc, handle); in _scsih_sas_ir_physical_disk_event()
8552 if (sas_device) { in _scsih_sas_ir_physical_disk_event()
8553 sas_device_put(sas_device); in _scsih_sas_ir_physical_disk_event()
8698 struct _sas_device *sas_device = NULL; in _scsih_mark_responding_sas_device() local
8711 list_for_each_entry(sas_device, &ioc->sas_device_list, list) { in _scsih_mark_responding_sas_device()
8712 if ((sas_device->sas_address == le64_to_cpu( in _scsih_mark_responding_sas_device()
8713 sas_device_pg0->SASAddress)) && (sas_device->slot == in _scsih_mark_responding_sas_device()
8715 sas_device->responding = 1; in _scsih_mark_responding_sas_device()
8716 starget = sas_device->starget; in _scsih_mark_responding_sas_device()
8728 sas_device->sas_address); in _scsih_mark_responding_sas_device()
8730 if (sas_device->enclosure_handle != 0) in _scsih_mark_responding_sas_device()
8735 sas_device->enclosure_logical_id, in _scsih_mark_responding_sas_device()
8736 sas_device->slot); in _scsih_mark_responding_sas_device()
8740 sas_device->enclosure_level = in _scsih_mark_responding_sas_device()
8742 memcpy(&sas_device->connector_name[0], in _scsih_mark_responding_sas_device()
8745 sas_device->enclosure_level = 0; in _scsih_mark_responding_sas_device()
8746 sas_device->connector_name[0] = '\0'; in _scsih_mark_responding_sas_device()
8749 sas_device->enclosure_handle = in _scsih_mark_responding_sas_device()
8751 sas_device->is_chassis_slot_valid = 0; in _scsih_mark_responding_sas_device()
8753 sas_device->enclosure_logical_id = le64_to_cpu( in _scsih_mark_responding_sas_device()
8757 sas_device->is_chassis_slot_valid = 1; in _scsih_mark_responding_sas_device()
8758 sas_device->chassis_slot = in _scsih_mark_responding_sas_device()
8763 if (sas_device->handle == le16_to_cpu( in _scsih_mark_responding_sas_device()
8767 sas_device->handle); in _scsih_mark_responding_sas_device()
8768 sas_device->handle = le16_to_cpu( in _scsih_mark_responding_sas_device()
9208 struct _sas_device *sas_device, *sas_device_next; in _scsih_remove_unresponding_devices() local
9225 list_for_each_entry_safe(sas_device, sas_device_next, in _scsih_remove_unresponding_devices()
9227 if (!sas_device->responding) in _scsih_remove_unresponding_devices()
9228 list_move_tail(&sas_device->list, &head); in _scsih_remove_unresponding_devices()
9230 sas_device->responding = 0; in _scsih_remove_unresponding_devices()
9237 list_for_each_entry_safe(sas_device, sas_device_next, &head, list) { in _scsih_remove_unresponding_devices()
9238 _scsih_remove_device(ioc, sas_device); in _scsih_remove_unresponding_devices()
9239 list_del_init(&sas_device->list); in _scsih_remove_unresponding_devices()
9240 sas_device_put(sas_device); in _scsih_remove_unresponding_devices()
9338 struct _sas_device *sas_device; in _scsih_scan_for_devices_after_reset() local
9402 sas_device = mpt3sas_get_sdev_by_handle(ioc, handle); in _scsih_scan_for_devices_after_reset()
9403 if (sas_device) { in _scsih_scan_for_devices_after_reset()
9404 sas_device_put(sas_device); in _scsih_scan_for_devices_after_reset()
9512 sas_device = mpt3sas_get_sdev_by_addr(ioc, in _scsih_scan_for_devices_after_reset()
9514 if (sas_device) { in _scsih_scan_for_devices_after_reset()
9515 sas_device_put(sas_device); in _scsih_scan_for_devices_after_reset()
10295 struct _sas_device *sas_device; in _scsih_probe_boot_devices() local
10341 sas_device = device; in _scsih_probe_boot_devices()
10342 handle = sas_device->handle; in _scsih_probe_boot_devices()
10343 sas_address_parent = sas_device->sas_address_parent; in _scsih_probe_boot_devices()
10344 sas_address = sas_device->sas_address; in _scsih_probe_boot_devices()
10345 list_move_tail(&sas_device->list, &ioc->sas_device_list); in _scsih_probe_boot_devices()
10352 _scsih_sas_device_remove(ioc, sas_device); in _scsih_probe_boot_devices()
10353 } else if (!sas_device->starget) { in _scsih_probe_boot_devices()
10358 _scsih_sas_device_remove(ioc, sas_device); in _scsih_probe_boot_devices()
10389 struct _sas_device *sas_device = NULL; in get_next_sas_device() local
10394 sas_device = list_first_entry(&ioc->sas_device_init_list, in get_next_sas_device()
10396 sas_device_get(sas_device); in get_next_sas_device()
10400 return sas_device; in get_next_sas_device()
10404 struct _sas_device *sas_device) in sas_device_make_active() argument
10418 if (!list_empty(&sas_device->list)) { in sas_device_make_active()
10419 list_del_init(&sas_device->list); in sas_device_make_active()
10420 sas_device_put(sas_device); in sas_device_make_active()
10423 sas_device_get(sas_device); in sas_device_make_active()
10424 list_add_tail(&sas_device->list, &ioc->sas_device_list); in sas_device_make_active()
10438 struct _sas_device *sas_device; in _scsih_probe_sas() local
10443 while ((sas_device = get_next_sas_device(ioc))) { in _scsih_probe_sas()
10444 if (!mpt3sas_transport_port_add(ioc, sas_device->handle, in _scsih_probe_sas()
10445 sas_device->sas_address_parent)) { in _scsih_probe_sas()
10446 _scsih_sas_device_remove(ioc, sas_device); in _scsih_probe_sas()
10447 sas_device_put(sas_device); in _scsih_probe_sas()
10449 } else if (!sas_device->starget) { in _scsih_probe_sas()
10458 sas_device->sas_address, in _scsih_probe_sas()
10459 sas_device->sas_address_parent); in _scsih_probe_sas()
10460 _scsih_sas_device_remove(ioc, sas_device); in _scsih_probe_sas()
10461 sas_device_put(sas_device); in _scsih_probe_sas()
10465 sas_device_make_active(ioc, sas_device); in _scsih_probe_sas()
10466 sas_device_put(sas_device); in _scsih_probe_sas()