Lines Matching refs:sas_device
72 struct _sas_device *sas_device);
469 struct _sas_device *sas_device; in _scsih_determine_boot_device() local
498 sas_device = device; in _scsih_determine_boot_device()
499 sas_address = sas_device->sas_address; in _scsih_determine_boot_device()
500 device_name = sas_device->device_name; in _scsih_determine_boot_device()
501 enclosure_logical_id = sas_device->enclosure_logical_id; in _scsih_determine_boot_device()
502 slot = sas_device->slot; in _scsih_determine_boot_device()
623 struct _sas_device *sas_device; in __mpt3sas_get_sdev_by_addr() local
627 list_for_each_entry(sas_device, &ioc->sas_device_list, list) in __mpt3sas_get_sdev_by_addr()
628 if (sas_device->sas_address == sas_address) in __mpt3sas_get_sdev_by_addr()
631 list_for_each_entry(sas_device, &ioc->sas_device_init_list, list) in __mpt3sas_get_sdev_by_addr()
632 if (sas_device->sas_address == sas_address) in __mpt3sas_get_sdev_by_addr()
638 sas_device_get(sas_device); in __mpt3sas_get_sdev_by_addr()
639 return sas_device; in __mpt3sas_get_sdev_by_addr()
655 struct _sas_device *sas_device; in mpt3sas_get_sdev_by_addr() local
659 sas_device = __mpt3sas_get_sdev_by_addr(ioc, in mpt3sas_get_sdev_by_addr()
663 return sas_device; in mpt3sas_get_sdev_by_addr()
669 struct _sas_device *sas_device; in __mpt3sas_get_sdev_by_handle() local
673 list_for_each_entry(sas_device, &ioc->sas_device_list, list) in __mpt3sas_get_sdev_by_handle()
674 if (sas_device->handle == handle) in __mpt3sas_get_sdev_by_handle()
677 list_for_each_entry(sas_device, &ioc->sas_device_init_list, list) in __mpt3sas_get_sdev_by_handle()
678 if (sas_device->handle == handle) in __mpt3sas_get_sdev_by_handle()
684 sas_device_get(sas_device); in __mpt3sas_get_sdev_by_handle()
685 return sas_device; in __mpt3sas_get_sdev_by_handle()
700 struct _sas_device *sas_device; in mpt3sas_get_sdev_by_handle() local
704 sas_device = __mpt3sas_get_sdev_by_handle(ioc, handle); in mpt3sas_get_sdev_by_handle()
707 return sas_device; in mpt3sas_get_sdev_by_handle()
719 struct _sas_device *sas_device, struct scsi_device *sdev, in _scsih_display_enclosure_chassis_info() argument
723 if (sas_device->enclosure_handle != 0) in _scsih_display_enclosure_chassis_info()
727 sas_device->enclosure_logical_id, in _scsih_display_enclosure_chassis_info()
728 sas_device->slot); in _scsih_display_enclosure_chassis_info()
729 if (sas_device->connector_name[0] != '\0') in _scsih_display_enclosure_chassis_info()
732 sas_device->enclosure_level, in _scsih_display_enclosure_chassis_info()
733 sas_device->connector_name); in _scsih_display_enclosure_chassis_info()
734 if (sas_device->is_chassis_slot_valid) in _scsih_display_enclosure_chassis_info()
736 sas_device->chassis_slot); in _scsih_display_enclosure_chassis_info()
738 if (sas_device->enclosure_handle != 0) in _scsih_display_enclosure_chassis_info()
742 sas_device->enclosure_logical_id, in _scsih_display_enclosure_chassis_info()
743 sas_device->slot); in _scsih_display_enclosure_chassis_info()
744 if (sas_device->connector_name[0] != '\0') in _scsih_display_enclosure_chassis_info()
747 sas_device->enclosure_level, in _scsih_display_enclosure_chassis_info()
748 sas_device->connector_name); in _scsih_display_enclosure_chassis_info()
749 if (sas_device->is_chassis_slot_valid) in _scsih_display_enclosure_chassis_info()
752 sas_device->chassis_slot); in _scsih_display_enclosure_chassis_info()
754 if (sas_device->enclosure_handle != 0) in _scsih_display_enclosure_chassis_info()
758 sas_device->enclosure_logical_id, in _scsih_display_enclosure_chassis_info()
759 sas_device->slot); in _scsih_display_enclosure_chassis_info()
760 if (sas_device->connector_name[0] != '\0') in _scsih_display_enclosure_chassis_info()
763 ioc->name, sas_device->enclosure_level, in _scsih_display_enclosure_chassis_info()
764 sas_device->connector_name); in _scsih_display_enclosure_chassis_info()
765 if (sas_device->is_chassis_slot_valid) in _scsih_display_enclosure_chassis_info()
767 ioc->name, sas_device->chassis_slot); in _scsih_display_enclosure_chassis_info()
781 struct _sas_device *sas_device) in _scsih_sas_device_remove() argument
785 if (!sas_device) in _scsih_sas_device_remove()
789 ioc->name, sas_device->handle, in _scsih_sas_device_remove()
790 (unsigned long long) sas_device->sas_address); in _scsih_sas_device_remove()
792 _scsih_display_enclosure_chassis_info(ioc, sas_device, NULL, NULL); in _scsih_sas_device_remove()
799 if (!list_empty(&sas_device->list)) { in _scsih_sas_device_remove()
800 list_del_init(&sas_device->list); in _scsih_sas_device_remove()
801 sas_device_put(sas_device); in _scsih_sas_device_remove()
814 struct _sas_device *sas_device; in _scsih_device_remove_by_handle() local
821 sas_device = __mpt3sas_get_sdev_by_handle(ioc, handle); in _scsih_device_remove_by_handle()
822 if (sas_device) { in _scsih_device_remove_by_handle()
823 list_del_init(&sas_device->list); in _scsih_device_remove_by_handle()
824 sas_device_put(sas_device); in _scsih_device_remove_by_handle()
827 if (sas_device) { in _scsih_device_remove_by_handle()
828 _scsih_remove_device(ioc, sas_device); in _scsih_device_remove_by_handle()
829 sas_device_put(sas_device); in _scsih_device_remove_by_handle()
842 struct _sas_device *sas_device; in mpt3sas_device_remove_by_sas_address() local
849 sas_device = __mpt3sas_get_sdev_by_addr(ioc, sas_address); in mpt3sas_device_remove_by_sas_address()
850 if (sas_device) { in mpt3sas_device_remove_by_sas_address()
851 list_del_init(&sas_device->list); in mpt3sas_device_remove_by_sas_address()
852 sas_device_put(sas_device); in mpt3sas_device_remove_by_sas_address()
855 if (sas_device) { in mpt3sas_device_remove_by_sas_address()
856 _scsih_remove_device(ioc, sas_device); in mpt3sas_device_remove_by_sas_address()
857 sas_device_put(sas_device); in mpt3sas_device_remove_by_sas_address()
871 struct _sas_device *sas_device) in _scsih_sas_device_add() argument
877 ioc->name, __func__, sas_device->handle, in _scsih_sas_device_add()
878 (unsigned long long)sas_device->sas_address)); in _scsih_sas_device_add()
880 dewtprintk(ioc, _scsih_display_enclosure_chassis_info(ioc, sas_device, in _scsih_sas_device_add()
884 sas_device_get(sas_device); in _scsih_sas_device_add()
885 list_add_tail(&sas_device->list, &ioc->sas_device_list); in _scsih_sas_device_add()
889 clear_bit(sas_device->handle, ioc->pend_os_device_add); in _scsih_sas_device_add()
893 if (!mpt3sas_transport_port_add(ioc, sas_device->handle, in _scsih_sas_device_add()
894 sas_device->sas_address_parent)) { in _scsih_sas_device_add()
895 _scsih_sas_device_remove(ioc, sas_device); in _scsih_sas_device_add()
896 } else if (!sas_device->starget) { in _scsih_sas_device_add()
904 sas_device->sas_address, in _scsih_sas_device_add()
905 sas_device->sas_address_parent); in _scsih_sas_device_add()
906 _scsih_sas_device_remove(ioc, sas_device); in _scsih_sas_device_add()
909 clear_bit(sas_device->handle, ioc->pend_os_device_add); in _scsih_sas_device_add()
922 struct _sas_device *sas_device) in _scsih_sas_device_init_add() argument
928 __func__, sas_device->handle, in _scsih_sas_device_init_add()
929 (unsigned long long)sas_device->sas_address)); in _scsih_sas_device_init_add()
931 dewtprintk(ioc, _scsih_display_enclosure_chassis_info(ioc, sas_device, in _scsih_sas_device_init_add()
935 sas_device_get(sas_device); in _scsih_sas_device_init_add()
936 list_add_tail(&sas_device->list, &ioc->sas_device_init_list); in _scsih_sas_device_init_add()
937 _scsih_determine_boot_device(ioc, sas_device, 0); in _scsih_sas_device_init_add()
1507 struct _sas_device *sas_device; in scsih_change_queue_depth() local
1523 sas_device = __mpt3sas_get_sdev_from_target(ioc, sas_target_priv_data); in scsih_change_queue_depth()
1524 if (sas_device) { in scsih_change_queue_depth()
1525 if (sas_device->device_info & MPI2_SAS_DEVICE_INFO_SATA_DEVICE) in scsih_change_queue_depth()
1528 sas_device_put(sas_device); in scsih_change_queue_depth()
1554 struct _sas_device *sas_device; in scsih_target_alloc() local
1611 sas_device = __mpt3sas_get_sdev_by_addr(ioc, in scsih_target_alloc()
1614 if (sas_device) { in scsih_target_alloc()
1615 sas_target_priv_data->handle = sas_device->handle; in scsih_target_alloc()
1616 sas_target_priv_data->sas_address = sas_device->sas_address; in scsih_target_alloc()
1617 sas_target_priv_data->sas_dev = sas_device; in scsih_target_alloc()
1618 sas_device->starget = starget; in scsih_target_alloc()
1619 sas_device->id = starget->id; in scsih_target_alloc()
1620 sas_device->channel = starget->channel; in scsih_target_alloc()
1621 if (test_bit(sas_device->handle, ioc->pd_handles)) in scsih_target_alloc()
1624 if (sas_device->fast_path) in scsih_target_alloc()
1643 struct _sas_device *sas_device; in scsih_target_destroy() local
1686 sas_device = __mpt3sas_get_sdev_from_target(ioc, sas_target_priv_data); in scsih_target_destroy()
1687 if (sas_device && (sas_device->starget == starget) && in scsih_target_destroy()
1688 (sas_device->id == starget->id) && in scsih_target_destroy()
1689 (sas_device->channel == starget->channel)) in scsih_target_destroy()
1690 sas_device->starget = NULL; in scsih_target_destroy()
1692 if (sas_device) { in scsih_target_destroy()
1697 sas_device_put(sas_device); in scsih_target_destroy()
1699 sas_device_put(sas_device); in scsih_target_destroy()
1724 struct _sas_device *sas_device; in scsih_slave_alloc() local
1771 sas_device = __mpt3sas_get_sdev_by_addr(ioc, in scsih_slave_alloc()
1773 if (sas_device && (sas_device->starget == NULL)) { in scsih_slave_alloc()
1777 sas_device->starget = starget; in scsih_slave_alloc()
1780 if (sas_device) in scsih_slave_alloc()
1781 sas_device_put(sas_device); in scsih_slave_alloc()
1800 struct _sas_device *sas_device; in scsih_slave_destroy() local
1828 sas_device = __mpt3sas_get_sdev_from_target(ioc, in scsih_slave_destroy()
1830 if (sas_device && !sas_target_priv_data->num_luns) in scsih_slave_destroy()
1831 sas_device->starget = NULL; in scsih_slave_destroy()
1833 if (sas_device) in scsih_slave_destroy()
1834 sas_device_put(sas_device); in scsih_slave_destroy()
2193 struct _sas_device *sas_device; in scsih_slave_configure() local
2376 sas_device = __mpt3sas_get_sdev_by_addr(ioc, in scsih_slave_configure()
2378 if (!sas_device) { in scsih_slave_configure()
2386 sas_device->volume_handle = volume_handle; in scsih_slave_configure()
2387 sas_device->volume_wwid = volume_wwid; in scsih_slave_configure()
2388 if (sas_device->device_info & MPI2_SAS_DEVICE_INFO_SSP_TARGET) { in scsih_slave_configure()
2391 if (sas_device->device_info & in scsih_slave_configure()
2402 if (sas_device->device_info & MPI2_SAS_DEVICE_INFO_STP_TARGET) in scsih_slave_configure()
2404 else if (sas_device->device_info & in scsih_slave_configure()
2411 ds, handle, (unsigned long long)sas_device->sas_address, in scsih_slave_configure()
2412 sas_device->phy, (unsigned long long)sas_device->device_name); in scsih_slave_configure()
2414 _scsih_display_enclosure_chassis_info(NULL, sas_device, sdev, NULL); in scsih_slave_configure()
2416 sas_device_put(sas_device); in scsih_slave_configure()
2758 struct _sas_device *sas_device = NULL; in _scsih_tm_display_info() local
2803 sas_device = __mpt3sas_get_sdev_from_target(ioc, priv_target); in _scsih_tm_display_info()
2804 if (sas_device) { in _scsih_tm_display_info()
2810 sas_device->volume_handle, in _scsih_tm_display_info()
2811 (unsigned long long)sas_device->volume_wwid); in _scsih_tm_display_info()
2815 sas_device->handle, in _scsih_tm_display_info()
2816 (unsigned long long)sas_device->sas_address, in _scsih_tm_display_info()
2817 sas_device->phy); in _scsih_tm_display_info()
2819 _scsih_display_enclosure_chassis_info(NULL, sas_device, in _scsih_tm_display_info()
2822 sas_device_put(sas_device); in _scsih_tm_display_info()
2907 struct _sas_device *sas_device = NULL; in scsih_dev_reset() local
2936 sas_device = mpt3sas_get_sdev_from_target(ioc, in scsih_dev_reset()
2938 if (sas_device) in scsih_dev_reset()
2939 handle = sas_device->volume_handle; in scsih_dev_reset()
2966 if (sas_device) in scsih_dev_reset()
2967 sas_device_put(sas_device); in scsih_dev_reset()
2985 struct _sas_device *sas_device = NULL; in scsih_target_reset() local
3013 sas_device = mpt3sas_get_sdev_from_target(ioc, in scsih_target_reset()
3015 if (sas_device) in scsih_target_reset()
3016 handle = sas_device->volume_handle; in scsih_target_reset()
3043 if (sas_device) in scsih_target_reset()
3044 sas_device_put(sas_device); in scsih_target_reset()
3406 struct _sas_device *sas_device; in _scsih_block_io_device() local
3408 sas_device = mpt3sas_get_sdev_by_handle(ioc, handle); in _scsih_block_io_device()
3418 if (sas_device && sas_device->pend_sas_rphy_add) in _scsih_block_io_device()
3429 if (sas_device) in _scsih_block_io_device()
3430 sas_device_put(sas_device); in _scsih_block_io_device()
3447 struct _sas_device *sas_device; in _scsih_block_io_to_children_attached_to_ex() local
3459 sas_device = __mpt3sas_get_sdev_by_addr(ioc, in _scsih_block_io_to_children_attached_to_ex()
3461 if (sas_device) { in _scsih_block_io_to_children_attached_to_ex()
3462 set_bit(sas_device->handle, in _scsih_block_io_to_children_attached_to_ex()
3464 sas_device_put(sas_device); in _scsih_block_io_to_children_attached_to_ex()
3560 struct _sas_device *sas_device = NULL; in _scsih_tm_tr_send() local
3592 sas_device = __mpt3sas_get_sdev_by_handle(ioc, handle); in _scsih_tm_tr_send()
3593 if (sas_device && sas_device->starget && in _scsih_tm_tr_send()
3594 sas_device->starget->hostdata) { in _scsih_tm_tr_send()
3595 sas_target_priv_data = sas_device->starget->hostdata; in _scsih_tm_tr_send()
3597 sas_address = sas_device->sas_address; in _scsih_tm_tr_send()
3600 if (!sas_device) { in _scsih_tm_tr_send()
3621 if (sas_device) { in _scsih_tm_tr_send()
3622 if (sas_device->enclosure_handle != 0) in _scsih_tm_tr_send()
3627 sas_device->enclosure_logical_id, in _scsih_tm_tr_send()
3628 sas_device->slot)); in _scsih_tm_tr_send()
3629 if (sas_device->connector_name[0] != '\0') in _scsih_tm_tr_send()
3633 ioc->name, sas_device->enclosure_level, in _scsih_tm_tr_send()
3634 sas_device->connector_name)); in _scsih_tm_tr_send()
3684 if (sas_device) in _scsih_tm_tr_send()
3685 sas_device_put(sas_device); in _scsih_tm_tr_send()
4790 struct _sas_device *sas_device = NULL; in _scsih_scsi_ioc_info() local
4947 sas_device = mpt3sas_get_sdev_from_target(ioc, priv_target); in _scsih_scsi_ioc_info()
4948 if (sas_device) { in _scsih_scsi_ioc_info()
4952 sas_device->sas_address, sas_device->phy); in _scsih_scsi_ioc_info()
4954 _scsih_display_enclosure_chassis_info(ioc, sas_device, in _scsih_scsi_ioc_info()
4957 sas_device_put(sas_device); in _scsih_scsi_ioc_info()
5004 struct _sas_device *sas_device; in _scsih_turn_on_pfa_led() local
5006 sas_device = mpt3sas_get_sdev_by_handle(ioc, handle); in _scsih_turn_on_pfa_led()
5007 if (!sas_device) in _scsih_turn_on_pfa_led()
5023 sas_device->pfa_led_on = 1; in _scsih_turn_on_pfa_led()
5033 sas_device_put(sas_device); in _scsih_turn_on_pfa_led()
5044 struct _sas_device *sas_device) in _scsih_turn_off_pfa_led() argument
5053 mpi_request.Slot = cpu_to_le16(sas_device->slot); in _scsih_turn_off_pfa_led()
5055 mpi_request.EnclosureHandle = cpu_to_le16(sas_device->enclosure_handle); in _scsih_turn_off_pfa_led()
5107 struct _sas_device *sas_device; in _scsih_smart_predicted_fault() local
5113 sas_device = __mpt3sas_get_sdev_by_handle(ioc, handle); in _scsih_smart_predicted_fault()
5114 if (!sas_device) in _scsih_smart_predicted_fault()
5117 starget = sas_device->starget; in _scsih_smart_predicted_fault()
5124 _scsih_display_enclosure_chassis_info(NULL, sas_device, NULL, starget); in _scsih_smart_predicted_fault()
5156 if (sas_device) in _scsih_smart_predicted_fault()
5157 sas_device_put(sas_device); in _scsih_smart_predicted_fault()
5906 struct _sas_device *sas_device; in _scsih_check_device() local
5936 sas_device = __mpt3sas_get_sdev_by_addr(ioc, in _scsih_check_device()
5939 if (!sas_device) in _scsih_check_device()
5942 if (unlikely(sas_device->handle != handle)) { in _scsih_check_device()
5943 starget = sas_device->starget; in _scsih_check_device()
5947 sas_device->handle, handle); in _scsih_check_device()
5949 sas_device->handle = handle; in _scsih_check_device()
5952 sas_device->enclosure_level = in _scsih_check_device()
5954 memcpy(sas_device->connector_name, in _scsih_check_device()
5956 sas_device->connector_name[4] = '\0'; in _scsih_check_device()
5958 sas_device->enclosure_level = 0; in _scsih_check_device()
5959 sas_device->connector_name[0] = '\0'; in _scsih_check_device()
5962 sas_device->enclosure_handle = in _scsih_check_device()
5964 sas_device->is_chassis_slot_valid = 0; in _scsih_check_device()
5966 sas_device->enclosure_handle); in _scsih_check_device()
5968 sas_device->enclosure_logical_id = in _scsih_check_device()
5972 sas_device->is_chassis_slot_valid = 1; in _scsih_check_device()
5973 sas_device->chassis_slot = in _scsih_check_device()
5996 if (sas_device) in _scsih_check_device()
5997 sas_device_put(sas_device); in _scsih_check_device()
6002 if (sas_device) in _scsih_check_device()
6003 sas_device_put(sas_device); in _scsih_check_device()
6023 struct _sas_device *sas_device; in _scsih_add_device() local
6064 sas_device = mpt3sas_get_sdev_by_addr(ioc, in _scsih_add_device()
6066 if (sas_device) { in _scsih_add_device()
6068 sas_device_put(sas_device); in _scsih_add_device()
6082 sas_device = kzalloc(sizeof(struct _sas_device), in _scsih_add_device()
6084 if (!sas_device) { in _scsih_add_device()
6090 kref_init(&sas_device->refcount); in _scsih_add_device()
6091 sas_device->handle = handle; in _scsih_add_device()
6094 &sas_device->sas_address_parent) != 0) in _scsih_add_device()
6097 sas_device->enclosure_handle = in _scsih_add_device()
6099 if (sas_device->enclosure_handle != 0) in _scsih_add_device()
6100 sas_device->slot = in _scsih_add_device()
6102 sas_device->device_info = device_info; in _scsih_add_device()
6103 sas_device->sas_address = sas_address; in _scsih_add_device()
6104 sas_device->phy = sas_device_pg0.PhyNum; in _scsih_add_device()
6105 sas_device->fast_path = (le16_to_cpu(sas_device_pg0.Flags) & in _scsih_add_device()
6110 sas_device->enclosure_level = in _scsih_add_device()
6112 memcpy(sas_device->connector_name, in _scsih_add_device()
6114 sas_device->connector_name[4] = '\0'; in _scsih_add_device()
6116 sas_device->enclosure_level = 0; in _scsih_add_device()
6117 sas_device->connector_name[0] = '\0'; in _scsih_add_device()
6120 sas_device->is_chassis_slot_valid = 0; in _scsih_add_device()
6122 sas_device->enclosure_logical_id = in _scsih_add_device()
6126 sas_device->is_chassis_slot_valid = 1; in _scsih_add_device()
6127 sas_device->chassis_slot = in _scsih_add_device()
6133 sas_device->device_name = le64_to_cpu(sas_device_pg0.DeviceName); in _scsih_add_device()
6136 _scsih_sas_device_init_add(ioc, sas_device); in _scsih_add_device()
6138 _scsih_sas_device_add(ioc, sas_device); in _scsih_add_device()
6140 sas_device_put(sas_device); in _scsih_add_device()
6151 struct _sas_device *sas_device) in _scsih_remove_device() argument
6156 (sas_device->pfa_led_on)) { in _scsih_remove_device()
6157 _scsih_turn_off_pfa_led(ioc, sas_device); in _scsih_remove_device()
6158 sas_device->pfa_led_on = 0; in _scsih_remove_device()
6164 sas_device->handle, (unsigned long long) in _scsih_remove_device()
6165 sas_device->sas_address)); in _scsih_remove_device()
6167 dewtprintk(ioc, _scsih_display_enclosure_chassis_info(ioc, sas_device, in _scsih_remove_device()
6170 if (sas_device->starget && sas_device->starget->hostdata) { in _scsih_remove_device()
6171 sas_target_priv_data = sas_device->starget->hostdata; in _scsih_remove_device()
6173 _scsih_ublock_io_device(ioc, sas_device->sas_address); in _scsih_remove_device()
6180 sas_device->sas_address, in _scsih_remove_device()
6181 sas_device->sas_address_parent); in _scsih_remove_device()
6185 ioc->name, sas_device->handle, in _scsih_remove_device()
6186 (unsigned long long) sas_device->sas_address); in _scsih_remove_device()
6188 _scsih_display_enclosure_chassis_info(ioc, sas_device, NULL, NULL); in _scsih_remove_device()
6193 sas_device->handle, (unsigned long long) in _scsih_remove_device()
6194 sas_device->sas_address)); in _scsih_remove_device()
6195 dewtprintk(ioc, _scsih_display_enclosure_chassis_info(ioc, sas_device, in _scsih_remove_device()
6489 struct _sas_device *sas_device; in _scsih_sas_device_status_change_event() local
6514 sas_device = __mpt3sas_get_sdev_by_addr(ioc, in _scsih_sas_device_status_change_event()
6517 if (!sas_device || !sas_device->starget) in _scsih_sas_device_status_change_event()
6520 target_priv_data = sas_device->starget->hostdata; in _scsih_sas_device_status_change_event()
6531 if (sas_device) in _scsih_sas_device_status_change_event()
6532 sas_device_put(sas_device); in _scsih_sas_device_status_change_event()
7805 struct _sas_device *sas_device; in _scsih_sas_pd_expose() local
7812 sas_device = __mpt3sas_get_sdev_by_handle(ioc, handle); in _scsih_sas_pd_expose()
7813 if (sas_device) { in _scsih_sas_pd_expose()
7814 sas_device->volume_handle = 0; in _scsih_sas_pd_expose()
7815 sas_device->volume_wwid = 0; in _scsih_sas_pd_expose()
7817 if (sas_device->starget && sas_device->starget->hostdata) { in _scsih_sas_pd_expose()
7818 starget = sas_device->starget; in _scsih_sas_pd_expose()
7825 if (!sas_device) in _scsih_sas_pd_expose()
7832 sas_device_put(sas_device); in _scsih_sas_pd_expose()
7845 struct _sas_device *sas_device; in _scsih_sas_pd_hide() local
7859 sas_device = __mpt3sas_get_sdev_by_handle(ioc, handle); in _scsih_sas_pd_hide()
7860 if (sas_device) { in _scsih_sas_pd_hide()
7862 if (sas_device->starget && sas_device->starget->hostdata) { in _scsih_sas_pd_hide()
7863 starget = sas_device->starget; in _scsih_sas_pd_hide()
7867 sas_device->volume_handle = volume_handle; in _scsih_sas_pd_hide()
7868 sas_device->volume_wwid = volume_wwid; in _scsih_sas_pd_hide()
7872 if (!sas_device) in _scsih_sas_pd_hide()
7881 sas_device_put(sas_device); in _scsih_sas_pd_hide()
7909 struct _sas_device *sas_device; in _scsih_sas_pd_add() local
7919 sas_device = mpt3sas_get_sdev_by_handle(ioc, handle); in _scsih_sas_pd_add()
7920 if (sas_device) { in _scsih_sas_pd_add()
7922 sas_device_put(sas_device); in _scsih_sas_pd_add()
8192 struct _sas_device *sas_device; in _scsih_sas_ir_physical_disk_event() local
8225 sas_device = mpt3sas_get_sdev_by_handle(ioc, handle); in _scsih_sas_ir_physical_disk_event()
8226 if (sas_device) { in _scsih_sas_ir_physical_disk_event()
8227 sas_device_put(sas_device); in _scsih_sas_ir_physical_disk_event()
8373 struct _sas_device *sas_device = NULL; in _scsih_mark_responding_sas_device() local
8387 list_for_each_entry(sas_device, &ioc->sas_device_list, list) { in _scsih_mark_responding_sas_device()
8388 if ((sas_device->sas_address == le64_to_cpu( in _scsih_mark_responding_sas_device()
8389 sas_device_pg0->SASAddress)) && (sas_device->slot == in _scsih_mark_responding_sas_device()
8391 sas_device->responding = 1; in _scsih_mark_responding_sas_device()
8392 starget = sas_device->starget; in _scsih_mark_responding_sas_device()
8404 sas_device->sas_address); in _scsih_mark_responding_sas_device()
8406 if (sas_device->enclosure_handle != 0) in _scsih_mark_responding_sas_device()
8411 sas_device->enclosure_logical_id, in _scsih_mark_responding_sas_device()
8412 sas_device->slot); in _scsih_mark_responding_sas_device()
8416 sas_device->enclosure_level = in _scsih_mark_responding_sas_device()
8418 memcpy(&sas_device->connector_name[0], in _scsih_mark_responding_sas_device()
8421 sas_device->enclosure_level = 0; in _scsih_mark_responding_sas_device()
8422 sas_device->connector_name[0] = '\0'; in _scsih_mark_responding_sas_device()
8425 sas_device->enclosure_handle = in _scsih_mark_responding_sas_device()
8427 sas_device->is_chassis_slot_valid = 0; in _scsih_mark_responding_sas_device()
8429 sas_device->enclosure_logical_id = le64_to_cpu( in _scsih_mark_responding_sas_device()
8433 sas_device->is_chassis_slot_valid = 1; in _scsih_mark_responding_sas_device()
8434 sas_device->chassis_slot = in _scsih_mark_responding_sas_device()
8439 if (sas_device->handle == le16_to_cpu( in _scsih_mark_responding_sas_device()
8443 sas_device->handle); in _scsih_mark_responding_sas_device()
8444 sas_device->handle = le16_to_cpu( in _scsih_mark_responding_sas_device()
8888 struct _sas_device *sas_device, *sas_device_next; in _scsih_remove_unresponding_devices() local
8907 list_for_each_entry_safe(sas_device, sas_device_next, in _scsih_remove_unresponding_devices()
8909 if (!sas_device->responding) in _scsih_remove_unresponding_devices()
8910 list_move_tail(&sas_device->list, &head); in _scsih_remove_unresponding_devices()
8912 sas_device->responding = 0; in _scsih_remove_unresponding_devices()
8919 list_for_each_entry_safe(sas_device, sas_device_next, &head, list) { in _scsih_remove_unresponding_devices()
8920 _scsih_remove_device(ioc, sas_device); in _scsih_remove_unresponding_devices()
8921 list_del_init(&sas_device->list); in _scsih_remove_unresponding_devices()
8922 sas_device_put(sas_device); in _scsih_remove_unresponding_devices()
9025 struct _sas_device *sas_device; in _scsih_scan_for_devices_after_reset() local
9096 sas_device = mpt3sas_get_sdev_by_handle(ioc, handle); in _scsih_scan_for_devices_after_reset()
9097 if (sas_device) { in _scsih_scan_for_devices_after_reset()
9098 sas_device_put(sas_device); in _scsih_scan_for_devices_after_reset()
9221 sas_device = mpt3sas_get_sdev_by_addr(ioc, in _scsih_scan_for_devices_after_reset()
9223 if (sas_device) { in _scsih_scan_for_devices_after_reset()
9224 sas_device_put(sas_device); in _scsih_scan_for_devices_after_reset()
9906 struct _sas_device *sas_device; in _scsih_probe_boot_devices() local
9952 sas_device = device; in _scsih_probe_boot_devices()
9953 handle = sas_device->handle; in _scsih_probe_boot_devices()
9954 sas_address_parent = sas_device->sas_address_parent; in _scsih_probe_boot_devices()
9955 sas_address = sas_device->sas_address; in _scsih_probe_boot_devices()
9956 list_move_tail(&sas_device->list, &ioc->sas_device_list); in _scsih_probe_boot_devices()
9963 _scsih_sas_device_remove(ioc, sas_device); in _scsih_probe_boot_devices()
9964 } else if (!sas_device->starget) { in _scsih_probe_boot_devices()
9969 _scsih_sas_device_remove(ioc, sas_device); in _scsih_probe_boot_devices()
10000 struct _sas_device *sas_device = NULL; in get_next_sas_device() local
10005 sas_device = list_first_entry(&ioc->sas_device_init_list, in get_next_sas_device()
10007 sas_device_get(sas_device); in get_next_sas_device()
10011 return sas_device; in get_next_sas_device()
10015 struct _sas_device *sas_device) in sas_device_make_active() argument
10029 if (!list_empty(&sas_device->list)) { in sas_device_make_active()
10030 list_del_init(&sas_device->list); in sas_device_make_active()
10031 sas_device_put(sas_device); in sas_device_make_active()
10034 sas_device_get(sas_device); in sas_device_make_active()
10035 list_add_tail(&sas_device->list, &ioc->sas_device_list); in sas_device_make_active()
10049 struct _sas_device *sas_device; in _scsih_probe_sas() local
10054 while ((sas_device = get_next_sas_device(ioc))) { in _scsih_probe_sas()
10055 if (!mpt3sas_transport_port_add(ioc, sas_device->handle, in _scsih_probe_sas()
10056 sas_device->sas_address_parent)) { in _scsih_probe_sas()
10057 _scsih_sas_device_remove(ioc, sas_device); in _scsih_probe_sas()
10058 sas_device_put(sas_device); in _scsih_probe_sas()
10060 } else if (!sas_device->starget) { in _scsih_probe_sas()
10069 sas_device->sas_address, in _scsih_probe_sas()
10070 sas_device->sas_address_parent); in _scsih_probe_sas()
10071 _scsih_sas_device_remove(ioc, sas_device); in _scsih_probe_sas()
10072 sas_device_put(sas_device); in _scsih_probe_sas()
10076 sas_device_make_active(ioc, sas_device); in _scsih_probe_sas()
10077 sas_device_put(sas_device); in _scsih_probe_sas()