Lines Matching defs:raid_map

1418 	struct pqi_scsi_dev *device, struct raid_map *raid_map)
1424 raid_map_size = get_unaligned_le32(&raid_map->structure_size);
1426 if (raid_map_size < offsetof(struct raid_map, disk_data)) {
1432 if (get_unaligned_le16(&raid_map->layout_map_count) != 2) {
1437 if (get_unaligned_le16(&raid_map->layout_map_count) != 3) {
1443 get_unaligned_le16(&raid_map->layout_map_count) > 1) {
1446 get_unaligned_le16(&raid_map->strip_size) *
1447 get_unaligned_le16(&raid_map->data_disks_per_row);
1470 struct raid_map *raid_map;
1472 raid_map = kmalloc(sizeof(*raid_map), GFP_KERNEL);
1473 if (!raid_map)
1477 device->scsi3addr, raid_map, sizeof(*raid_map), 0, NULL);
1481 raid_map_size = get_unaligned_le32(&raid_map->structure_size);
1483 if (raid_map_size > sizeof(*raid_map)) {
1485 kfree(raid_map);
1487 raid_map = kmalloc(raid_map_size, GFP_KERNEL);
1488 if (!raid_map)
1492 device->scsi3addr, raid_map, raid_map_size, 0, NULL);
1496 if (get_unaligned_le32(&raid_map->structure_size)
1501 get_unaligned_le32(&raid_map->structure_size));
1507 rc = pqi_validate_raid_map(ctrl_info, device, raid_map);
1511 device->raid_map = raid_map;
1516 kfree(raid_map);
1581 if (get_unaligned_le16(&device->raid_map->flags) &
2049 static bool pqi_raid_maps_equal(struct raid_map *raid_map1, struct raid_map *raid_map2)
2096 if (!pqi_raid_maps_equal(existing_device->raid_map, new_device->raid_map)) {
2097 kfree(existing_device->raid_map);
2098 existing_device->raid_map = new_device->raid_map;
2100 new_device->raid_map = NULL;
2124 kfree(device->raid_map);
2622 struct raid_map *raid_map, u64 first_block)
2631 volume_blk_size = get_unaligned_le32(&raid_map->volume_blk_size);
2636 get_unaligned_le16(&raid_map->data_encryption_key_index);
2730 struct pqi_scsi_dev_raid_map_data *rmd, struct raid_map *raid_map)
2740 get_unaligned_le64(&raid_map->volume_blk_cnt) ||
2745 get_unaligned_le16(&raid_map->data_disks_per_row);
2746 rmd->strip_size = get_unaligned_le16(&raid_map->strip_size);
2747 rmd->layout_map_count = get_unaligned_le16(&raid_map->layout_map_count);
2786 get_unaligned_le16(&raid_map->metadata_disks_per_row);
2788 raid_map->parity_rotation_shift)) %
2789 get_unaligned_le16(&raid_map->row_cnt);
2797 struct raid_map *raid_map)
2880 ((u32)(rmd->first_row >> raid_map->parity_rotation_shift)) %
2881 get_unaligned_le16(&raid_map->row_cnt);
2884 (get_unaligned_le16(&raid_map->row_cnt) *
2893 * parity entries inside the device's raid_map.
2902 index -= get_unaligned_le16(&raid_map->metadata_disks_per_row);
2904 rmd->p_parity_it_nexus = raid_map->disk_data[index].aio_handle;
2906 rmd->q_parity_it_nexus = raid_map->disk_data[index + 1].aio_handle;
2907 rmd->xor_mult = raid_map->disk_data[rmd->map_index].xor_mult[1];
2943 static void pqi_calc_aio_r1_nexus(struct raid_map *raid_map,
2952 rmd->it_nexus[0] = raid_map->disk_data[index].aio_handle;
2954 rmd->it_nexus[1] = raid_map->disk_data[index].aio_handle;
2957 rmd->it_nexus[2] = raid_map->disk_data[index].aio_handle;
2968 struct raid_map *raid_map;
2987 raid_map = device->raid_map;
2989 rc = pci_get_aio_common_raid_map_values(ctrl_info, &rmd, raid_map);
2996 pqi_calc_aio_r1_nexus(raid_map, &rmd);
3008 rc = pqi_calc_aio_r5_or_r6(&rmd, raid_map);
3016 rmd.aio_handle = raid_map->disk_data[rmd.map_index].aio_handle;
3017 rmd.disk_block = get_unaligned_le64(&raid_map->disk_starting_blk) +
3023 if (raid_map->phys_blk_shift) {
3024 rmd.disk_block <<= raid_map->phys_blk_shift;
3025 rmd.disk_block_cnt <<= raid_map->phys_blk_shift;
3033 if (get_unaligned_le16(&raid_map->flags) & RAID_MAP_ENCRYPTION_ENABLED) {
3036 pqi_set_encryption_info(&encryption_info, raid_map, rmd.first_block);