Lines Matching refs:sas_device

454 	struct _sas_device *sas_device;  in _scsih_determine_boot_device()  local
470 sas_device = device; in _scsih_determine_boot_device()
471 sas_address = sas_device->sas_address; in _scsih_determine_boot_device()
472 device_name = sas_device->device_name; in _scsih_determine_boot_device()
473 enclosure_logical_id = sas_device->enclosure_logical_id; in _scsih_determine_boot_device()
474 slot = sas_device->slot; in _scsih_determine_boot_device()
542 struct _sas_device *sas_device; in mpt2sas_scsih_sas_device_find_by_sas_address() local
544 list_for_each_entry(sas_device, &ioc->sas_device_list, list) in mpt2sas_scsih_sas_device_find_by_sas_address()
545 if (sas_device->sas_address == sas_address) in mpt2sas_scsih_sas_device_find_by_sas_address()
546 return sas_device; in mpt2sas_scsih_sas_device_find_by_sas_address()
548 list_for_each_entry(sas_device, &ioc->sas_device_init_list, list) in mpt2sas_scsih_sas_device_find_by_sas_address()
549 if (sas_device->sas_address == sas_address) in mpt2sas_scsih_sas_device_find_by_sas_address()
550 return sas_device; in mpt2sas_scsih_sas_device_find_by_sas_address()
567 struct _sas_device *sas_device; in _scsih_sas_device_find_by_handle() local
569 list_for_each_entry(sas_device, &ioc->sas_device_list, list) in _scsih_sas_device_find_by_handle()
570 if (sas_device->handle == handle) in _scsih_sas_device_find_by_handle()
571 return sas_device; in _scsih_sas_device_find_by_handle()
573 list_for_each_entry(sas_device, &ioc->sas_device_init_list, list) in _scsih_sas_device_find_by_handle()
574 if (sas_device->handle == handle) in _scsih_sas_device_find_by_handle()
575 return sas_device; in _scsih_sas_device_find_by_handle()
590 struct _sas_device *sas_device) in _scsih_sas_device_remove() argument
594 if (!sas_device) in _scsih_sas_device_remove()
598 list_del(&sas_device->list); in _scsih_sas_device_remove()
599 kfree(sas_device); in _scsih_sas_device_remove()
614 struct _sas_device *sas_device) in _scsih_sas_device_add() argument
620 sas_device->handle, (unsigned long long)sas_device->sas_address)); in _scsih_sas_device_add()
623 list_add_tail(&sas_device->list, &ioc->sas_device_list); in _scsih_sas_device_add()
626 if (!mpt2sas_transport_port_add(ioc, sas_device->handle, in _scsih_sas_device_add()
627 sas_device->sas_address_parent)) { in _scsih_sas_device_add()
628 _scsih_sas_device_remove(ioc, sas_device); in _scsih_sas_device_add()
629 } else if (!sas_device->starget) { in _scsih_sas_device_add()
636 sas_device->sas_address, in _scsih_sas_device_add()
637 sas_device->sas_address_parent); in _scsih_sas_device_add()
638 _scsih_sas_device_remove(ioc, sas_device); in _scsih_sas_device_add()
653 struct _sas_device *sas_device) in _scsih_sas_device_init_add() argument
659 sas_device->handle, (unsigned long long)sas_device->sas_address)); in _scsih_sas_device_init_add()
662 list_add_tail(&sas_device->list, &ioc->sas_device_init_list); in _scsih_sas_device_init_add()
663 _scsih_determine_boot_device(ioc, sas_device, 0); in _scsih_sas_device_init_add()
1197 struct _sas_device *sas_device; in _scsih_change_queue_depth() local
1212 sas_device = mpt2sas_scsih_sas_device_find_by_sas_address(ioc, in _scsih_change_queue_depth()
1214 if (sas_device && sas_device->device_info & in _scsih_change_queue_depth()
1240 struct _sas_device *sas_device; in _scsih_target_alloc() local
1274 sas_device = mpt2sas_scsih_sas_device_find_by_sas_address(ioc, in _scsih_target_alloc()
1277 if (sas_device) { in _scsih_target_alloc()
1278 sas_target_priv_data->handle = sas_device->handle; in _scsih_target_alloc()
1279 sas_target_priv_data->sas_address = sas_device->sas_address; in _scsih_target_alloc()
1280 sas_device->starget = starget; in _scsih_target_alloc()
1281 sas_device->id = starget->id; in _scsih_target_alloc()
1282 sas_device->channel = starget->channel; in _scsih_target_alloc()
1283 if (test_bit(sas_device->handle, ioc->pd_handles)) in _scsih_target_alloc()
1304 struct _sas_device *sas_device; in _scsih_target_destroy() local
1327 sas_device = mpt2sas_scsih_sas_device_find_by_sas_address(ioc, in _scsih_target_destroy()
1329 if (sas_device && (sas_device->starget == starget) && in _scsih_target_destroy()
1330 (sas_device->id == starget->id) && in _scsih_target_destroy()
1331 (sas_device->channel == starget->channel)) in _scsih_target_destroy()
1332 sas_device->starget = NULL; in _scsih_target_destroy()
1357 struct _sas_device *sas_device; in _scsih_slave_alloc() local
1389 sas_device = mpt2sas_scsih_sas_device_find_by_sas_address(ioc, in _scsih_slave_alloc()
1391 if (sas_device && (sas_device->starget == NULL)) { in _scsih_slave_alloc()
1395 sas_device->starget = starget; in _scsih_slave_alloc()
1416 struct _sas_device *sas_device; in _scsih_slave_destroy() local
1431 sas_device = mpt2sas_scsih_sas_device_find_by_sas_address(ioc, in _scsih_slave_destroy()
1433 if (sas_device && !sas_target_priv_data->num_luns) in _scsih_slave_destroy()
1434 sas_device->starget = NULL; in _scsih_slave_destroy()
1961 struct _sas_device *sas_device; in _scsih_slave_configure() local
2081 sas_device = mpt2sas_scsih_sas_device_find_by_sas_address(ioc, in _scsih_slave_configure()
2083 if (!sas_device) { in _scsih_slave_configure()
2090 sas_device->volume_handle = volume_handle; in _scsih_slave_configure()
2091 sas_device->volume_wwid = volume_wwid; in _scsih_slave_configure()
2092 if (sas_device->device_info & MPI2_SAS_DEVICE_INFO_SSP_TARGET) { in _scsih_slave_configure()
2098 if (sas_device->device_info & MPI2_SAS_DEVICE_INFO_STP_TARGET) in _scsih_slave_configure()
2100 else if (sas_device->device_info & in _scsih_slave_configure()
2106 ds, sas_device->handle, in _scsih_slave_configure()
2107 (unsigned long long)sas_device->sas_address, in _scsih_slave_configure()
2108 sas_device->phy, in _scsih_slave_configure()
2109 (unsigned long long)sas_device->device_name); in _scsih_slave_configure()
2112 (unsigned long long) sas_device->enclosure_logical_id, in _scsih_slave_configure()
2113 sas_device->slot); in _scsih_slave_configure()
2494 struct _sas_device *sas_device = NULL; in _scsih_tm_display_info() local
2512 sas_device = mpt2sas_scsih_sas_device_find_by_sas_address(ioc, in _scsih_tm_display_info()
2514 if (sas_device) { in _scsih_tm_display_info()
2520 sas_device->volume_handle, in _scsih_tm_display_info()
2521 (unsigned long long)sas_device->volume_wwid); in _scsih_tm_display_info()
2525 sas_device->handle, in _scsih_tm_display_info()
2526 (unsigned long long)sas_device->sas_address, in _scsih_tm_display_info()
2527 sas_device->phy); in _scsih_tm_display_info()
2530 (unsigned long long)sas_device->enclosure_logical_id, in _scsih_tm_display_info()
2531 sas_device->slot); in _scsih_tm_display_info()
2607 struct _sas_device *sas_device; in _scsih_dev_reset() local
2633 sas_device = _scsih_sas_device_find_by_handle(ioc, in _scsih_dev_reset()
2635 if (sas_device) in _scsih_dev_reset()
2636 handle = sas_device->volume_handle; in _scsih_dev_reset()
2668 struct _sas_device *sas_device; in _scsih_target_reset() local
2693 sas_device = _scsih_sas_device_find_by_handle(ioc, in _scsih_target_reset()
2695 if (sas_device) in _scsih_target_reset()
2696 handle = sas_device->volume_handle; in _scsih_target_reset()
2996 struct _sas_device *sas_device; in _scsih_block_io_to_children_attached_to_ex() local
3008 sas_device = in _scsih_block_io_to_children_attached_to_ex()
3011 if (sas_device) in _scsih_block_io_to_children_attached_to_ex()
3012 set_bit(sas_device->handle, in _scsih_block_io_to_children_attached_to_ex()
3083 struct _sas_device *sas_device; in _scsih_tm_tr_send() local
3113 sas_device = _scsih_sas_device_find_by_handle(ioc, handle); in _scsih_tm_tr_send()
3114 if (sas_device && sas_device->starget && in _scsih_tm_tr_send()
3115 sas_device->starget->hostdata) { in _scsih_tm_tr_send()
3116 sas_target_priv_data = sas_device->starget->hostdata; in _scsih_tm_tr_send()
3118 sas_address = sas_device->sas_address; in _scsih_tm_tr_send()
4070 struct _sas_device *sas_device = NULL; in _scsih_scsi_ioc_info() local
4204 sas_device = mpt2sas_scsih_sas_device_find_by_sas_address(ioc, in _scsih_scsi_ioc_info()
4206 if (sas_device) { in _scsih_scsi_ioc_info()
4208 "phy(%d)\n", ioc->name, sas_device->sas_address, in _scsih_scsi_ioc_info()
4209 sas_device->phy); in _scsih_scsi_ioc_info()
4212 ioc->name, sas_device->enclosure_logical_id, in _scsih_scsi_ioc_info()
4213 sas_device->slot); in _scsih_scsi_ioc_info()
4260 struct _sas_device *sas_device; in _scsih_turn_on_pfa_led() local
4262 sas_device = _scsih_sas_device_find_by_handle(ioc, handle); in _scsih_turn_on_pfa_led()
4263 if (!sas_device) in _scsih_turn_on_pfa_led()
4279 sas_device->pfa_led_on = 1; in _scsih_turn_on_pfa_led()
4301 struct _sas_device *sas_device) in _scsih_turn_off_pfa_led() argument
4310 mpi_request.Slot = cpu_to_le16(sas_device->slot); in _scsih_turn_off_pfa_led()
4312 mpi_request.EnclosureHandle = cpu_to_le16(sas_device->enclosure_handle); in _scsih_turn_off_pfa_led()
4367 struct _sas_device *sas_device; in _scsih_smart_predicted_fault() local
4373 sas_device = _scsih_sas_device_find_by_handle(ioc, handle); in _scsih_smart_predicted_fault()
4374 if (!sas_device) { in _scsih_smart_predicted_fault()
4378 starget = sas_device->starget; in _scsih_smart_predicted_fault()
5127 struct _sas_device *sas_device; in _scsih_check_device() local
5151 sas_device = mpt2sas_scsih_sas_device_find_by_sas_address(ioc, in _scsih_check_device()
5154 if (!sas_device) { in _scsih_check_device()
5161 if (unlikely(sas_device->handle != handle)) { in _scsih_check_device()
5162 starget = sas_device->starget; in _scsih_check_device()
5165 " to (0x%04x)!!!\n", sas_device->handle, handle); in _scsih_check_device()
5167 sas_device->handle = handle; in _scsih_check_device()
5207 struct _sas_device *sas_device; in _scsih_add_device() local
5255 sas_device = mpt2sas_scsih_sas_device_find_by_sas_address(ioc, in _scsih_add_device()
5259 if (sas_device) in _scsih_add_device()
5262 sas_device = kzalloc(sizeof(struct _sas_device), in _scsih_add_device()
5264 if (!sas_device) { in _scsih_add_device()
5270 sas_device->handle = handle; in _scsih_add_device()
5273 &sas_device->sas_address_parent) != 0) in _scsih_add_device()
5276 sas_device->enclosure_handle = in _scsih_add_device()
5278 sas_device->slot = in _scsih_add_device()
5280 sas_device->device_info = device_info; in _scsih_add_device()
5281 sas_device->sas_address = sas_address; in _scsih_add_device()
5282 sas_device->phy = sas_device_pg0.PhyNum; in _scsih_add_device()
5285 if (sas_device->enclosure_handle && !(mpt2sas_config_get_enclosure_pg0( in _scsih_add_device()
5287 sas_device->enclosure_handle))) in _scsih_add_device()
5288 sas_device->enclosure_logical_id = in _scsih_add_device()
5292 sas_device->device_name = le64_to_cpu(sas_device_pg0.DeviceName); in _scsih_add_device()
5295 _scsih_sas_device_init_add(ioc, sas_device); in _scsih_add_device()
5297 _scsih_sas_device_add(ioc, sas_device); in _scsih_add_device()
5311 struct _sas_device *sas_device) in _scsih_remove_device() argument
5316 (sas_device->pfa_led_on)) { in _scsih_remove_device()
5317 _scsih_turn_off_pfa_led(ioc, sas_device); in _scsih_remove_device()
5318 sas_device->pfa_led_on = 0; in _scsih_remove_device()
5323 sas_device->handle, (unsigned long long) in _scsih_remove_device()
5324 sas_device->sas_address)); in _scsih_remove_device()
5326 if (sas_device->starget && sas_device->starget->hostdata) { in _scsih_remove_device()
5327 sas_target_priv_data = sas_device->starget->hostdata; in _scsih_remove_device()
5329 _scsih_ublock_io_device(ioc, sas_device->sas_address); in _scsih_remove_device()
5336 sas_device->sas_address, in _scsih_remove_device()
5337 sas_device->sas_address_parent); in _scsih_remove_device()
5340 "(0x%016llx)\n", ioc->name, sas_device->handle, in _scsih_remove_device()
5341 (unsigned long long) sas_device->sas_address); in _scsih_remove_device()
5345 sas_device->handle, (unsigned long long) in _scsih_remove_device()
5346 sas_device->sas_address)); in _scsih_remove_device()
5347 kfree(sas_device); in _scsih_remove_device()
5359 struct _sas_device *sas_device; in _scsih_device_remove_by_handle() local
5366 sas_device = _scsih_sas_device_find_by_handle(ioc, handle); in _scsih_device_remove_by_handle()
5367 if (sas_device) in _scsih_device_remove_by_handle()
5368 list_del(&sas_device->list); in _scsih_device_remove_by_handle()
5370 if (sas_device) in _scsih_device_remove_by_handle()
5371 _scsih_remove_device(ioc, sas_device); in _scsih_device_remove_by_handle()
5385 struct _sas_device *sas_device; in mpt2sas_device_remove_by_sas_address() local
5392 sas_device = mpt2sas_scsih_sas_device_find_by_sas_address(ioc, in mpt2sas_device_remove_by_sas_address()
5394 if (sas_device) in mpt2sas_device_remove_by_sas_address()
5395 list_del(&sas_device->list); in mpt2sas_device_remove_by_sas_address()
5397 if (sas_device) in mpt2sas_device_remove_by_sas_address()
5398 _scsih_remove_device(ioc, sas_device); in mpt2sas_device_remove_by_sas_address()
5692 struct _sas_device *sas_device; in _scsih_sas_device_status_change_event() local
5719 sas_device = mpt2sas_scsih_sas_device_find_by_sas_address(ioc, in _scsih_sas_device_status_change_event()
5722 if (!sas_device || !sas_device->starget) { in _scsih_sas_device_status_change_event()
5727 target_priv_data = sas_device->starget->hostdata; in _scsih_sas_device_status_change_event()
6119 struct _sas_device *sas_device; in _scsih_sas_pd_expose() local
6126 sas_device = _scsih_sas_device_find_by_handle(ioc, handle); in _scsih_sas_pd_expose()
6127 if (sas_device) { in _scsih_sas_pd_expose()
6128 sas_device->volume_handle = 0; in _scsih_sas_pd_expose()
6129 sas_device->volume_wwid = 0; in _scsih_sas_pd_expose()
6131 if (sas_device->starget && sas_device->starget->hostdata) { in _scsih_sas_pd_expose()
6132 starget = sas_device->starget; in _scsih_sas_pd_expose()
6139 if (!sas_device) in _scsih_sas_pd_expose()
6159 struct _sas_device *sas_device; in _scsih_sas_pd_hide() local
6173 sas_device = _scsih_sas_device_find_by_handle(ioc, handle); in _scsih_sas_pd_hide()
6174 if (sas_device) { in _scsih_sas_pd_hide()
6176 if (sas_device->starget && sas_device->starget->hostdata) { in _scsih_sas_pd_hide()
6177 starget = sas_device->starget; in _scsih_sas_pd_hide()
6181 sas_device->volume_handle = volume_handle; in _scsih_sas_pd_hide()
6182 sas_device->volume_wwid = volume_wwid; in _scsih_sas_pd_hide()
6186 if (!sas_device) in _scsih_sas_pd_hide()
6223 struct _sas_device *sas_device; in _scsih_sas_pd_add() local
6235 sas_device = _scsih_sas_device_find_by_handle(ioc, handle); in _scsih_sas_pd_add()
6237 if (sas_device) in _scsih_sas_pd_add()
6511 struct _sas_device *sas_device; in _scsih_sas_ir_physical_disk_event() local
6546 sas_device = _scsih_sas_device_find_by_handle(ioc, handle); in _scsih_sas_ir_physical_disk_event()
6549 if (sas_device) in _scsih_sas_ir_physical_disk_event()
6706 struct _sas_device *sas_device; in _scsih_mark_responding_sas_device() local
6710 list_for_each_entry(sas_device, &ioc->sas_device_list, list) { in _scsih_mark_responding_sas_device()
6711 if (sas_device->sas_address == sas_address && in _scsih_mark_responding_sas_device()
6712 sas_device->slot == slot) { in _scsih_mark_responding_sas_device()
6713 sas_device->responding = 1; in _scsih_mark_responding_sas_device()
6714 starget = sas_device->starget; in _scsih_mark_responding_sas_device()
6726 (unsigned long long)sas_device->sas_address, in _scsih_mark_responding_sas_device()
6728 sas_device->enclosure_logical_id, in _scsih_mark_responding_sas_device()
6729 sas_device->slot); in _scsih_mark_responding_sas_device()
6730 if (sas_device->handle == handle) in _scsih_mark_responding_sas_device()
6733 sas_device->handle); in _scsih_mark_responding_sas_device()
6734 sas_device->handle = handle; in _scsih_mark_responding_sas_device()
7013 struct _sas_device *sas_device, *sas_device_next; in _scsih_remove_unresponding_sas_devices() local
7025 list_for_each_entry_safe(sas_device, sas_device_next, in _scsih_remove_unresponding_sas_devices()
7027 if (!sas_device->responding) in _scsih_remove_unresponding_sas_devices()
7029 sas_device->sas_address); in _scsih_remove_unresponding_sas_devices()
7031 sas_device->responding = 0; in _scsih_remove_unresponding_sas_devices()
7113 struct _sas_device *sas_device; in _scsih_scan_for_devices_after_reset() local
7183 sas_device = _scsih_sas_device_find_by_handle(ioc, handle); in _scsih_scan_for_devices_after_reset()
7185 if (sas_device) in _scsih_scan_for_devices_after_reset()
7306 sas_device = mpt2sas_scsih_sas_device_find_by_sas_address(ioc, in _scsih_scan_for_devices_after_reset()
7309 if (sas_device) in _scsih_scan_for_devices_after_reset()
7887 struct _sas_device *sas_device; in _scsih_probe_boot_devices() local
7923 sas_device = device; in _scsih_probe_boot_devices()
7924 handle = sas_device->handle; in _scsih_probe_boot_devices()
7925 sas_address_parent = sas_device->sas_address_parent; in _scsih_probe_boot_devices()
7926 sas_address = sas_device->sas_address; in _scsih_probe_boot_devices()
7927 list_move_tail(&sas_device->list, &ioc->sas_device_list); in _scsih_probe_boot_devices()
7932 if (!mpt2sas_transport_port_add(ioc, sas_device->handle, in _scsih_probe_boot_devices()
7933 sas_device->sas_address_parent)) { in _scsih_probe_boot_devices()
7934 _scsih_sas_device_remove(ioc, sas_device); in _scsih_probe_boot_devices()
7935 } else if (!sas_device->starget) { in _scsih_probe_boot_devices()
7940 _scsih_sas_device_remove(ioc, sas_device); in _scsih_probe_boot_devices()
7978 struct _sas_device *sas_device, *next; in _scsih_probe_sas() local
7982 list_for_each_entry_safe(sas_device, next, &ioc->sas_device_init_list, in _scsih_probe_sas()
7988 if (!mpt2sas_transport_port_add(ioc, sas_device->handle, in _scsih_probe_sas()
7989 sas_device->sas_address_parent)) { in _scsih_probe_sas()
7990 list_del(&sas_device->list); in _scsih_probe_sas()
7991 kfree(sas_device); in _scsih_probe_sas()
7993 } else if (!sas_device->starget) { in _scsih_probe_sas()
7996 sas_device->sas_address, in _scsih_probe_sas()
7997 sas_device->sas_address_parent); in _scsih_probe_sas()
7998 list_del(&sas_device->list); in _scsih_probe_sas()
7999 kfree(sas_device); in _scsih_probe_sas()
8004 list_move_tail(&sas_device->list, &ioc->sas_device_list); in _scsih_probe_sas()