Lines Matching refs:raid_device

455 	struct _raid_device *raid_device;  in _scsih_determine_boot_device()  local
476 raid_device = device; in _scsih_determine_boot_device()
477 sas_address = raid_device->wwid; in _scsih_determine_boot_device()
680 struct _raid_device *raid_device, *r; in _scsih_raid_device_find_by_id() local
683 list_for_each_entry(raid_device, &ioc->raid_device_list, list) { in _scsih_raid_device_find_by_id()
684 if (raid_device->id == id && raid_device->channel == channel) { in _scsih_raid_device_find_by_id()
685 r = raid_device; in _scsih_raid_device_find_by_id()
706 struct _raid_device *raid_device, *r; in _scsih_raid_device_find_by_handle() local
709 list_for_each_entry(raid_device, &ioc->raid_device_list, list) { in _scsih_raid_device_find_by_handle()
710 if (raid_device->handle != handle) in _scsih_raid_device_find_by_handle()
712 r = raid_device; in _scsih_raid_device_find_by_handle()
732 struct _raid_device *raid_device, *r; in _scsih_raid_device_find_by_wwid() local
735 list_for_each_entry(raid_device, &ioc->raid_device_list, list) { in _scsih_raid_device_find_by_wwid()
736 if (raid_device->wwid != wwid) in _scsih_raid_device_find_by_wwid()
738 r = raid_device; in _scsih_raid_device_find_by_wwid()
755 struct _raid_device *raid_device) in _scsih_raid_device_add() argument
761 raid_device->handle, (unsigned long long)raid_device->wwid)); in _scsih_raid_device_add()
764 list_add_tail(&raid_device->list, &ioc->raid_device_list); in _scsih_raid_device_add()
776 struct _raid_device *raid_device) in _scsih_raid_device_remove() argument
781 list_del(&raid_device->list); in _scsih_raid_device_remove()
782 kfree(raid_device); in _scsih_raid_device_remove()
1241 struct _raid_device *raid_device; in _scsih_target_alloc() local
1257 raid_device = _scsih_raid_device_find_by_id(ioc, starget->id, in _scsih_target_alloc()
1259 if (raid_device) { in _scsih_target_alloc()
1260 sas_target_priv_data->handle = raid_device->handle; in _scsih_target_alloc()
1261 sas_target_priv_data->sas_address = raid_device->wwid; in _scsih_target_alloc()
1264 sas_target_priv_data->raid_device = raid_device; in _scsih_target_alloc()
1265 raid_device->starget = starget; in _scsih_target_alloc()
1305 struct _raid_device *raid_device; in _scsih_target_destroy() local
1315 raid_device = _scsih_raid_device_find_by_id(ioc, starget->id, in _scsih_target_destroy()
1317 if (raid_device) { in _scsih_target_destroy()
1318 raid_device->starget = NULL; in _scsih_target_destroy()
1319 raid_device->sdev = NULL; in _scsih_target_destroy()
1356 struct _raid_device *raid_device; in _scsih_slave_alloc() local
1380 raid_device = _scsih_raid_device_find_by_id(ioc, in _scsih_slave_alloc()
1382 if (raid_device) in _scsih_slave_alloc()
1383 raid_device->sdev = sdev; /* raid is single lun */ in _scsih_slave_alloc()
1512 static struct _raid_device *raid_device; in _scsih_get_resync() local
1526 raid_device = _scsih_raid_device_find_by_id(ioc, sdev->id, in _scsih_get_resync()
1528 if (raid_device) { in _scsih_get_resync()
1529 handle = raid_device->handle; in _scsih_get_resync()
1530 percent_complete = raid_device->percent_complete; in _scsih_get_resync()
1564 static struct _raid_device *raid_device; in _scsih_get_state() local
1573 raid_device = _scsih_raid_device_find_by_id(ioc, sdev->id, in _scsih_get_state()
1575 if (raid_device) in _scsih_get_state()
1576 handle = raid_device->handle; in _scsih_get_state()
1579 if (!raid_device) in _scsih_get_state()
1650 struct _raid_device *raid_device) in _scsih_get_volume_capabilities() argument
1659 if ((mpt2sas_config_get_number_pds(ioc, raid_device->handle, in _scsih_get_volume_capabilities()
1667 raid_device->num_pds = num_pds; in _scsih_get_volume_capabilities()
1679 MPI2_RAID_VOLUME_PGAD_FORM_HANDLE, raid_device->handle, sz))) { in _scsih_get_volume_capabilities()
1687 raid_device->volume_type = vol_pg0->VolumeType; in _scsih_get_volume_capabilities()
1698 raid_device->device_info = in _scsih_get_volume_capabilities()
1715 struct _raid_device *raid_device; in _scsih_disable_ddio() local
1729 raid_device = _scsih_raid_device_find_by_handle(ioc, handle); in _scsih_disable_ddio()
1730 if (raid_device) in _scsih_disable_ddio()
1731 raid_device->direct_io_enabled = 0; in _scsih_disable_ddio()
1772 struct _raid_device *raid_device) in _scsih_init_warpdrive_properties() argument
1797 if ((mpt2sas_config_get_number_pds(ioc, raid_device->handle, in _scsih_init_warpdrive_properties()
1814 MPI2_RAID_VOLUME_PGAD_FORM_HANDLE, raid_device->handle, sz))) { in _scsih_init_warpdrive_properties()
1828 "max_mem_allowed=%d\n", ioc->name, raid_device->handle, in _scsih_init_warpdrive_properties()
1842 ioc->name, raid_device->handle, in _scsih_init_warpdrive_properties()
1852 ioc->name, raid_device->handle, in _scsih_init_warpdrive_properties()
1858 raid_device->pd_handle[count] = le16_to_cpu(pd_pg0.DevHandle); in _scsih_init_warpdrive_properties()
1865 if (raid_device->volume_type != MPI2_RAID_VOL_TYPE_RAID0) { in _scsih_init_warpdrive_properties()
1869 raid_device->handle, raid_device->volume_type, in _scsih_init_warpdrive_properties()
1881 ioc->name, raid_device->handle, in _scsih_init_warpdrive_properties()
1886 raid_device->stripe_exponent = stripe_exp; in _scsih_init_warpdrive_properties()
1892 ioc->name, raid_device->handle, in _scsih_init_warpdrive_properties()
1896 raid_device->block_exponent = block_exp; in _scsih_init_warpdrive_properties()
1897 raid_device->direct_io_enabled = 1; in _scsih_init_warpdrive_properties()
1900 " with handle(0x%04x)\n", ioc->name, raid_device->handle); in _scsih_init_warpdrive_properties()
1905 raid_device->max_lba = le64_to_cpu(vol_pg0->MaxLBA); in _scsih_init_warpdrive_properties()
1906 raid_device->stripe_sz = le32_to_cpu(vol_pg0->StripeSize); in _scsih_init_warpdrive_properties()
1907 raid_device->block_sz = le16_to_cpu(vol_pg0->BlockSize); in _scsih_init_warpdrive_properties()
1914 raid_device->direct_io_enabled = 0; in _scsih_init_warpdrive_properties()
1916 raid_device->pd_handle[count] = 0; in _scsih_init_warpdrive_properties()
1962 struct _raid_device *raid_device; in _scsih_slave_configure() local
1982 raid_device = _scsih_raid_device_find_by_handle(ioc, handle); in _scsih_slave_configure()
1984 if (!raid_device) { in _scsih_slave_configure()
1991 if (_scsih_get_volume_capabilities(ioc, raid_device)) { in _scsih_slave_configure()
2000 _scsih_init_warpdrive_properties(ioc, raid_device); in _scsih_slave_configure()
2007 if (raid_device->device_info & in _scsih_slave_configure()
2013 if (raid_device->device_info & in _scsih_slave_configure()
2020 switch (raid_device->volume_type) { in _scsih_slave_configure()
2029 !(raid_device->num_pds % 2)) in _scsih_slave_configure()
2052 r_level, raid_device->handle, in _scsih_slave_configure()
2053 (unsigned long long)raid_device->wwid, in _scsih_slave_configure()
2054 raid_device->num_pds, ds); in _scsih_slave_configure()
2058 _scsih_set_level(sdev, raid_device->volume_type); in _scsih_slave_configure()
3508 struct _raid_device *raid_device; in _scsih_set_volume_delete_flag() local
3513 raid_device = _scsih_raid_device_find_by_handle(ioc, handle); in _scsih_set_volume_delete_flag()
3514 if (raid_device && raid_device->starget && in _scsih_set_volume_delete_flag()
3515 raid_device->starget->hostdata) { in _scsih_set_volume_delete_flag()
3517 raid_device->starget->hostdata; in _scsih_set_volume_delete_flag()
3522 (unsigned long long) raid_device->wwid)); in _scsih_set_volume_delete_flag()
3842 struct _raid_device *raid_device, Mpi2SCSIIORequest_t *mpi_request, in _scsih_setup_direct_io() argument
3858 io_size = scsi_bufflen(scmd) >> raid_device->block_exponent; in _scsih_setup_direct_io()
3860 if (v_lba + io_size - 1 > raid_device->max_lba) in _scsih_setup_direct_io()
3863 stripe_sz = raid_device->stripe_sz; in _scsih_setup_direct_io()
3864 stripe_exp = raid_device->stripe_exponent; in _scsih_setup_direct_io()
3871 num_pds = raid_device->num_pds; in _scsih_setup_direct_io()
3876 mpi_request->DevHandle = cpu_to_le16(raid_device->pd_handle[column]); in _scsih_setup_direct_io()
3904 struct _raid_device *raid_device; in _scsih_qcmd() local
4004 raid_device = sas_target_priv_data->raid_device; in _scsih_qcmd()
4005 if (raid_device && raid_device->direct_io_enabled) in _scsih_qcmd()
4006 _scsih_setup_direct_io(ioc, scmd, raid_device, mpi_request, in _scsih_qcmd()
6026 struct _raid_device *raid_device; in _scsih_sas_volume_add() local
6041 raid_device = _scsih_raid_device_find_by_wwid(ioc, wwid); in _scsih_sas_volume_add()
6044 if (raid_device) in _scsih_sas_volume_add()
6047 raid_device = kzalloc(sizeof(struct _raid_device), GFP_KERNEL); in _scsih_sas_volume_add()
6048 if (!raid_device) { in _scsih_sas_volume_add()
6055 raid_device->id = ioc->sas_id++; in _scsih_sas_volume_add()
6056 raid_device->channel = RAID_CHANNEL; in _scsih_sas_volume_add()
6057 raid_device->handle = handle; in _scsih_sas_volume_add()
6058 raid_device->wwid = wwid; in _scsih_sas_volume_add()
6059 _scsih_raid_device_add(ioc, raid_device); in _scsih_sas_volume_add()
6062 raid_device->id, 0); in _scsih_sas_volume_add()
6064 _scsih_raid_device_remove(ioc, raid_device); in _scsih_sas_volume_add()
6067 _scsih_determine_boot_device(ioc, raid_device, 1); in _scsih_sas_volume_add()
6083 struct _raid_device *raid_device; in _scsih_sas_volume_delete() local
6089 raid_device = _scsih_raid_device_find_by_handle(ioc, handle); in _scsih_sas_volume_delete()
6090 if (raid_device) { in _scsih_sas_volume_delete()
6091 if (raid_device->starget) { in _scsih_sas_volume_delete()
6092 starget = raid_device->starget; in _scsih_sas_volume_delete()
6097 "(0x%016llx)\n", ioc->name, raid_device->handle, in _scsih_sas_volume_delete()
6098 (unsigned long long) raid_device->wwid); in _scsih_sas_volume_delete()
6099 list_del(&raid_device->list); in _scsih_sas_volume_delete()
6100 kfree(raid_device); in _scsih_sas_volume_delete()
6426 struct _raid_device *raid_device; in _scsih_sas_ir_volume_event() local
6458 raid_device = _scsih_raid_device_find_by_handle(ioc, handle); in _scsih_sas_ir_volume_event()
6461 if (raid_device) in _scsih_sas_ir_volume_event()
6472 raid_device = kzalloc(sizeof(struct _raid_device), GFP_KERNEL); in _scsih_sas_ir_volume_event()
6473 if (!raid_device) { in _scsih_sas_ir_volume_event()
6480 raid_device->id = ioc->sas_id++; in _scsih_sas_ir_volume_event()
6481 raid_device->channel = RAID_CHANNEL; in _scsih_sas_ir_volume_event()
6482 raid_device->handle = handle; in _scsih_sas_ir_volume_event()
6483 raid_device->wwid = wwid; in _scsih_sas_ir_volume_event()
6484 _scsih_raid_device_add(ioc, raid_device); in _scsih_sas_ir_volume_event()
6486 raid_device->id, 0); in _scsih_sas_ir_volume_event()
6488 _scsih_raid_device_remove(ioc, raid_device); in _scsih_sas_ir_volume_event()
6644 static struct _raid_device *raid_device; in _scsih_sas_ir_operation_status_event() local
6660 raid_device = _scsih_raid_device_find_by_handle(ioc, handle); in _scsih_sas_ir_operation_status_event()
6661 if (raid_device) in _scsih_sas_ir_operation_status_event()
6662 raid_device->percent_complete = in _scsih_sas_ir_operation_status_event()
6808 struct _raid_device *raid_device; in _scsih_mark_responding_raid_device() local
6812 list_for_each_entry(raid_device, &ioc->raid_device_list, list) { in _scsih_mark_responding_raid_device()
6813 if (raid_device->wwid == wwid && raid_device->starget) { in _scsih_mark_responding_raid_device()
6814 starget = raid_device->starget; in _scsih_mark_responding_raid_device()
6820 raid_device->responding = 1; in _scsih_mark_responding_raid_device()
6822 starget_printk(KERN_INFO, raid_device->starget, in _scsih_mark_responding_raid_device()
6824 (unsigned long long)raid_device->wwid); in _scsih_mark_responding_raid_device()
6830 _scsih_init_warpdrive_properties(ioc, raid_device); in _scsih_mark_responding_raid_device()
6832 if (raid_device->handle == handle) { in _scsih_mark_responding_raid_device()
6838 raid_device->handle); in _scsih_mark_responding_raid_device()
6839 raid_device->handle = handle; in _scsih_mark_responding_raid_device()
7015 struct _raid_device *raid_device, *raid_device_next; in _scsih_remove_unresponding_sas_devices() local
7038 list_for_each_entry_safe(raid_device, raid_device_next, in _scsih_remove_unresponding_sas_devices()
7040 if (!raid_device->responding) in _scsih_remove_unresponding_sas_devices()
7042 raid_device->handle); in _scsih_remove_unresponding_sas_devices()
7044 raid_device->responding = 0; in _scsih_remove_unresponding_sas_devices()
7115 static struct _raid_device *raid_device; in _scsih_scan_for_devices_after_reset() local
7246 raid_device = _scsih_raid_device_find_by_wwid(ioc, in _scsih_scan_for_devices_after_reset()
7249 if (raid_device) in _scsih_scan_for_devices_after_reset()
7814 struct _raid_device *raid_device, *next; in _scsih_remove() local
7831 list_for_each_entry_safe(raid_device, next, &ioc->raid_device_list, in _scsih_remove()
7833 if (raid_device->starget) { in _scsih_remove()
7835 raid_device->starget->hostdata; in _scsih_remove()
7837 scsi_remove_target(&raid_device->starget->dev); in _scsih_remove()
7840 "(0x%016llx)\n", ioc->name, raid_device->handle, in _scsih_remove()
7841 (unsigned long long) raid_device->wwid); in _scsih_remove()
7842 _scsih_raid_device_remove(ioc, raid_device); in _scsih_remove()
7888 struct _raid_device *raid_device; in _scsih_probe_boot_devices() local
7916 raid_device = device; in _scsih_probe_boot_devices()
7918 raid_device->id, 0); in _scsih_probe_boot_devices()
7920 _scsih_raid_device_remove(ioc, raid_device); in _scsih_probe_boot_devices()
7955 struct _raid_device *raid_device, *raid_next; in _scsih_probe_raid() local
7958 list_for_each_entry_safe(raid_device, raid_next, in _scsih_probe_raid()
7960 if (raid_device->starget) in _scsih_probe_raid()
7963 raid_device->id, 0); in _scsih_probe_raid()
7965 _scsih_raid_device_remove(ioc, raid_device); in _scsih_probe_raid()