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()
1520 struct _sas_device *sas_device; in scsih_change_queue_depth() local
1542 sas_device = __mpt3sas_get_sdev_from_target(ioc, sas_target_priv_data); in scsih_change_queue_depth()
1543 if (sas_device) { in scsih_change_queue_depth()
1544 if (sas_device->device_info & MPI2_SAS_DEVICE_INFO_SATA_DEVICE) in scsih_change_queue_depth()
1547 sas_device_put(sas_device); in scsih_change_queue_depth()
1592 struct _sas_device *sas_device; in scsih_target_alloc() local
1649 sas_device = __mpt3sas_get_sdev_by_addr(ioc, in scsih_target_alloc()
1652 if (sas_device) { in scsih_target_alloc()
1653 sas_target_priv_data->handle = sas_device->handle; in scsih_target_alloc()
1654 sas_target_priv_data->sas_address = sas_device->sas_address; in scsih_target_alloc()
1655 sas_target_priv_data->sas_dev = sas_device; in scsih_target_alloc()
1656 sas_device->starget = starget; in scsih_target_alloc()
1657 sas_device->id = starget->id; in scsih_target_alloc()
1658 sas_device->channel = starget->channel; in scsih_target_alloc()
1659 if (test_bit(sas_device->handle, ioc->pd_handles)) in scsih_target_alloc()
1662 if (sas_device->fast_path) in scsih_target_alloc()
1681 struct _sas_device *sas_device; in scsih_target_destroy() local
1724 sas_device = __mpt3sas_get_sdev_from_target(ioc, sas_target_priv_data); in scsih_target_destroy()
1725 if (sas_device && (sas_device->starget == starget) && in scsih_target_destroy()
1726 (sas_device->id == starget->id) && in scsih_target_destroy()
1727 (sas_device->channel == starget->channel)) in scsih_target_destroy()
1728 sas_device->starget = NULL; in scsih_target_destroy()
1730 if (sas_device) { in scsih_target_destroy()
1735 sas_device_put(sas_device); in scsih_target_destroy()
1737 sas_device_put(sas_device); in scsih_target_destroy()
1762 struct _sas_device *sas_device; in scsih_slave_alloc() local
1809 sas_device = __mpt3sas_get_sdev_by_addr(ioc, in scsih_slave_alloc()
1811 if (sas_device && (sas_device->starget == NULL)) { in scsih_slave_alloc()
1815 sas_device->starget = starget; in scsih_slave_alloc()
1818 if (sas_device) in scsih_slave_alloc()
1819 sas_device_put(sas_device); in scsih_slave_alloc()
1838 struct _sas_device *sas_device; in scsih_slave_destroy() local
1866 sas_device = __mpt3sas_get_sdev_from_target(ioc, in scsih_slave_destroy()
1868 if (sas_device && !sas_target_priv_data->num_luns) in scsih_slave_destroy()
1869 sas_device->starget = NULL; in scsih_slave_destroy()
1871 if (sas_device) in scsih_slave_destroy()
1872 sas_device_put(sas_device); in scsih_slave_destroy()
2231 struct _sas_device *sas_device; in scsih_slave_configure() local
2414 sas_device = __mpt3sas_get_sdev_by_addr(ioc, in scsih_slave_configure()
2416 if (!sas_device) { in scsih_slave_configure()
2424 sas_device->volume_handle = volume_handle; in scsih_slave_configure()
2425 sas_device->volume_wwid = volume_wwid; in scsih_slave_configure()
2426 if (sas_device->device_info & MPI2_SAS_DEVICE_INFO_SSP_TARGET) { in scsih_slave_configure()
2429 if (sas_device->device_info & in scsih_slave_configure()
2440 if (sas_device->device_info & MPI2_SAS_DEVICE_INFO_STP_TARGET) in scsih_slave_configure()
2442 else if (sas_device->device_info & in scsih_slave_configure()
2449 ds, handle, (unsigned long long)sas_device->sas_address, in scsih_slave_configure()
2450 sas_device->phy, (unsigned long long)sas_device->device_name); in scsih_slave_configure()
2452 _scsih_display_enclosure_chassis_info(NULL, sas_device, sdev, NULL); in scsih_slave_configure()
2454 sas_device_put(sas_device); in scsih_slave_configure()
2791 struct _sas_device *sas_device = NULL; in _scsih_tm_display_info() local
2836 sas_device = __mpt3sas_get_sdev_from_target(ioc, priv_target); in _scsih_tm_display_info()
2837 if (sas_device) { in _scsih_tm_display_info()
2843 sas_device->volume_handle, in _scsih_tm_display_info()
2844 (unsigned long long)sas_device->volume_wwid); in _scsih_tm_display_info()
2848 sas_device->handle, in _scsih_tm_display_info()
2849 (unsigned long long)sas_device->sas_address, in _scsih_tm_display_info()
2850 sas_device->phy); in _scsih_tm_display_info()
2852 _scsih_display_enclosure_chassis_info(NULL, sas_device, in _scsih_tm_display_info()
2855 sas_device_put(sas_device); in _scsih_tm_display_info()
2941 struct _sas_device *sas_device = NULL; in scsih_dev_reset() local
2970 sas_device = mpt3sas_get_sdev_from_target(ioc, in scsih_dev_reset()
2972 if (sas_device) in scsih_dev_reset()
2973 handle = sas_device->volume_handle; in scsih_dev_reset()
3002 if (sas_device) in scsih_dev_reset()
3003 sas_device_put(sas_device); in scsih_dev_reset()
3021 struct _sas_device *sas_device = NULL; in scsih_target_reset() local
3049 sas_device = mpt3sas_get_sdev_from_target(ioc, in scsih_target_reset()
3051 if (sas_device) in scsih_target_reset()
3052 handle = sas_device->volume_handle; in scsih_target_reset()
3080 if (sas_device) in scsih_target_reset()
3081 sas_device_put(sas_device); in scsih_target_reset()
3441 struct _sas_device *sas_device; in _scsih_block_io_device() local
3443 sas_device = mpt3sas_get_sdev_by_handle(ioc, handle); in _scsih_block_io_device()
3453 if (sas_device && sas_device->pend_sas_rphy_add) in _scsih_block_io_device()
3464 if (sas_device) in _scsih_block_io_device()
3465 sas_device_put(sas_device); in _scsih_block_io_device()
3482 struct _sas_device *sas_device; in _scsih_block_io_to_children_attached_to_ex() local
3494 sas_device = __mpt3sas_get_sdev_by_addr(ioc, in _scsih_block_io_to_children_attached_to_ex()
3496 if (sas_device) { in _scsih_block_io_to_children_attached_to_ex()
3497 set_bit(sas_device->handle, in _scsih_block_io_to_children_attached_to_ex()
3499 sas_device_put(sas_device); in _scsih_block_io_to_children_attached_to_ex()
3595 struct _sas_device *sas_device = NULL; in _scsih_tm_tr_send() local
3625 sas_device = __mpt3sas_get_sdev_by_handle(ioc, handle); in _scsih_tm_tr_send()
3626 if (sas_device && sas_device->starget && in _scsih_tm_tr_send()
3627 sas_device->starget->hostdata) { in _scsih_tm_tr_send()
3628 sas_target_priv_data = sas_device->starget->hostdata; in _scsih_tm_tr_send()
3630 sas_address = sas_device->sas_address; in _scsih_tm_tr_send()
3633 if (!sas_device) { in _scsih_tm_tr_send()
3655 if (sas_device) { in _scsih_tm_tr_send()
3656 if (sas_device->enclosure_handle != 0) in _scsih_tm_tr_send()
3659 (u64)sas_device->enclosure_logical_id, in _scsih_tm_tr_send()
3660 sas_device->slot)); in _scsih_tm_tr_send()
3661 if (sas_device->connector_name[0] != '\0') in _scsih_tm_tr_send()
3664 sas_device->enclosure_level, in _scsih_tm_tr_send()
3665 sas_device->connector_name)); in _scsih_tm_tr_send()
3710 if (sas_device) in _scsih_tm_tr_send()
3711 sas_device_put(sas_device); in _scsih_tm_tr_send()
4836 struct _sas_device *sas_device = NULL; in _scsih_scsi_ioc_info() local
4986 sas_device = mpt3sas_get_sdev_from_target(ioc, priv_target); in _scsih_scsi_ioc_info()
4987 if (sas_device) { in _scsih_scsi_ioc_info()
4989 (u64)sas_device->sas_address, sas_device->phy); in _scsih_scsi_ioc_info()
4991 _scsih_display_enclosure_chassis_info(ioc, sas_device, in _scsih_scsi_ioc_info()
4994 sas_device_put(sas_device); in _scsih_scsi_ioc_info()
5034 struct _sas_device *sas_device; in _scsih_turn_on_pfa_led() local
5036 sas_device = mpt3sas_get_sdev_by_handle(ioc, handle); in _scsih_turn_on_pfa_led()
5037 if (!sas_device) in _scsih_turn_on_pfa_led()
5053 sas_device->pfa_led_on = 1; in _scsih_turn_on_pfa_led()
5063 sas_device_put(sas_device); in _scsih_turn_on_pfa_led()
5074 struct _sas_device *sas_device) in _scsih_turn_off_pfa_led() argument
5083 mpi_request.Slot = cpu_to_le16(sas_device->slot); in _scsih_turn_off_pfa_led()
5085 mpi_request.EnclosureHandle = cpu_to_le16(sas_device->enclosure_handle); in _scsih_turn_off_pfa_led()
5137 struct _sas_device *sas_device; in _scsih_smart_predicted_fault() local
5143 sas_device = __mpt3sas_get_sdev_by_handle(ioc, handle); in _scsih_smart_predicted_fault()
5144 if (!sas_device) in _scsih_smart_predicted_fault()
5147 starget = sas_device->starget; in _scsih_smart_predicted_fault()
5154 _scsih_display_enclosure_chassis_info(NULL, sas_device, NULL, starget); in _scsih_smart_predicted_fault()
5186 if (sas_device) in _scsih_smart_predicted_fault()
5187 sas_device_put(sas_device); in _scsih_smart_predicted_fault()
5934 struct _sas_device *sas_device; in _scsih_check_device() local
5964 sas_device = __mpt3sas_get_sdev_by_addr(ioc, in _scsih_check_device()
5967 if (!sas_device) in _scsih_check_device()
5970 if (unlikely(sas_device->handle != handle)) { in _scsih_check_device()
5971 starget = sas_device->starget; in _scsih_check_device()
5975 sas_device->handle, handle); in _scsih_check_device()
5977 sas_device->handle = handle; in _scsih_check_device()
5980 sas_device->enclosure_level = in _scsih_check_device()
5982 memcpy(sas_device->connector_name, in _scsih_check_device()
5984 sas_device->connector_name[4] = '\0'; in _scsih_check_device()
5986 sas_device->enclosure_level = 0; in _scsih_check_device()
5987 sas_device->connector_name[0] = '\0'; in _scsih_check_device()
5990 sas_device->enclosure_handle = in _scsih_check_device()
5992 sas_device->is_chassis_slot_valid = 0; in _scsih_check_device()
5994 sas_device->enclosure_handle); in _scsih_check_device()
5996 sas_device->enclosure_logical_id = in _scsih_check_device()
6000 sas_device->is_chassis_slot_valid = 1; in _scsih_check_device()
6001 sas_device->chassis_slot = in _scsih_check_device()
6023 if (sas_device) in _scsih_check_device()
6024 sas_device_put(sas_device); in _scsih_check_device()
6029 if (sas_device) in _scsih_check_device()
6030 sas_device_put(sas_device); in _scsih_check_device()
6050 struct _sas_device *sas_device; in _scsih_add_device() local
6091 sas_device = mpt3sas_get_sdev_by_addr(ioc, in _scsih_add_device()
6093 if (sas_device) { in _scsih_add_device()
6095 sas_device_put(sas_device); in _scsih_add_device()
6108 sas_device = kzalloc(sizeof(struct _sas_device), in _scsih_add_device()
6110 if (!sas_device) { in _scsih_add_device()
6116 kref_init(&sas_device->refcount); in _scsih_add_device()
6117 sas_device->handle = handle; in _scsih_add_device()
6120 &sas_device->sas_address_parent) != 0) in _scsih_add_device()
6123 sas_device->enclosure_handle = in _scsih_add_device()
6125 if (sas_device->enclosure_handle != 0) in _scsih_add_device()
6126 sas_device->slot = in _scsih_add_device()
6128 sas_device->device_info = device_info; in _scsih_add_device()
6129 sas_device->sas_address = sas_address; in _scsih_add_device()
6130 sas_device->phy = sas_device_pg0.PhyNum; in _scsih_add_device()
6131 sas_device->fast_path = (le16_to_cpu(sas_device_pg0.Flags) & in _scsih_add_device()
6136 sas_device->enclosure_level = in _scsih_add_device()
6138 memcpy(sas_device->connector_name, in _scsih_add_device()
6140 sas_device->connector_name[4] = '\0'; in _scsih_add_device()
6142 sas_device->enclosure_level = 0; in _scsih_add_device()
6143 sas_device->connector_name[0] = '\0'; in _scsih_add_device()
6146 sas_device->is_chassis_slot_valid = 0; in _scsih_add_device()
6148 sas_device->enclosure_logical_id = in _scsih_add_device()
6152 sas_device->is_chassis_slot_valid = 1; in _scsih_add_device()
6153 sas_device->chassis_slot = in _scsih_add_device()
6159 sas_device->device_name = le64_to_cpu(sas_device_pg0.DeviceName); in _scsih_add_device()
6162 _scsih_sas_device_init_add(ioc, sas_device); in _scsih_add_device()
6164 _scsih_sas_device_add(ioc, sas_device); in _scsih_add_device()
6166 sas_device_put(sas_device); in _scsih_add_device()
6177 struct _sas_device *sas_device) in _scsih_remove_device() argument
6182 (sas_device->pfa_led_on)) { in _scsih_remove_device()
6183 _scsih_turn_off_pfa_led(ioc, sas_device); in _scsih_remove_device()
6184 sas_device->pfa_led_on = 0; in _scsih_remove_device()
6190 sas_device->handle, (u64)sas_device->sas_address)); in _scsih_remove_device()
6192 dewtprintk(ioc, _scsih_display_enclosure_chassis_info(ioc, sas_device, in _scsih_remove_device()
6195 if (sas_device->starget && sas_device->starget->hostdata) { in _scsih_remove_device()
6196 sas_target_priv_data = sas_device->starget->hostdata; in _scsih_remove_device()
6198 _scsih_ublock_io_device(ioc, sas_device->sas_address); in _scsih_remove_device()
6205 sas_device->sas_address, in _scsih_remove_device()
6206 sas_device->sas_address_parent); in _scsih_remove_device()
6209 sas_device->handle, (u64)sas_device->sas_address); in _scsih_remove_device()
6211 _scsih_display_enclosure_chassis_info(ioc, sas_device, NULL, NULL); in _scsih_remove_device()
6216 sas_device->handle, (u64)sas_device->sas_address)); in _scsih_remove_device()
6217 dewtprintk(ioc, _scsih_display_enclosure_chassis_info(ioc, sas_device, in _scsih_remove_device()
6508 struct _sas_device *sas_device; in _scsih_sas_device_status_change_event() local
6526 sas_device = __mpt3sas_get_sdev_by_addr(ioc, in _scsih_sas_device_status_change_event()
6529 if (!sas_device || !sas_device->starget) in _scsih_sas_device_status_change_event()
6532 target_priv_data = sas_device->starget->hostdata; in _scsih_sas_device_status_change_event()
6549 if (sas_device) in _scsih_sas_device_status_change_event()
6550 sas_device_put(sas_device); in _scsih_sas_device_status_change_event()
7819 struct _sas_device *sas_device; in _scsih_sas_pd_expose() local
7826 sas_device = __mpt3sas_get_sdev_by_handle(ioc, handle); in _scsih_sas_pd_expose()
7827 if (sas_device) { in _scsih_sas_pd_expose()
7828 sas_device->volume_handle = 0; in _scsih_sas_pd_expose()
7829 sas_device->volume_wwid = 0; in _scsih_sas_pd_expose()
7831 if (sas_device->starget && sas_device->starget->hostdata) { in _scsih_sas_pd_expose()
7832 starget = sas_device->starget; in _scsih_sas_pd_expose()
7839 if (!sas_device) in _scsih_sas_pd_expose()
7846 sas_device_put(sas_device); in _scsih_sas_pd_expose()
7859 struct _sas_device *sas_device; in _scsih_sas_pd_hide() local
7873 sas_device = __mpt3sas_get_sdev_by_handle(ioc, handle); in _scsih_sas_pd_hide()
7874 if (sas_device) { in _scsih_sas_pd_hide()
7876 if (sas_device->starget && sas_device->starget->hostdata) { in _scsih_sas_pd_hide()
7877 starget = sas_device->starget; in _scsih_sas_pd_hide()
7881 sas_device->volume_handle = volume_handle; in _scsih_sas_pd_hide()
7882 sas_device->volume_wwid = volume_wwid; in _scsih_sas_pd_hide()
7886 if (!sas_device) in _scsih_sas_pd_hide()
7895 sas_device_put(sas_device); in _scsih_sas_pd_hide()
7923 struct _sas_device *sas_device; in _scsih_sas_pd_add() local
7933 sas_device = mpt3sas_get_sdev_by_handle(ioc, handle); in _scsih_sas_pd_add()
7934 if (sas_device) { in _scsih_sas_pd_add()
7936 sas_device_put(sas_device); in _scsih_sas_pd_add()
8205 struct _sas_device *sas_device; in _scsih_sas_ir_physical_disk_event() local
8239 sas_device = mpt3sas_get_sdev_by_handle(ioc, handle); in _scsih_sas_ir_physical_disk_event()
8240 if (sas_device) { in _scsih_sas_ir_physical_disk_event()
8241 sas_device_put(sas_device); in _scsih_sas_ir_physical_disk_event()
8386 struct _sas_device *sas_device = NULL; in _scsih_mark_responding_sas_device() local
8399 list_for_each_entry(sas_device, &ioc->sas_device_list, list) { in _scsih_mark_responding_sas_device()
8400 if ((sas_device->sas_address == le64_to_cpu( in _scsih_mark_responding_sas_device()
8401 sas_device_pg0->SASAddress)) && (sas_device->slot == in _scsih_mark_responding_sas_device()
8403 sas_device->responding = 1; in _scsih_mark_responding_sas_device()
8404 starget = sas_device->starget; in _scsih_mark_responding_sas_device()
8416 sas_device->sas_address); in _scsih_mark_responding_sas_device()
8418 if (sas_device->enclosure_handle != 0) in _scsih_mark_responding_sas_device()
8423 sas_device->enclosure_logical_id, in _scsih_mark_responding_sas_device()
8424 sas_device->slot); in _scsih_mark_responding_sas_device()
8428 sas_device->enclosure_level = in _scsih_mark_responding_sas_device()
8430 memcpy(&sas_device->connector_name[0], in _scsih_mark_responding_sas_device()
8433 sas_device->enclosure_level = 0; in _scsih_mark_responding_sas_device()
8434 sas_device->connector_name[0] = '\0'; in _scsih_mark_responding_sas_device()
8437 sas_device->enclosure_handle = in _scsih_mark_responding_sas_device()
8439 sas_device->is_chassis_slot_valid = 0; in _scsih_mark_responding_sas_device()
8441 sas_device->enclosure_logical_id = le64_to_cpu( in _scsih_mark_responding_sas_device()
8445 sas_device->is_chassis_slot_valid = 1; in _scsih_mark_responding_sas_device()
8446 sas_device->chassis_slot = in _scsih_mark_responding_sas_device()
8451 if (sas_device->handle == le16_to_cpu( in _scsih_mark_responding_sas_device()
8455 sas_device->handle); in _scsih_mark_responding_sas_device()
8456 sas_device->handle = le16_to_cpu( in _scsih_mark_responding_sas_device()
8896 struct _sas_device *sas_device, *sas_device_next; in _scsih_remove_unresponding_devices() local
8913 list_for_each_entry_safe(sas_device, sas_device_next, in _scsih_remove_unresponding_devices()
8915 if (!sas_device->responding) in _scsih_remove_unresponding_devices()
8916 list_move_tail(&sas_device->list, &head); in _scsih_remove_unresponding_devices()
8918 sas_device->responding = 0; in _scsih_remove_unresponding_devices()
8925 list_for_each_entry_safe(sas_device, sas_device_next, &head, list) { in _scsih_remove_unresponding_devices()
8926 _scsih_remove_device(ioc, sas_device); in _scsih_remove_unresponding_devices()
8927 list_del_init(&sas_device->list); in _scsih_remove_unresponding_devices()
8928 sas_device_put(sas_device); in _scsih_remove_unresponding_devices()
9026 struct _sas_device *sas_device; in _scsih_scan_for_devices_after_reset() local
9090 sas_device = mpt3sas_get_sdev_by_handle(ioc, handle); in _scsih_scan_for_devices_after_reset()
9091 if (sas_device) { in _scsih_scan_for_devices_after_reset()
9092 sas_device_put(sas_device); in _scsih_scan_for_devices_after_reset()
9200 sas_device = mpt3sas_get_sdev_by_addr(ioc, in _scsih_scan_for_devices_after_reset()
9202 if (sas_device) { in _scsih_scan_for_devices_after_reset()
9203 sas_device_put(sas_device); in _scsih_scan_for_devices_after_reset()
9871 struct _sas_device *sas_device; in _scsih_probe_boot_devices() local
9917 sas_device = device; in _scsih_probe_boot_devices()
9918 handle = sas_device->handle; in _scsih_probe_boot_devices()
9919 sas_address_parent = sas_device->sas_address_parent; in _scsih_probe_boot_devices()
9920 sas_address = sas_device->sas_address; in _scsih_probe_boot_devices()
9921 list_move_tail(&sas_device->list, &ioc->sas_device_list); in _scsih_probe_boot_devices()
9928 _scsih_sas_device_remove(ioc, sas_device); in _scsih_probe_boot_devices()
9929 } else if (!sas_device->starget) { in _scsih_probe_boot_devices()
9934 _scsih_sas_device_remove(ioc, sas_device); in _scsih_probe_boot_devices()
9965 struct _sas_device *sas_device = NULL; in get_next_sas_device() local
9970 sas_device = list_first_entry(&ioc->sas_device_init_list, in get_next_sas_device()
9972 sas_device_get(sas_device); in get_next_sas_device()
9976 return sas_device; in get_next_sas_device()
9980 struct _sas_device *sas_device) in sas_device_make_active() argument
9994 if (!list_empty(&sas_device->list)) { in sas_device_make_active()
9995 list_del_init(&sas_device->list); in sas_device_make_active()
9996 sas_device_put(sas_device); in sas_device_make_active()
9999 sas_device_get(sas_device); in sas_device_make_active()
10000 list_add_tail(&sas_device->list, &ioc->sas_device_list); in sas_device_make_active()
10014 struct _sas_device *sas_device; in _scsih_probe_sas() local
10019 while ((sas_device = get_next_sas_device(ioc))) { in _scsih_probe_sas()
10020 if (!mpt3sas_transport_port_add(ioc, sas_device->handle, in _scsih_probe_sas()
10021 sas_device->sas_address_parent)) { in _scsih_probe_sas()
10022 _scsih_sas_device_remove(ioc, sas_device); in _scsih_probe_sas()
10023 sas_device_put(sas_device); in _scsih_probe_sas()
10025 } else if (!sas_device->starget) { in _scsih_probe_sas()
10034 sas_device->sas_address, in _scsih_probe_sas()
10035 sas_device->sas_address_parent); in _scsih_probe_sas()
10036 _scsih_sas_device_remove(ioc, sas_device); in _scsih_probe_sas()
10037 sas_device_put(sas_device); in _scsih_probe_sas()
10041 sas_device_make_active(ioc, sas_device); in _scsih_probe_sas()
10042 sas_device_put(sas_device); in _scsih_probe_sas()