Lines Matching full:fusion
171 /* Fusion */
263 * Fusion registers could intermittently return all zeroes. in megasas_readl()
349 struct fusion_context *fusion = instance->ctrl_context; in megasas_return_cmd() local
351 /* This flag is used only for fusion adapter. in megasas_return_cmd()
359 if (fusion) { in megasas_return_cmd()
361 cmd_fusion = fusion->cmd_list[blk_tags]; in megasas_return_cmd()
369 if (!fusion && reset_devices) in megasas_return_cmd()
1110 * Template added for TB (Fusion)
1896 struct fusion_context *fusion; in megasas_set_dynamic_target_properties() local
1903 fusion = instance->ctrl_context; in megasas_set_dynamic_target_properties()
1906 if (!fusion || !mr_device_priv_data) in megasas_set_dynamic_target_properties()
1912 local_map_ptr = fusion->ld_drv_map[(instance->map_id & 1)]; in megasas_set_dynamic_target_properties()
1930 pd_sync = (void *)fusion->pd_seq_sync in megasas_set_dynamic_target_properties()
2191 struct fusion_context *fusion = instance->ctrl_context; in megasas_complete_outstanding_ioctls() local
2194 if (fusion) { in megasas_complete_outstanding_ioctls()
2196 cmd_fusion = fusion->cmd_list[i]; in megasas_complete_outstanding_ioctls()
3093 * (supported only for fusion adapters)
3115 * (supported only for fusion adapters)
3604 struct fusion_context *fusion = instance->ctrl_context; in megasas_complete_cmd() local
3717 fusion->fast_path_io = 0; in megasas_complete_cmd()
3744 fusion->fast_path_io = 1; in megasas_complete_cmd()
3746 fusion->fast_path_io = 0; in megasas_complete_cmd()
4347 * Fusion adapter require only 3 extra frame. in megasas_create_frame_pool()
4518 * Return 0 for only Fusion adapter, if driver load/unload is not in progress
5120 struct fusion_context *fusion; in megasas_update_ext_vd_details() local
5123 fusion = instance->ctrl_context; in megasas_update_ext_vd_details()
5125 if (!fusion) in megasas_update_ext_vd_details()
5154 fusion->current_map_sz = ventura_map_sz; in megasas_update_ext_vd_details()
5155 fusion->max_map_sz = ventura_map_sz; in megasas_update_ext_vd_details()
5157 fusion->old_map_sz = in megasas_update_ext_vd_details()
5160 fusion->new_map_sz = sizeof(struct MR_FW_RAID_MAP_EXT); in megasas_update_ext_vd_details()
5162 fusion->max_map_sz = in megasas_update_ext_vd_details()
5163 max(fusion->old_map_sz, fusion->new_map_sz); in megasas_update_ext_vd_details()
5166 fusion->current_map_sz = fusion->new_map_sz; in megasas_update_ext_vd_details()
5168 fusion->current_map_sz = fusion->old_map_sz; in megasas_update_ext_vd_details()
5171 fusion->drv_map_sz = sizeof(struct MR_DRV_RAID_MAP_ALL); in megasas_update_ext_vd_details()
5791 struct fusion_context *fusion = instance->ctrl_context; in megasas_setup_jbod_map() local
5799 if (reset_devices || !fusion || in megasas_setup_jbod_map()
5808 if (fusion->pd_seq_sync[0]) in megasas_setup_jbod_map()
5812 fusion->pd_seq_sync[i] = dma_alloc_coherent in megasas_setup_jbod_map()
5814 &fusion->pd_seq_phys[i], GFP_KERNEL); in megasas_setup_jbod_map()
5815 if (!fusion->pd_seq_sync[i]) { in megasas_setup_jbod_map()
5821 pd_seq_map_sz, fusion->pd_seq_sync[0], in megasas_setup_jbod_map()
5822 fusion->pd_seq_phys[0]); in megasas_setup_jbod_map()
5823 fusion->pd_seq_sync[0] = NULL; in megasas_setup_jbod_map()
6030 struct fusion_context *fusion; in megasas_init_fw() local
6035 fusion = instance->ctrl_context; in megasas_init_fw()
6127 fusion = instance->ctrl_context; in megasas_init_fw()
6142 fusion->pcie_bw_limitation = true; in megasas_init_fw()
6145 fusion->r56_div_offload = true; in megasas_init_fw()
6159 if (fusion) { in megasas_init_fw()
6231 * For rest of fusion adapters, 1 additional reply queue will be in megasas_init_fw()
6261 fusion->pcie_bw_limitation = true; in megasas_init_fw()
6330 * non-fusion based controllers in megasas_init_fw()
6374 fusion->stream_detect_by_ld = in megasas_init_fw()
6378 if (!fusion->stream_detect_by_ld) { in megasas_init_fw()
6384 fusion->stream_detect_by_ld[i] = in megasas_init_fw()
6387 if (!fusion->stream_detect_by_ld[i]) { in megasas_init_fw()
6391 kfree(fusion->stream_detect_by_ld[j]); in megasas_init_fw()
6392 kfree(fusion->stream_detect_by_ld); in megasas_init_fw()
6393 fusion->stream_detect_by_ld = NULL; in megasas_init_fw()
6396 fusion->stream_detect_by_ld[i]->mru_bit_map in megasas_init_fw()
6425 struct fusion_context *fusion = instance->ctrl_context; in megasas_init_fw() local
6427 fusion->fast_path_io = 1; in megasas_init_fw()
6429 fusion->fast_path_io = 0; in megasas_init_fw()
6953 /* Use shared host tagset only for fusion adaptors in megasas_io_attach()
7136 * adapters and fusion adapters.
7138 * consumer buffers. For fusion adapters, allocate
7139 * memory for fusion context.
7168 * megasas_free_ctrl_mem - Free fusion context for fusion adapters and
7203 struct fusion_context *fusion = instance->ctrl_context; in megasas_alloc_ctrl_dma_buffers() local
7215 if (fusion) { in megasas_alloc_ctrl_dma_buffers()
7216 fusion->ioc_init_request = in megasas_alloc_ctrl_dma_buffers()
7219 &fusion->ioc_init_request_phys, in megasas_alloc_ctrl_dma_buffers()
7222 if (!fusion->ioc_init_request) { in megasas_alloc_ctrl_dma_buffers()
7339 struct fusion_context *fusion = instance->ctrl_context; in megasas_free_ctrl_dma_buffers() local
7346 if (fusion && fusion->ioc_init_request) in megasas_free_ctrl_dma_buffers()
7349 fusion->ioc_init_request, in megasas_free_ctrl_dma_buffers()
7350 fusion->ioc_init_request_phys); in megasas_free_ctrl_dma_buffers()
7968 struct fusion_context *fusion; in megasas_detach_one() local
7977 fusion = instance->ctrl_context; in megasas_detach_one()
8033 kfree(fusion->stream_detect_by_ld[i]); in megasas_detach_one()
8034 kfree(fusion->stream_detect_by_ld); in megasas_detach_one()
8035 fusion->stream_detect_by_ld = NULL; in megasas_detach_one()
8045 if (fusion->ld_map[i]) in megasas_detach_one()
8047 fusion->max_map_sz, in megasas_detach_one()
8048 fusion->ld_map[i], in megasas_detach_one()
8049 fusion->ld_map_phys[i]); in megasas_detach_one()
8050 if (fusion->ld_drv_map[i]) { in megasas_detach_one()
8051 if (is_vmalloc_addr(fusion->ld_drv_map[i])) in megasas_detach_one()
8052 vfree(fusion->ld_drv_map[i]); in megasas_detach_one()
8054 free_pages((ulong)fusion->ld_drv_map[i], in megasas_detach_one()
8055 fusion->drv_map_pages); in megasas_detach_one()
8058 if (fusion->pd_seq_sync[i]) in megasas_detach_one()
8061 fusion->pd_seq_sync[i], in megasas_detach_one()
8062 fusion->pd_seq_phys[i]); in megasas_detach_one()