Lines Matching refs:sas_device
68 struct _sas_device *sas_device);
457 struct _sas_device *sas_device; in _scsih_determine_boot_device() local
473 sas_device = device; in _scsih_determine_boot_device()
474 sas_address = sas_device->sas_address; in _scsih_determine_boot_device()
475 device_name = sas_device->device_name; in _scsih_determine_boot_device()
476 enclosure_logical_id = sas_device->enclosure_logical_id; in _scsih_determine_boot_device()
477 slot = sas_device->slot; in _scsih_determine_boot_device()
566 struct _sas_device *sas_device; in __mpt3sas_get_sdev_by_addr() local
570 list_for_each_entry(sas_device, &ioc->sas_device_list, list) in __mpt3sas_get_sdev_by_addr()
571 if (sas_device->sas_address == sas_address) in __mpt3sas_get_sdev_by_addr()
574 list_for_each_entry(sas_device, &ioc->sas_device_init_list, list) in __mpt3sas_get_sdev_by_addr()
575 if (sas_device->sas_address == sas_address) in __mpt3sas_get_sdev_by_addr()
581 sas_device_get(sas_device); in __mpt3sas_get_sdev_by_addr()
582 return sas_device; in __mpt3sas_get_sdev_by_addr()
598 struct _sas_device *sas_device; in mpt3sas_get_sdev_by_addr() local
602 sas_device = __mpt3sas_get_sdev_by_addr(ioc, in mpt3sas_get_sdev_by_addr()
606 return sas_device; in mpt3sas_get_sdev_by_addr()
612 struct _sas_device *sas_device; in __mpt3sas_get_sdev_by_handle() local
616 list_for_each_entry(sas_device, &ioc->sas_device_list, list) in __mpt3sas_get_sdev_by_handle()
617 if (sas_device->handle == handle) in __mpt3sas_get_sdev_by_handle()
620 list_for_each_entry(sas_device, &ioc->sas_device_init_list, list) in __mpt3sas_get_sdev_by_handle()
621 if (sas_device->handle == handle) in __mpt3sas_get_sdev_by_handle()
627 sas_device_get(sas_device); in __mpt3sas_get_sdev_by_handle()
628 return sas_device; in __mpt3sas_get_sdev_by_handle()
643 struct _sas_device *sas_device; in mpt3sas_get_sdev_by_handle() local
647 sas_device = __mpt3sas_get_sdev_by_handle(ioc, handle); in mpt3sas_get_sdev_by_handle()
650 return sas_device; in mpt3sas_get_sdev_by_handle()
663 struct _sas_device *sas_device) in _scsih_sas_device_remove() argument
667 if (!sas_device) in _scsih_sas_device_remove()
671 ioc->name, sas_device->handle, in _scsih_sas_device_remove()
672 (unsigned long long) sas_device->sas_address); in _scsih_sas_device_remove()
674 if (sas_device->enclosure_handle != 0) in _scsih_sas_device_remove()
678 sas_device->enclosure_logical_id, sas_device->slot); in _scsih_sas_device_remove()
680 if (sas_device->connector_name[0] != '\0') in _scsih_sas_device_remove()
683 ioc->name, sas_device->enclosure_level, in _scsih_sas_device_remove()
684 sas_device->connector_name); in _scsih_sas_device_remove()
691 if (!list_empty(&sas_device->list)) { in _scsih_sas_device_remove()
692 list_del_init(&sas_device->list); in _scsih_sas_device_remove()
693 sas_device_put(sas_device); in _scsih_sas_device_remove()
708 struct _sas_device *sas_device; in _scsih_device_remove_by_handle() local
715 sas_device = __mpt3sas_get_sdev_by_handle(ioc, handle); in _scsih_device_remove_by_handle()
716 if (sas_device) { in _scsih_device_remove_by_handle()
717 list_del_init(&sas_device->list); in _scsih_device_remove_by_handle()
718 sas_device_put(sas_device); in _scsih_device_remove_by_handle()
721 if (sas_device) { in _scsih_device_remove_by_handle()
722 _scsih_remove_device(ioc, sas_device); in _scsih_device_remove_by_handle()
723 sas_device_put(sas_device); in _scsih_device_remove_by_handle()
738 struct _sas_device *sas_device; in mpt3sas_device_remove_by_sas_address() local
745 sas_device = __mpt3sas_get_sdev_by_addr(ioc, sas_address); in mpt3sas_device_remove_by_sas_address()
746 if (sas_device) { in mpt3sas_device_remove_by_sas_address()
747 list_del_init(&sas_device->list); in mpt3sas_device_remove_by_sas_address()
748 sas_device_put(sas_device); in mpt3sas_device_remove_by_sas_address()
751 if (sas_device) { in mpt3sas_device_remove_by_sas_address()
752 _scsih_remove_device(ioc, sas_device); in mpt3sas_device_remove_by_sas_address()
753 sas_device_put(sas_device); in mpt3sas_device_remove_by_sas_address()
767 struct _sas_device *sas_device) in _scsih_sas_device_add() argument
773 ioc->name, __func__, sas_device->handle, in _scsih_sas_device_add()
774 (unsigned long long)sas_device->sas_address)); in _scsih_sas_device_add()
776 if (sas_device->enclosure_handle != 0) in _scsih_sas_device_add()
780 sas_device->enclosure_logical_id, sas_device->slot)); in _scsih_sas_device_add()
782 if (sas_device->connector_name[0] != '\0') in _scsih_sas_device_add()
786 sas_device->enclosure_level, sas_device->connector_name)); in _scsih_sas_device_add()
789 sas_device_get(sas_device); in _scsih_sas_device_add()
790 list_add_tail(&sas_device->list, &ioc->sas_device_list); in _scsih_sas_device_add()
793 if (!mpt3sas_transport_port_add(ioc, sas_device->handle, in _scsih_sas_device_add()
794 sas_device->sas_address_parent)) { in _scsih_sas_device_add()
795 _scsih_sas_device_remove(ioc, sas_device); in _scsih_sas_device_add()
796 } else if (!sas_device->starget) { in _scsih_sas_device_add()
804 sas_device->sas_address, in _scsih_sas_device_add()
805 sas_device->sas_address_parent); in _scsih_sas_device_add()
806 _scsih_sas_device_remove(ioc, sas_device); in _scsih_sas_device_add()
821 struct _sas_device *sas_device) in _scsih_sas_device_init_add() argument
827 __func__, sas_device->handle, in _scsih_sas_device_init_add()
828 (unsigned long long)sas_device->sas_address)); in _scsih_sas_device_init_add()
830 if (sas_device->enclosure_handle != 0) in _scsih_sas_device_init_add()
834 sas_device->enclosure_logical_id, sas_device->slot)); in _scsih_sas_device_init_add()
836 if (sas_device->connector_name[0] != '\0') in _scsih_sas_device_init_add()
839 ioc->name, __func__, sas_device->enclosure_level, in _scsih_sas_device_init_add()
840 sas_device->connector_name)); in _scsih_sas_device_init_add()
843 sas_device_get(sas_device); in _scsih_sas_device_init_add()
844 list_add_tail(&sas_device->list, &ioc->sas_device_init_list); in _scsih_sas_device_init_add()
845 _scsih_determine_boot_device(ioc, sas_device, 0); in _scsih_sas_device_init_add()
1208 struct _sas_device *sas_device; in scsih_change_queue_depth() local
1224 sas_device = __mpt3sas_get_sdev_from_target(ioc, sas_target_priv_data); in scsih_change_queue_depth()
1225 if (sas_device) { in scsih_change_queue_depth()
1226 if (sas_device->device_info & MPI2_SAS_DEVICE_INFO_SATA_DEVICE) in scsih_change_queue_depth()
1229 sas_device_put(sas_device); in scsih_change_queue_depth()
1255 struct _sas_device *sas_device; in scsih_target_alloc() local
1289 sas_device = __mpt3sas_get_sdev_by_addr(ioc, in scsih_target_alloc()
1292 if (sas_device) { in scsih_target_alloc()
1293 sas_target_priv_data->handle = sas_device->handle; in scsih_target_alloc()
1294 sas_target_priv_data->sas_address = sas_device->sas_address; in scsih_target_alloc()
1295 sas_target_priv_data->sdev = sas_device; in scsih_target_alloc()
1296 sas_device->starget = starget; in scsih_target_alloc()
1297 sas_device->id = starget->id; in scsih_target_alloc()
1298 sas_device->channel = starget->channel; in scsih_target_alloc()
1299 if (test_bit(sas_device->handle, ioc->pd_handles)) in scsih_target_alloc()
1302 if (sas_device->fast_path) in scsih_target_alloc()
1322 struct _sas_device *sas_device; in scsih_target_destroy() local
1345 sas_device = __mpt3sas_get_sdev_from_target(ioc, sas_target_priv_data); in scsih_target_destroy()
1346 if (sas_device && (sas_device->starget == starget) && in scsih_target_destroy()
1347 (sas_device->id == starget->id) && in scsih_target_destroy()
1348 (sas_device->channel == starget->channel)) in scsih_target_destroy()
1349 sas_device->starget = NULL; in scsih_target_destroy()
1351 if (sas_device) { in scsih_target_destroy()
1356 sas_device_put(sas_device); in scsih_target_destroy()
1358 sas_device_put(sas_device); in scsih_target_destroy()
1383 struct _sas_device *sas_device; in scsih_slave_alloc() local
1415 sas_device = __mpt3sas_get_sdev_by_addr(ioc, in scsih_slave_alloc()
1417 if (sas_device && (sas_device->starget == NULL)) { in scsih_slave_alloc()
1421 sas_device->starget = starget; in scsih_slave_alloc()
1424 if (sas_device) in scsih_slave_alloc()
1425 sas_device_put(sas_device); in scsih_slave_alloc()
1446 struct _sas_device *sas_device; in scsih_slave_destroy() local
1461 sas_device = __mpt3sas_get_sdev_from_target(ioc, in scsih_slave_destroy()
1463 if (sas_device && !sas_target_priv_data->num_luns) in scsih_slave_destroy()
1464 sas_device->starget = NULL; in scsih_slave_destroy()
1466 if (sas_device) in scsih_slave_destroy()
1467 sas_device_put(sas_device); in scsih_slave_destroy()
1801 struct _sas_device *sas_device; in scsih_slave_configure() local
1925 sas_device = __mpt3sas_get_sdev_by_addr(ioc, in scsih_slave_configure()
1927 if (!sas_device) { in scsih_slave_configure()
1935 sas_device->volume_handle = volume_handle; in scsih_slave_configure()
1936 sas_device->volume_wwid = volume_wwid; in scsih_slave_configure()
1937 if (sas_device->device_info & MPI2_SAS_DEVICE_INFO_SSP_TARGET) { in scsih_slave_configure()
1943 if (sas_device->device_info & MPI2_SAS_DEVICE_INFO_STP_TARGET) in scsih_slave_configure()
1945 else if (sas_device->device_info & in scsih_slave_configure()
1952 ds, handle, (unsigned long long)sas_device->sas_address, in scsih_slave_configure()
1953 sas_device->phy, (unsigned long long)sas_device->device_name); in scsih_slave_configure()
1954 if (sas_device->enclosure_handle != 0) in scsih_slave_configure()
1958 sas_device->enclosure_logical_id, sas_device->slot); in scsih_slave_configure()
1959 if (sas_device->connector_name[0] != '\0') in scsih_slave_configure()
1962 ds, sas_device->enclosure_level, in scsih_slave_configure()
1963 sas_device->connector_name); in scsih_slave_configure()
1965 sas_device_put(sas_device); in scsih_slave_configure()
2346 struct _sas_device *sas_device = NULL; in _scsih_tm_display_info() local
2365 sas_device = __mpt3sas_get_sdev_from_target(ioc, priv_target); in _scsih_tm_display_info()
2366 if (sas_device) { in _scsih_tm_display_info()
2372 sas_device->volume_handle, in _scsih_tm_display_info()
2373 (unsigned long long)sas_device->volume_wwid); in _scsih_tm_display_info()
2377 sas_device->handle, in _scsih_tm_display_info()
2378 (unsigned long long)sas_device->sas_address, in _scsih_tm_display_info()
2379 sas_device->phy); in _scsih_tm_display_info()
2380 if (sas_device->enclosure_handle != 0) in _scsih_tm_display_info()
2384 sas_device->enclosure_logical_id, in _scsih_tm_display_info()
2385 sas_device->slot); in _scsih_tm_display_info()
2386 if (sas_device->connector_name) in _scsih_tm_display_info()
2389 sas_device->enclosure_level, in _scsih_tm_display_info()
2390 sas_device->connector_name); in _scsih_tm_display_info()
2392 sas_device_put(sas_device); in _scsih_tm_display_info()
2468 struct _sas_device *sas_device = NULL; in scsih_dev_reset() local
2493 sas_device = mpt3sas_get_sdev_from_target(ioc, in scsih_dev_reset()
2495 if (sas_device) in scsih_dev_reset()
2496 handle = sas_device->volume_handle; in scsih_dev_reset()
2514 if (sas_device) in scsih_dev_reset()
2515 sas_device_put(sas_device); in scsih_dev_reset()
2531 struct _sas_device *sas_device = NULL; in scsih_target_reset() local
2555 sas_device = mpt3sas_get_sdev_from_target(ioc, in scsih_target_reset()
2557 if (sas_device) in scsih_target_reset()
2558 handle = sas_device->volume_handle; in scsih_target_reset()
2576 if (sas_device) in scsih_target_reset()
2577 sas_device_put(sas_device); in scsih_target_reset()
2946 struct _sas_device *sas_device; in _scsih_block_io_device() local
2948 sas_device = mpt3sas_get_sdev_by_handle(ioc, handle); in _scsih_block_io_device()
2949 if (!sas_device) in _scsih_block_io_device()
2960 if (sas_device->pend_sas_rphy_add) in _scsih_block_io_device()
2965 sas_device_put(sas_device); in _scsih_block_io_device()
2982 struct _sas_device *sas_device; in _scsih_block_io_to_children_attached_to_ex() local
2994 sas_device = __mpt3sas_get_sdev_by_addr(ioc, in _scsih_block_io_to_children_attached_to_ex()
2996 if (sas_device) { in _scsih_block_io_to_children_attached_to_ex()
2997 set_bit(sas_device->handle, in _scsih_block_io_to_children_attached_to_ex()
2999 sas_device_put(sas_device); in _scsih_block_io_to_children_attached_to_ex()
3068 struct _sas_device *sas_device = NULL; in _scsih_tm_tr_send() local
3101 sas_device = __mpt3sas_get_sdev_by_handle(ioc, handle); in _scsih_tm_tr_send()
3102 if (sas_device && sas_device->starget && in _scsih_tm_tr_send()
3103 sas_device->starget->hostdata) { in _scsih_tm_tr_send()
3104 sas_target_priv_data = sas_device->starget->hostdata; in _scsih_tm_tr_send()
3106 sas_address = sas_device->sas_address; in _scsih_tm_tr_send()
3115 if (sas_device->enclosure_handle != 0) in _scsih_tm_tr_send()
3119 sas_device->enclosure_logical_id, in _scsih_tm_tr_send()
3120 sas_device->slot)); in _scsih_tm_tr_send()
3121 if (sas_device->connector_name) in _scsih_tm_tr_send()
3125 sas_device->enclosure_level, in _scsih_tm_tr_send()
3126 sas_device->connector_name)); in _scsih_tm_tr_send()
3158 if (sas_device) in _scsih_tm_tr_send()
3159 sas_device_put(sas_device); in _scsih_tm_tr_send()
4020 struct _sas_device *sas_device = NULL; in _scsih_scsi_ioc_info() local
4151 sas_device = mpt3sas_get_sdev_from_target(ioc, priv_target); in _scsih_scsi_ioc_info()
4152 if (sas_device) { in _scsih_scsi_ioc_info()
4156 sas_device->sas_address, sas_device->phy); in _scsih_scsi_ioc_info()
4157 if (sas_device->enclosure_handle != 0) in _scsih_scsi_ioc_info()
4162 sas_device->enclosure_logical_id, in _scsih_scsi_ioc_info()
4163 sas_device->slot); in _scsih_scsi_ioc_info()
4164 if (sas_device->connector_name[0]) in _scsih_scsi_ioc_info()
4168 sas_device->enclosure_level, in _scsih_scsi_ioc_info()
4169 sas_device->connector_name); in _scsih_scsi_ioc_info()
4171 sas_device_put(sas_device); in _scsih_scsi_ioc_info()
4221 struct _sas_device *sas_device; in _scsih_turn_on_pfa_led() local
4223 sas_device = mpt3sas_get_sdev_by_handle(ioc, handle); in _scsih_turn_on_pfa_led()
4224 if (!sas_device) in _scsih_turn_on_pfa_led()
4240 sas_device->pfa_led_on = 1; in _scsih_turn_on_pfa_led()
4250 sas_device_put(sas_device); in _scsih_turn_on_pfa_led()
4263 struct _sas_device *sas_device) in _scsih_turn_off_pfa_led() argument
4272 mpi_request.Slot = cpu_to_le16(sas_device->slot); in _scsih_turn_off_pfa_led()
4274 mpi_request.EnclosureHandle = cpu_to_le16(sas_device->enclosure_handle); in _scsih_turn_off_pfa_led()
4330 struct _sas_device *sas_device; in _scsih_smart_predicted_fault() local
4336 sas_device = __mpt3sas_get_sdev_by_handle(ioc, handle); in _scsih_smart_predicted_fault()
4337 if (!sas_device) in _scsih_smart_predicted_fault()
4340 starget = sas_device->starget; in _scsih_smart_predicted_fault()
4347 if (sas_device->enclosure_handle != 0) in _scsih_smart_predicted_fault()
4350 (unsigned long long)sas_device->enclosure_logical_id, in _scsih_smart_predicted_fault()
4351 sas_device->slot); in _scsih_smart_predicted_fault()
4352 if (sas_device->connector_name[0] != '\0') in _scsih_smart_predicted_fault()
4355 sas_device->enclosure_level, in _scsih_smart_predicted_fault()
4356 sas_device->connector_name); in _scsih_smart_predicted_fault()
4387 if (sas_device) in _scsih_smart_predicted_fault()
4388 sas_device_put(sas_device); in _scsih_smart_predicted_fault()
5135 struct _sas_device *sas_device; in _scsih_check_device() local
5165 sas_device = __mpt3sas_get_sdev_by_addr(ioc, in _scsih_check_device()
5168 if (!sas_device) in _scsih_check_device()
5171 if (unlikely(sas_device->handle != handle)) { in _scsih_check_device()
5172 starget = sas_device->starget; in _scsih_check_device()
5176 sas_device->handle, handle); in _scsih_check_device()
5178 sas_device->handle = handle; in _scsih_check_device()
5181 sas_device->enclosure_level = in _scsih_check_device()
5183 memcpy(&sas_device->connector_name[0], in _scsih_check_device()
5186 sas_device->enclosure_level = 0; in _scsih_check_device()
5187 sas_device->connector_name[0] = '\0'; in _scsih_check_device()
5208 if (sas_device) in _scsih_check_device()
5209 sas_device_put(sas_device); in _scsih_check_device()
5214 if (sas_device) in _scsih_check_device()
5215 sas_device_put(sas_device); in _scsih_check_device()
5236 struct _sas_device *sas_device; in _scsih_add_device() local
5275 sas_device = mpt3sas_get_sdev_by_addr(ioc, in _scsih_add_device()
5277 if (sas_device) { in _scsih_add_device()
5278 sas_device_put(sas_device); in _scsih_add_device()
5282 sas_device = kzalloc(sizeof(struct _sas_device), in _scsih_add_device()
5284 if (!sas_device) { in _scsih_add_device()
5290 kref_init(&sas_device->refcount); in _scsih_add_device()
5291 sas_device->handle = handle; in _scsih_add_device()
5294 &sas_device->sas_address_parent) != 0) in _scsih_add_device()
5297 sas_device->enclosure_handle = in _scsih_add_device()
5299 if (sas_device->enclosure_handle != 0) in _scsih_add_device()
5300 sas_device->slot = in _scsih_add_device()
5302 sas_device->device_info = device_info; in _scsih_add_device()
5303 sas_device->sas_address = sas_address; in _scsih_add_device()
5304 sas_device->phy = sas_device_pg0.PhyNum; in _scsih_add_device()
5305 sas_device->fast_path = (le16_to_cpu(sas_device_pg0.Flags) & in _scsih_add_device()
5309 sas_device->enclosure_level = in _scsih_add_device()
5311 memcpy(&sas_device->connector_name[0], in _scsih_add_device()
5314 sas_device->enclosure_level = 0; in _scsih_add_device()
5315 sas_device->connector_name[0] = '\0'; in _scsih_add_device()
5318 if (sas_device->enclosure_handle && !(mpt3sas_config_get_enclosure_pg0( in _scsih_add_device()
5320 sas_device->enclosure_handle))) in _scsih_add_device()
5321 sas_device->enclosure_logical_id = in _scsih_add_device()
5325 sas_device->device_name = le64_to_cpu(sas_device_pg0.DeviceName); in _scsih_add_device()
5328 _scsih_sas_device_init_add(ioc, sas_device); in _scsih_add_device()
5330 _scsih_sas_device_add(ioc, sas_device); in _scsih_add_device()
5332 sas_device_put(sas_device); in _scsih_add_device()
5345 struct _sas_device *sas_device) in _scsih_remove_device() argument
5350 (sas_device->pfa_led_on)) { in _scsih_remove_device()
5351 _scsih_turn_off_pfa_led(ioc, sas_device); in _scsih_remove_device()
5352 sas_device->pfa_led_on = 0; in _scsih_remove_device()
5357 sas_device->handle, (unsigned long long) in _scsih_remove_device()
5358 sas_device->sas_address)); in _scsih_remove_device()
5359 if (sas_device->enclosure_handle != 0) in _scsih_remove_device()
5363 (unsigned long long)sas_device->enclosure_logical_id, in _scsih_remove_device()
5364 sas_device->slot)); in _scsih_remove_device()
5365 if (sas_device->connector_name[0] != '\0') in _scsih_remove_device()
5369 sas_device->enclosure_level, in _scsih_remove_device()
5370 sas_device->connector_name)); in _scsih_remove_device()
5372 if (sas_device->starget && sas_device->starget->hostdata) { in _scsih_remove_device()
5373 sas_target_priv_data = sas_device->starget->hostdata; in _scsih_remove_device()
5375 _scsih_ublock_io_device(ioc, sas_device->sas_address); in _scsih_remove_device()
5382 sas_device->sas_address, in _scsih_remove_device()
5383 sas_device->sas_address_parent); in _scsih_remove_device()
5387 ioc->name, sas_device->handle, in _scsih_remove_device()
5388 (unsigned long long) sas_device->sas_address); in _scsih_remove_device()
5389 if (sas_device->enclosure_handle != 0) in _scsih_remove_device()
5393 (unsigned long long)sas_device->enclosure_logical_id, in _scsih_remove_device()
5394 sas_device->slot); in _scsih_remove_device()
5395 if (sas_device->connector_name[0] != '\0') in _scsih_remove_device()
5398 ioc->name, sas_device->enclosure_level, in _scsih_remove_device()
5399 sas_device->connector_name); in _scsih_remove_device()
5404 sas_device->handle, (unsigned long long) in _scsih_remove_device()
5405 sas_device->sas_address)); in _scsih_remove_device()
5406 if (sas_device->enclosure_handle != 0) in _scsih_remove_device()
5410 (unsigned long long)sas_device->enclosure_logical_id, in _scsih_remove_device()
5411 sas_device->slot)); in _scsih_remove_device()
5412 if (sas_device->connector_name[0] != '\0') in _scsih_remove_device()
5415 ioc->name, __func__, sas_device->enclosure_level, in _scsih_remove_device()
5416 sas_device->connector_name)); in _scsih_remove_device()
5708 struct _sas_device *sas_device; in _scsih_sas_device_status_change_event() local
5733 sas_device = __mpt3sas_get_sdev_by_addr(ioc, in _scsih_sas_device_status_change_event()
5736 if (!sas_device || !sas_device->starget) in _scsih_sas_device_status_change_event()
5739 target_priv_data = sas_device->starget->hostdata; in _scsih_sas_device_status_change_event()
5750 if (sas_device) in _scsih_sas_device_status_change_event()
5751 sas_device_put(sas_device); in _scsih_sas_device_status_change_event()
6226 struct _sas_device *sas_device; in _scsih_sas_pd_expose() local
6233 sas_device = __mpt3sas_get_sdev_by_handle(ioc, handle); in _scsih_sas_pd_expose()
6234 if (sas_device) { in _scsih_sas_pd_expose()
6235 sas_device->volume_handle = 0; in _scsih_sas_pd_expose()
6236 sas_device->volume_wwid = 0; in _scsih_sas_pd_expose()
6238 if (sas_device->starget && sas_device->starget->hostdata) { in _scsih_sas_pd_expose()
6239 starget = sas_device->starget; in _scsih_sas_pd_expose()
6246 if (!sas_device) in _scsih_sas_pd_expose()
6253 sas_device_put(sas_device); in _scsih_sas_pd_expose()
6268 struct _sas_device *sas_device; in _scsih_sas_pd_hide() local
6282 sas_device = __mpt3sas_get_sdev_by_handle(ioc, handle); in _scsih_sas_pd_hide()
6283 if (sas_device) { in _scsih_sas_pd_hide()
6285 if (sas_device->starget && sas_device->starget->hostdata) { in _scsih_sas_pd_hide()
6286 starget = sas_device->starget; in _scsih_sas_pd_hide()
6290 sas_device->volume_handle = volume_handle; in _scsih_sas_pd_hide()
6291 sas_device->volume_wwid = volume_wwid; in _scsih_sas_pd_hide()
6295 if (!sas_device) in _scsih_sas_pd_hide()
6304 sas_device_put(sas_device); in _scsih_sas_pd_hide()
6336 struct _sas_device *sas_device; in _scsih_sas_pd_add() local
6346 sas_device = mpt3sas_get_sdev_by_handle(ioc, handle); in _scsih_sas_pd_add()
6347 if (sas_device) { in _scsih_sas_pd_add()
6349 sas_device_put(sas_device); in _scsih_sas_pd_add()
6627 struct _sas_device *sas_device; in _scsih_sas_ir_physical_disk_event() local
6660 sas_device = mpt3sas_get_sdev_by_handle(ioc, handle); in _scsih_sas_ir_physical_disk_event()
6661 if (sas_device) { in _scsih_sas_ir_physical_disk_event()
6662 sas_device_put(sas_device); in _scsih_sas_ir_physical_disk_event()
6814 struct _sas_device *sas_device; in _scsih_mark_responding_sas_device() local
6818 list_for_each_entry(sas_device, &ioc->sas_device_list, list) { in _scsih_mark_responding_sas_device()
6819 if ((sas_device->sas_address == sas_device_pg0->SASAddress) && in _scsih_mark_responding_sas_device()
6820 (sas_device->slot == sas_device_pg0->Slot)) { in _scsih_mark_responding_sas_device()
6821 sas_device->responding = 1; in _scsih_mark_responding_sas_device()
6822 starget = sas_device->starget; in _scsih_mark_responding_sas_device()
6834 sas_device->sas_address); in _scsih_mark_responding_sas_device()
6836 if (sas_device->enclosure_handle != 0) in _scsih_mark_responding_sas_device()
6841 sas_device->enclosure_logical_id, in _scsih_mark_responding_sas_device()
6842 sas_device->slot); in _scsih_mark_responding_sas_device()
6846 sas_device->enclosure_level = in _scsih_mark_responding_sas_device()
6848 memcpy(&sas_device->connector_name[0], in _scsih_mark_responding_sas_device()
6851 sas_device->enclosure_level = 0; in _scsih_mark_responding_sas_device()
6852 sas_device->connector_name[0] = '\0'; in _scsih_mark_responding_sas_device()
6855 if (sas_device->handle == sas_device_pg0->DevHandle) in _scsih_mark_responding_sas_device()
6858 sas_device->handle); in _scsih_mark_responding_sas_device()
6859 sas_device->handle = sas_device_pg0->DevHandle; in _scsih_mark_responding_sas_device()
7139 struct _sas_device *sas_device, *sas_device_next; in _scsih_remove_unresponding_sas_devices() local
7157 list_for_each_entry_safe(sas_device, sas_device_next, in _scsih_remove_unresponding_sas_devices()
7159 if (!sas_device->responding) in _scsih_remove_unresponding_sas_devices()
7160 list_move_tail(&sas_device->list, &head); in _scsih_remove_unresponding_sas_devices()
7162 sas_device->responding = 0; in _scsih_remove_unresponding_sas_devices()
7169 list_for_each_entry_safe(sas_device, sas_device_next, &head, list) { in _scsih_remove_unresponding_sas_devices()
7170 _scsih_remove_device(ioc, sas_device); in _scsih_remove_unresponding_sas_devices()
7171 list_del_init(&sas_device->list); in _scsih_remove_unresponding_sas_devices()
7172 sas_device_put(sas_device); in _scsih_remove_unresponding_sas_devices()
7257 struct _sas_device *sas_device; in _scsih_scan_for_devices_after_reset() local
7327 sas_device = mpt3sas_get_sdev_by_handle(ioc, handle); in _scsih_scan_for_devices_after_reset()
7328 if (sas_device) { in _scsih_scan_for_devices_after_reset()
7329 sas_device_put(sas_device); in _scsih_scan_for_devices_after_reset()
7452 sas_device = mpt3sas_get_sdev_by_addr(ioc, in _scsih_scan_for_devices_after_reset()
7454 if (sas_device) { in _scsih_scan_for_devices_after_reset()
7455 sas_device_put(sas_device); in _scsih_scan_for_devices_after_reset()
8035 struct _sas_device *sas_device; in _scsih_probe_boot_devices() local
8071 sas_device = device; in _scsih_probe_boot_devices()
8072 handle = sas_device->handle; in _scsih_probe_boot_devices()
8073 sas_address_parent = sas_device->sas_address_parent; in _scsih_probe_boot_devices()
8074 sas_address = sas_device->sas_address; in _scsih_probe_boot_devices()
8075 list_move_tail(&sas_device->list, &ioc->sas_device_list); in _scsih_probe_boot_devices()
8082 _scsih_sas_device_remove(ioc, sas_device); in _scsih_probe_boot_devices()
8083 } else if (!sas_device->starget) { in _scsih_probe_boot_devices()
8088 _scsih_sas_device_remove(ioc, sas_device); in _scsih_probe_boot_devices()
8119 struct _sas_device *sas_device = NULL; in get_next_sas_device() local
8124 sas_device = list_first_entry(&ioc->sas_device_init_list, in get_next_sas_device()
8126 sas_device_get(sas_device); in get_next_sas_device()
8130 return sas_device; in get_next_sas_device()
8134 struct _sas_device *sas_device) in sas_device_make_active() argument
8148 if (!list_empty(&sas_device->list)) { in sas_device_make_active()
8149 list_del_init(&sas_device->list); in sas_device_make_active()
8150 sas_device_put(sas_device); in sas_device_make_active()
8153 sas_device_get(sas_device); in sas_device_make_active()
8154 list_add_tail(&sas_device->list, &ioc->sas_device_list); in sas_device_make_active()
8168 struct _sas_device *sas_device; in _scsih_probe_sas() local
8173 while ((sas_device = get_next_sas_device(ioc))) { in _scsih_probe_sas()
8174 if (!mpt3sas_transport_port_add(ioc, sas_device->handle, in _scsih_probe_sas()
8175 sas_device->sas_address_parent)) { in _scsih_probe_sas()
8176 _scsih_sas_device_remove(ioc, sas_device); in _scsih_probe_sas()
8177 sas_device_put(sas_device); in _scsih_probe_sas()
8179 } else if (!sas_device->starget) { in _scsih_probe_sas()
8188 sas_device->sas_address, in _scsih_probe_sas()
8189 sas_device->sas_address_parent); in _scsih_probe_sas()
8190 _scsih_sas_device_remove(ioc, sas_device); in _scsih_probe_sas()
8191 sas_device_put(sas_device); in _scsih_probe_sas()
8195 sas_device_make_active(ioc, sas_device); in _scsih_probe_sas()
8196 sas_device_put(sas_device); in _scsih_probe_sas()