| /linux/drivers/gpu/drm/imagination/ ! |
| H A D | pvr_device.c | 55 pvr_device_reg_init(struct pvr_device *pvr_dev) in pvr_device_reg_init() argument 57 struct drm_device *drm_dev = from_pvr_device(pvr_dev); in pvr_device_reg_init() 62 pvr_dev->regs_resource = NULL; in pvr_device_reg_init() 63 pvr_dev->regs = NULL; in pvr_device_reg_init() 70 pvr_dev->regs = regs; in pvr_device_reg_init() 71 pvr_dev->regs_resource = regs_resource; in pvr_device_reg_init() 97 static int pvr_device_clk_init(struct pvr_device *pvr_dev) in pvr_device_clk_init() argument 99 struct drm_device *drm_dev = from_pvr_device(pvr_dev); in pvr_device_clk_init() 119 pvr_dev->core_clk = core_clk; in pvr_device_clk_init() 120 pvr_dev->sys_clk = sys_clk; in pvr_device_clk_init() [all …]
|
| H A D | pvr_power.c | 39 pvr_device_lost(struct pvr_device *pvr_dev) in pvr_device_lost() argument 41 if (!pvr_dev->lost) { in pvr_device_lost() 42 pvr_dev->lost = true; in pvr_device_lost() 43 drm_dev_unplug(from_pvr_device(pvr_dev)); in pvr_device_lost() 48 pvr_power_send_command(struct pvr_device *pvr_dev, struct rogue_fwif_kccb_cmd *pow_cmd) in pvr_power_send_command() argument 50 struct pvr_fw_device *fw_dev = &pvr_dev->fw_dev; in pvr_power_send_command() 57 err = pvr_kccb_send_cmd_powered(pvr_dev, pow_cmd, &slot_nr); in pvr_power_send_command() 62 return readl_poll_timeout(pvr_dev->fw_dev.power_sync, value, value != 0, 100, in pvr_power_send_command() 67 pvr_power_request_idle(struct pvr_device *pvr_dev) in pvr_power_request_idle() argument 76 return pvr_power_send_command(pvr_dev, &pow_cmd); in pvr_power_request_idle() [all …]
|
| H A D | pvr_fw_startstop.c | 20 rogue_axi_ace_list_init(struct pvr_device *pvr_dev) in rogue_axi_ace_list_init() argument 33 pvr_cr_write64(pvr_dev, ROGUE_CR_AXI_ACE_LITE_CONFIGURATION, reg_val); in rogue_axi_ace_list_init() 37 rogue_bif_init(struct pvr_device *pvr_dev) in rogue_bif_init() argument 43 pc_dma_addr = pvr_vm_get_page_table_root_addr(pvr_dev->kernel_vm_ctx); in rogue_bif_init() 50 pvr_cr_write64(pvr_dev, BIF_CAT_BASEX(MMU_CONTEXT_MAPPING_FWPRIV), in rogue_bif_init() 53 if (pvr_dev->fw_dev.processor_type == PVR_FW_PROCESSOR_TYPE_RISCV) { in rogue_bif_init() 58 pvr_cr_write64(pvr_dev, FWCORE_MEM_CAT_BASEX(MMU_CONTEXT_MAPPING_FWPRIV), pc_addr); in rogue_bif_init() 63 rogue_slc_init(struct pvr_device *pvr_dev) in rogue_slc_init() argument 76 reg_val = (pvr_cr_read32(pvr_dev, ROGUE_CR_SLC_CTRL_MISC) & in rogue_slc_init() 80 err = PVR_FEATURE_VALUE(pvr_dev, slc_cache_line_size_bits, &slc_cache_line_size_bits); in rogue_slc_init() [all …]
|
| H A D | pvr_ccb.c | 49 pvr_ccb_init(struct pvr_device *pvr_dev, struct pvr_ccb *pvr_ccb, in pvr_ccb_init() argument 59 err = drmm_mutex_init(from_pvr_device(pvr_dev), &pvr_ccb->lock); in pvr_ccb_init() 67 pvr_ccb->ctrl = pvr_fw_object_create_and_map(pvr_dev, sizeof(*pvr_ccb->ctrl), in pvr_ccb_init() 73 pvr_ccb->ccb = pvr_fw_object_create_and_map(pvr_dev, ccb_size, in pvr_ccb_init() 137 process_fwccb_command(struct pvr_device *pvr_dev, struct rogue_fwif_fwccb_cmd *cmd) in process_fwccb_command() argument 141 pvr_power_reset(pvr_dev, false); in process_fwccb_command() 145 pvr_free_list_process_reconstruct_req(pvr_dev, in process_fwccb_command() 150 pvr_free_list_process_grow_req(pvr_dev, &cmd->cmd_data.cmd_free_list_gs); in process_fwccb_command() 154 drm_info(from_pvr_device(pvr_dev), "Received unknown FWCCB command %x\n", in process_fwccb_command() 164 void pvr_fwccb_process(struct pvr_device *pvr_dev) in pvr_fwccb_process() argument [all …]
|
| H A D | pvr_fw.c | 50 pvr_fw_find_layout_entry(struct pvr_device *pvr_dev, enum pvr_fw_section_id id) in pvr_fw_find_layout_entry() argument 52 const struct pvr_fw_layout_entry *layout_entries = pvr_dev->fw_dev.layout_entries; in pvr_fw_find_layout_entry() 53 u32 num_layout_entries = pvr_dev->fw_dev.header->layout_entry_num; in pvr_fw_find_layout_entry() 64 pvr_fw_find_private_data(struct pvr_device *pvr_dev) in pvr_fw_find_private_data() argument 66 const struct pvr_fw_layout_entry *layout_entries = pvr_dev->fw_dev.layout_entries; in pvr_fw_find_private_data() 67 u32 num_layout_entries = pvr_dev->fw_dev.header->layout_entry_num; in pvr_fw_find_private_data() 90 pvr_fw_validate(struct pvr_device *pvr_dev) in pvr_fw_validate() argument 92 struct drm_device *drm_dev = from_pvr_device(pvr_dev); in pvr_fw_validate() 93 const struct firmware *firmware = pvr_dev->fw_dev.firmware; in pvr_fw_validate() 128 if (pvr_gpu_id_to_packed_bvnc(&pvr_dev->gpu_id) != header->bvnc) { in pvr_fw_validate() [all …]
|
| H A D | pvr_fw_mips.c | 19 pvr_mips_init(struct pvr_device *pvr_dev) in pvr_mips_init() argument 21 pvr_fw_heap_info_init(pvr_dev, ROGUE_FW_HEAP_MIPS_SHIFT, ROGUE_FW_HEAP_MIPS_RESERVED_SIZE); in pvr_mips_init() 23 return pvr_vm_mips_init(pvr_dev); in pvr_mips_init() 27 pvr_mips_fini(struct pvr_device *pvr_dev) in pvr_mips_fini() argument 29 pvr_vm_mips_fini(pvr_dev); in pvr_mips_fini() 33 pvr_mips_fw_process(struct pvr_device *pvr_dev, const u8 *fw, in pvr_mips_fw_process() argument 37 struct pvr_fw_device *fw_dev = &pvr_dev->fw_dev; in pvr_mips_fw_process() 47 err = pvr_fw_process_elf_command_stream(pvr_dev, fw, fw_code_ptr, fw_data_ptr, in pvr_mips_fw_process() 52 boot_code_entry = pvr_fw_find_layout_entry(pvr_dev, MIPS_BOOT_CODE); in pvr_mips_fw_process() 53 boot_data_entry = pvr_fw_find_layout_entry(pvr_dev, MIPS_BOOT_DATA); in pvr_mips_fw_process() [all …]
|
| H A D | pvr_drv.c | 77 struct pvr_device *pvr_dev = to_pvr_device(drm_dev); in pvr_ioctl_create_bo() local 115 pvr_obj = pvr_gem_object_create(pvr_dev, sanitized_size, args->flags); in pvr_ioctl_create_bo() 232 rogue_get_common_store_partition_space_size(struct pvr_device *pvr_dev) in rogue_get_common_store_partition_space_size() argument 238 PVR_FEATURE_VALUE(pvr_dev, tile_size_x, &tile_size_x); in rogue_get_common_store_partition_space_size() 239 PVR_FEATURE_VALUE(pvr_dev, tile_size_y, &tile_size_y); in rogue_get_common_store_partition_space_size() 240 PVR_FEATURE_VALUE(pvr_dev, max_partitions, &max_partitions); in rogue_get_common_store_partition_space_size() 245 PVR_FEATURE_VALUE(pvr_dev, usc_min_output_registers_per_pix, in rogue_get_common_store_partition_space_size() 256 rogue_get_common_store_alloc_region_size(struct pvr_device *pvr_dev) in rogue_get_common_store_alloc_region_size() argument 261 PVR_FEATURE_VALUE(pvr_dev, common_store_size_in_dwords, &common_store_size_in_dwords); in rogue_get_common_store_alloc_region_size() 264 rogue_get_common_store_partition_space_size(pvr_dev); in rogue_get_common_store_alloc_region_size() [all …]
|
| H A D | pvr_power.h | 12 int pvr_watchdog_init(struct pvr_device *pvr_dev); 13 void pvr_watchdog_fini(struct pvr_device *pvr_dev); 15 void pvr_device_lost(struct pvr_device *pvr_dev); 17 bool pvr_power_is_idle(struct pvr_device *pvr_dev); 23 int pvr_power_reset(struct pvr_device *pvr_dev, bool hard_reset); 26 pvr_power_get(struct pvr_device *pvr_dev) in pvr_power_get() argument 28 struct drm_device *drm_dev = from_pvr_device(pvr_dev); in pvr_power_get() 34 pvr_power_put(struct pvr_device *pvr_dev) in pvr_power_put() argument 36 struct drm_device *drm_dev = from_pvr_device(pvr_dev); in pvr_power_put() 41 int pvr_power_domains_init(struct pvr_device *pvr_dev); [all …]
|
| H A D | pvr_fw_riscv.c | 23 pvr_riscv_wrapper_init(struct pvr_device *pvr_dev) in pvr_riscv_wrapper_init() argument 31 u64 code_addr = pvr_fw_obj_get_gpu_addr(pvr_dev->fw_dev.mem.code_obj); in pvr_riscv_wrapper_init() 32 u64 data_addr = pvr_fw_obj_get_gpu_addr(pvr_dev->fw_dev.mem.data_obj); in pvr_riscv_wrapper_init() 41 pvr_cr_write64(pvr_dev, ROGUE_RISCVFW_REGION_REMAP_CR(BOOTLDR_CODE), in pvr_riscv_wrapper_init() 44 pvr_cr_write64(pvr_dev, ROGUE_RISCVFW_REGION_REMAP_CR(BOOTLDR_DATA), in pvr_riscv_wrapper_init() 49 pvr_cr_write64(pvr_dev, ROGUE_CR_MTS_GARTEN_WRAPPER_CONFIG, in pvr_riscv_wrapper_init() 67 pvr_riscv_fw_process(struct pvr_device *pvr_dev, const u8 *fw, in pvr_riscv_fw_process() argument 71 struct pvr_fw_device *fw_dev = &pvr_dev->fw_dev; in pvr_riscv_fw_process() 76 err = pvr_fw_process_elf_command_stream(pvr_dev, fw, fw_code_ptr, fw_data_ptr, in pvr_riscv_fw_process() 102 pvr_riscv_init(struct pvr_device *pvr_dev) in pvr_riscv_init() argument [all …]
|
| H A D | pvr_queue.c | 24 static int get_xfer_ctx_state_size(struct pvr_device *pvr_dev) in get_xfer_ctx_state_size() argument 28 if (PVR_HAS_FEATURE(pvr_dev, xe_memory_hierarchy)) { in get_xfer_ctx_state_size() 33 err = PVR_FEATURE_VALUE(pvr_dev, num_isp_ipp_pipes, &num_isp_store_registers); in get_xfer_ctx_state_size() 43 static int get_frag_ctx_state_size(struct pvr_device *pvr_dev) in get_frag_ctx_state_size() argument 48 if (PVR_HAS_FEATURE(pvr_dev, xe_memory_hierarchy)) { in get_frag_ctx_state_size() 49 err = PVR_FEATURE_VALUE(pvr_dev, num_raster_pipes, &num_isp_store_registers); in get_frag_ctx_state_size() 53 if (PVR_HAS_FEATURE(pvr_dev, gpu_multicore_support)) { in get_frag_ctx_state_size() 56 err = PVR_FEATURE_VALUE(pvr_dev, xpu_max_slaves, &xpu_max_slaves); in get_frag_ctx_state_size() 63 err = PVR_FEATURE_VALUE(pvr_dev, num_isp_ipp_pipes, &num_isp_store_registers); in get_frag_ctx_state_size() 73 static int get_ctx_state_size(struct pvr_device *pvr_dev, enum drm_pvr_job_type type) in get_ctx_state_size() argument [all …]
|
| H A D | pvr_fw.h | 81 int (*init)(struct pvr_device *pvr_dev); 91 void (*fini)(struct pvr_device *pvr_dev); 111 int (*fw_process)(struct pvr_device *pvr_dev, const u8 *fw, 128 int (*vm_map)(struct pvr_device *pvr_dev, struct pvr_fw_object *fw_obj); 139 void (*vm_unmap)(struct pvr_device *pvr_dev, struct pvr_fw_object *fw_obj); 167 int (*wrapper_init)(struct pvr_device *pvr_dev); 176 bool (*irq_pending)(struct pvr_device *pvr_dev); 185 void (*irq_clear)(struct pvr_device *pvr_dev); 397 int pvr_fw_validate_init_device_info(struct pvr_device *pvr_dev); 398 int pvr_fw_init(struct pvr_device *pvr_dev); [all …]
|
| H A D | pvr_fw_meta.c | 36 pvr_meta_cr_read32(struct pvr_device *pvr_dev, u32 reg_addr, u32 *reg_value_out) in pvr_meta_cr_read32() argument 41 err = pvr_cr_poll_reg32(pvr_dev, ROGUE_CR_META_SP_MSLVCTRL1, in pvr_meta_cr_read32() 51 pvr_cr_write32(pvr_dev, ROGUE_CR_META_SP_MSLVCTRL0, in pvr_meta_cr_read32() 53 (void)pvr_cr_read32(pvr_dev, ROGUE_CR_META_SP_MSLVCTRL0); /* Fence write. */ in pvr_meta_cr_read32() 56 err = pvr_cr_poll_reg32(pvr_dev, ROGUE_CR_META_SP_MSLVCTRL1, in pvr_meta_cr_read32() 65 *reg_value_out = pvr_cr_read32(pvr_dev, ROGUE_CR_META_SP_MSLVDATAX); in pvr_meta_cr_read32() 71 pvr_meta_wrapper_init(struct pvr_device *pvr_dev) in pvr_meta_wrapper_init() argument 76 pvr_cr_write64(pvr_dev, ROGUE_CR_META_BOOT, ROGUE_CR_META_BOOT_MODE_EN); in pvr_meta_wrapper_init() 96 pvr_cr_write64(pvr_dev, ROGUE_CR_MTS_GARTEN_WRAPPER_CONFIG, garten_config); in pvr_meta_wrapper_init() 116 struct pvr_device *pvr_dev = to_pvr_device(drm_dev); in meta_ldr_cmd_loadmem() local [all …]
|
| H A D | pvr_stream.c | 14 stream_def_is_supported(struct pvr_device *pvr_dev, const struct pvr_stream_def *stream_def) in stream_def_is_supported() argument 20 pvr_device_has_feature(pvr_dev, stream_def->feature)) { in stream_def_is_supported() 25 !pvr_device_has_feature(pvr_dev, stream_def->feature & ~PVR_FEATURE_NOT)) { in stream_def_is_supported() 65 pvr_stream_process_1(struct pvr_device *pvr_dev, const struct pvr_stream_def *stream_def, in pvr_stream_process_1() argument 77 if (!stream_def_is_supported(pvr_dev, &stream_def[i])) in pvr_stream_process_1() 126 pvr_stream_process_ext_stream(struct pvr_device *pvr_dev, in pvr_stream_process_ext_stream() argument 135 memcpy(musthave_masks, pvr_dev->stream_musthave_quirks[cmd_defs->type], in pvr_stream_process_ext_stream() 166 if (!pvr_device_has_uapi_quirk(pvr_dev, ext_def->quirk)) in pvr_stream_process_ext_stream() 169 err = pvr_stream_process_1(pvr_dev, ext_def->stream, ext_def->stream_len, in pvr_stream_process_ext_stream() 206 pvr_stream_process(struct pvr_device *pvr_dev, const struct pvr_stream_cmd_defs *cmd_defs, in pvr_stream_process() argument [all …]
|
| H A D | pvr_context.c | 70 process_static_context_state(struct pvr_device *pvr_dev, const struct pvr_stream_cmd_defs *cmd_defs, in process_static_context_state() argument 80 err = pvr_stream_process(pvr_dev, cmd_defs, stream, stream_size, dest); in process_static_context_state() 100 return process_static_context_state(ctx->pvr_dev, in init_render_fw_objs() 120 return process_static_context_state(ctx->pvr_dev, in init_compute_fw_objs() 282 struct pvr_device *pvr_dev = pvr_file->pvr_dev; in pvr_context_create() local 302 ctx->pvr_dev = pvr_dev; in pvr_context_create() 329 err = pvr_fw_object_create(pvr_dev, ctx_size, PVR_BO_FW_FLAGS_DEVICE_UNCACHED, in pvr_context_create() 334 err = xa_alloc(&pvr_dev->ctx_ids, &ctx->ctx_id, ctx, xa_limit_32b, GFP_KERNEL); in pvr_context_create() 349 spin_lock(&pvr_dev->ctx_list_lock); in pvr_context_create() 351 spin_unlock(&pvr_dev->ctx_list_lock); in pvr_context_create() [all …]
|
| H A D | pvr_ccb.h | 46 int pvr_kccb_init(struct pvr_device *pvr_dev); 47 void pvr_kccb_fini(struct pvr_device *pvr_dev); 48 int pvr_fwccb_init(struct pvr_device *pvr_dev); 51 void pvr_fwccb_process(struct pvr_device *pvr_dev); 56 pvr_kccb_reserve_slot(struct pvr_device *pvr_dev, struct dma_fence *f); 57 void pvr_kccb_release_slot(struct pvr_device *pvr_dev); 58 int pvr_kccb_send_cmd(struct pvr_device *pvr_dev, 60 int pvr_kccb_send_cmd_powered(struct pvr_device *pvr_dev, 63 void pvr_kccb_send_cmd_reserved_powered(struct pvr_device *pvr_dev, 66 int pvr_kccb_wait_for_completion(struct pvr_device *pvr_dev, u32 slot_nr, u32 timeout, [all …]
|
| H A D | pvr_vm_mips.c | 30 pvr_vm_mips_init(struct pvr_device *pvr_dev) in pvr_vm_mips_init() argument 32 u32 pt_size = 1 << ROGUE_MIPSFW_LOG2_PAGETABLE_SIZE_4K(pvr_dev); in pvr_vm_mips_init() 33 struct device *dev = from_pvr_device(pvr_dev)->dev; in pvr_vm_mips_init() 43 if (PVR_FEATURE_VALUE(pvr_dev, phys_bus_width, &phys_bus_width)) in pvr_vm_mips_init() 46 mips_data = drmm_kzalloc(from_pvr_device(pvr_dev), sizeof(*mips_data), GFP_KERNEL); in pvr_vm_mips_init() 79 pvr_dev->fw_dev.processor_data.mips_data = mips_data; in pvr_vm_mips_init() 85 dma_unmap_page(from_pvr_device(pvr_dev)->dev, in pvr_vm_mips_init() 99 pvr_vm_mips_fini(struct pvr_device *pvr_dev) in pvr_vm_mips_fini() argument 101 struct pvr_fw_device *fw_dev = &pvr_dev->fw_dev; in pvr_vm_mips_fini() 106 dma_unmap_page(from_pvr_device(pvr_dev)->dev, in pvr_vm_mips_fini() [all …]
|
| H A D | pvr_free_list.c | 32 pvr_get_free_list_min_pages(struct pvr_device *pvr_dev) in pvr_get_free_list_min_pages() argument 36 if (PVR_HAS_FEATURE(pvr_dev, roguexe)) { in pvr_get_free_list_min_pages() 37 if (PVR_HAS_QUIRK(pvr_dev, 66011)) in pvr_get_free_list_min_pages() 89 free_list->pvr_dev = pvr_file->pvr_dev; in free_list_create_kernel_structure() 198 struct pvr_device *pvr_dev = pvr_file->pvr_dev; in free_list_create_fw_structure() local 205 free_list->fw_data = pvr_fw_object_create_and_map(pvr_dev, sizeof(*free_list->fw_data), in free_list_create_fw_structure() 299 struct pvr_device *pvr_dev = free_list->pvr_dev; in pvr_free_list_grow() local 319 free_list_node->mem_obj = pvr_gem_object_create(pvr_dev, in pvr_free_list_grow() 359 void pvr_free_list_process_grow_req(struct pvr_device *pvr_dev, in pvr_free_list_process_grow_req() argument 362 struct pvr_free_list *free_list = pvr_free_list_lookup_id(pvr_dev, req->freelist_id); in pvr_free_list_process_grow_req() [all …]
|
| H A D | pvr_fw_trace.c | 23 validate_group_mask(struct pvr_device *pvr_dev, const u32 group_mask) in validate_group_mask() argument 26 drm_warn(from_pvr_device(pvr_dev), in validate_group_mask() 109 int pvr_fw_trace_init(struct pvr_device *pvr_dev) in pvr_fw_trace_init() argument 111 struct pvr_fw_trace *fw_trace = &pvr_dev->fw_dev.fw_trace; in pvr_fw_trace_init() 112 struct drm_device *drm_dev = from_pvr_device(pvr_dev); in pvr_fw_trace_init() 119 pvr_fw_object_create_and_map(pvr_dev, in pvr_fw_trace_init() 142 pvr_fw_object_create_and_map(pvr_dev, in pvr_fw_trace_init() 178 void pvr_fw_trace_fini(struct pvr_device *pvr_dev) in pvr_fw_trace_fini() argument 180 struct pvr_fw_trace *fw_trace = &pvr_dev->fw_dev.fw_trace; in pvr_fw_trace_fini() 203 update_logtype(struct pvr_device *pvr_dev, u32 group_mask) in update_logtype() argument [all …]
|
| H A D | pvr_hwrt.c | 45 struct pvr_device *pvr_dev = pvr_file->pvr_dev; in hwrt_init_kernel_structure() local 48 hwrt->pvr_dev = pvr_dev; in hwrt_init_kernel_structure() 61 pvr_get_free_list_min_pages(pvr_dev)) { in hwrt_init_kernel_structure() 93 get_cr_isp_mtile_size_val(struct pvr_device *pvr_dev, u32 samples, in get_cr_isp_mtile_size_val() argument 101 err = PVR_FEATURE_VALUE(pvr_dev, isp_samples_per_pixel, &samples_per_pixel); in get_cr_isp_mtile_size_val() 177 get_cr_te_aa_val(struct pvr_device *pvr_dev, u32 samples, u32 *value_out) in get_cr_te_aa_val() argument 183 err = PVR_FEATURE_VALUE(pvr_dev, isp_samples_per_pixel, &samples_per_pixel); in get_cr_te_aa_val() 234 struct pvr_device *pvr_dev = pvr_file->pvr_dev; in hwrt_init_common_fw_structure() local 238 err = PVR_FEATURE_VALUE(pvr_dev, tile_size_x, &info.tile_size_x); in hwrt_init_common_fw_structure() 242 err = PVR_FEATURE_VALUE(pvr_dev, tile_size_y, &info.tile_size_y); in hwrt_init_common_fw_structure() [all …]
|
| H A D | pvr_device_info.c | 52 static void pvr_device_info_set_common(struct pvr_device *pvr_dev, const u64 *bitmask, in pvr_device_info_set_common() argument 61 drm_warn(from_pvr_device(pvr_dev), "Unsupported quirks in firmware image"); in pvr_device_info_set_common() 63 drm_warn(from_pvr_device(pvr_dev), in pvr_device_info_set_common() 70 drm_warn(from_pvr_device(pvr_dev), in pvr_device_info_set_common() 73 drm_warn(from_pvr_device(pvr_dev), in pvr_device_info_set_common() 80 *(bool *)((u8 *)pvr_dev + mapping[i]) = true; in pvr_device_info_set_common() 90 void pvr_device_info_set_quirks(struct pvr_device *pvr_dev, const u64 *quirks, u32 quirks_size) in pvr_device_info_set_quirks() argument 94 pvr_device_info_set_common(pvr_dev, quirks, quirks_size, quirks_mapping, in pvr_device_info_set_quirks() 104 void pvr_device_info_set_enhancements(struct pvr_device *pvr_dev, const u64 *enhancements, in pvr_device_info_set_enhancements() argument 109 pvr_device_info_set_common(pvr_dev, enhancements, enhancements_size, in pvr_device_info_set_enhancements() [all …]
|
| H A D | pvr_mmu.c | 86 static void pvr_mmu_set_flush_flags(struct pvr_device *pvr_dev, u32 flags) in pvr_mmu_set_flush_flags() argument 88 atomic_fetch_or(flags, &pvr_dev->mmu_flush_cache_flags); in pvr_mmu_set_flush_flags() 99 void pvr_mmu_flush_request_all(struct pvr_device *pvr_dev) in pvr_mmu_flush_request_all() argument 101 pvr_mmu_set_flush_flags(pvr_dev, PVR_MMU_SYNC_LEVEL_2_FLAGS); in pvr_mmu_flush_request_all() 124 int pvr_mmu_flush_exec(struct pvr_device *pvr_dev, bool wait) in pvr_mmu_flush_exec() argument 133 if (!drm_dev_enter(from_pvr_device(pvr_dev), &idx)) in pvr_mmu_flush_exec() 137 if (!pvr_dev->fw_dev.booted) in pvr_mmu_flush_exec() 141 atomic_xchg(&pvr_dev->mmu_flush_cache_flags, 0); in pvr_mmu_flush_exec() 148 pvr_fw_object_get_fw_addr(pvr_dev->fw_dev.mem.mmucache_sync_obj, in pvr_mmu_flush_exec() 152 err = pvr_kccb_send_cmd(pvr_dev, &cmd_mmu_cache, &slot); in pvr_mmu_flush_exec() [all …]
|
| H A D | pvr_free_list.h | 52 struct pvr_device *pvr_dev; member 114 pvr_get_free_list_min_pages(struct pvr_device *pvr_dev); 161 pvr_free_list_lookup_id(struct pvr_device *pvr_dev, u32 id) in pvr_free_list_lookup_id() argument 165 xa_lock(&pvr_dev->free_list_ids); in pvr_free_list_lookup_id() 172 free_list = xa_load(&pvr_dev->free_list_ids, id); in pvr_free_list_lookup_id() 175 xa_unlock(&pvr_dev->free_list_ids); in pvr_free_list_lookup_id() 188 void pvr_free_list_process_grow_req(struct pvr_device *pvr_dev, 192 pvr_free_list_process_reconstruct_req(struct pvr_device *pvr_dev,
|
| H A D | pvr_context.h | 37 struct pvr_device *pvr_dev; member 183 pvr_context_lookup_id(struct pvr_device *pvr_dev, u32 id) in pvr_context_lookup_id() argument 188 xa_lock(&pvr_dev->ctx_ids); in pvr_context_lookup_id() 195 ctx = xa_load(&pvr_dev->ctx_ids, id); in pvr_context_lookup_id() 199 xa_unlock(&pvr_dev->ctx_ids); in pvr_context_lookup_id() 222 void pvr_context_device_init(struct pvr_device *pvr_dev); 224 void pvr_context_device_fini(struct pvr_device *pvr_dev);
|
| H A D | pvr_job.c | 27 xa_erase(&job->pvr_dev->job_ids, job->id); in pvr_job_release() 68 pvr_job_process_stream(struct pvr_device *pvr_dev, const struct pvr_stream_cmd_defs *cmd_defs, in pvr_job_process_stream() argument 79 err = pvr_stream_process(pvr_dev, cmd_defs, stream, stream_size, job->cmd); in pvr_job_process_stream() 86 static int pvr_fw_cmd_init(struct pvr_device *pvr_dev, struct pvr_job *job, in pvr_fw_cmd_init() argument 97 err = pvr_job_process_stream(pvr_dev, stream_def, stream, stream_len, job); in pvr_fw_cmd_init() 158 err = pvr_fw_cmd_init(job->pvr_dev, job, &pvr_cmd_geom_stream, in pvr_geom_job_fw_cmd_init() 189 err = pvr_fw_cmd_init(job->pvr_dev, job, &pvr_cmd_frag_stream, in pvr_frag_job_fw_cmd_init() 228 err = pvr_fw_cmd_init(job->pvr_dev, job, &pvr_cmd_compute_stream, in pvr_compute_job_fw_cmd_init() 264 err = pvr_fw_cmd_init(job->pvr_dev, job, &pvr_cmd_transfer_stream, in pvr_transfer_job_fw_cmd_init() 403 create_job(struct pvr_device *pvr_dev, in create_job() argument [all …]
|
| H A D | pvr_vm_mips.h | 14 pvr_vm_mips_init(struct pvr_device *pvr_dev); 16 pvr_vm_mips_fini(struct pvr_device *pvr_dev); 18 pvr_vm_mips_map(struct pvr_device *pvr_dev, struct pvr_fw_object *fw_obj); 20 pvr_vm_mips_unmap(struct pvr_device *pvr_dev, struct pvr_fw_object *fw_obj);
|