/kernel/linux/linux-6.6/drivers/gpu/drm/vc4/ |
H A D | vc4_irq.c | 63 struct vc4_dev *vc4 = in vc4_overflow_mem_work() local 70 mutex_lock(&vc4->bin_bo_lock); in vc4_overflow_mem_work() 72 if (!vc4->bin_bo) in vc4_overflow_mem_work() 75 bo = vc4->bin_bo; in vc4_overflow_mem_work() 77 bin_bo_slot = vc4_v3d_get_bin_slot(vc4); in vc4_overflow_mem_work() 83 spin_lock_irqsave(&vc4->job_lock, irqflags); in vc4_overflow_mem_work() 85 if (vc4->bin_alloc_overflow) { in vc4_overflow_mem_work() 92 exec = vc4_first_bin_job(vc4); in vc4_overflow_mem_work() 94 exec = vc4_last_render_job(vc4); in vc4_overflow_mem_work() 96 exec->bin_slots |= vc4 in vc4_overflow_mem_work() 119 struct vc4_dev *vc4 = to_vc4_dev(dev); vc4_irq_finish_bin_job() local 141 struct vc4_dev *vc4 = to_vc4_dev(dev); vc4_cancel_bin_job() local 158 struct vc4_dev *vc4 = to_vc4_dev(dev); vc4_irq_finish_render_job() local 206 struct vc4_dev *vc4 = to_vc4_dev(dev); vc4_irq() local 247 struct vc4_dev *vc4 = to_vc4_dev(dev); vc4_irq_prepare() local 264 struct vc4_dev *vc4 = to_vc4_dev(dev); vc4_irq_enable() local 281 struct vc4_dev *vc4 = to_vc4_dev(dev); vc4_irq_disable() local 303 struct vc4_dev *vc4 = to_vc4_dev(dev); vc4_irq_install() local 325 struct vc4_dev *vc4 = to_vc4_dev(dev); vc4_irq_uninstall() local 337 struct vc4_dev *vc4 = to_vc4_dev(dev); vc4_irq_reset() local [all...] |
H A D | vc4_bo.c | 44 static void vc4_bo_stats_print(struct drm_printer *p, struct vc4_dev *vc4) in vc4_bo_stats_print() argument 48 for (i = 0; i < vc4->num_labels; i++) { in vc4_bo_stats_print() 49 if (!vc4->bo_labels[i].num_allocated) in vc4_bo_stats_print() 53 vc4->bo_labels[i].name, in vc4_bo_stats_print() 54 vc4->bo_labels[i].size_allocated / 1024, in vc4_bo_stats_print() 55 vc4->bo_labels[i].num_allocated); in vc4_bo_stats_print() 58 mutex_lock(&vc4->purgeable.lock); in vc4_bo_stats_print() 59 if (vc4->purgeable.num) in vc4_bo_stats_print() 61 vc4->purgeable.size / 1024, vc4 in vc4_bo_stats_print() 74 struct vc4_dev *vc4 = to_vc4_dev(dev); vc4_bo_stats_debugfs() local 90 vc4_get_user_label(struct vc4_dev *vc4, const char *name) vc4_get_user_label() argument 135 struct vc4_dev *vc4 = to_vc4_dev(gem_obj->dev); vc4_bo_set_label() local 169 struct vc4_dev *vc4 = to_vc4_dev(obj->dev); vc4_bo_destroy() local 188 struct vc4_dev *vc4 = to_vc4_dev(bo->base.base.dev); vc4_bo_remove_from_cache() local 198 struct vc4_dev *vc4 = to_vc4_dev(dev); vc4_get_cache_list_for_size() local 238 struct vc4_dev *vc4 = to_vc4_dev(dev); vc4_bo_cache_purge() local 252 struct vc4_dev *vc4 = to_vc4_dev(bo->base.base.dev); vc4_bo_add_to_purgeable_pool() local 266 struct vc4_dev *vc4 = to_vc4_dev(bo->base.base.dev); vc4_bo_remove_from_purgeable_pool_locked() local 290 struct vc4_dev *vc4 = to_vc4_dev(bo->base.base.dev); vc4_bo_remove_from_purgeable_pool() local 314 struct vc4_dev *vc4 = to_vc4_dev(dev); vc4_bo_userspace_cache_purge() local 363 struct vc4_dev *vc4 = to_vc4_dev(dev); vc4_bo_get_from_cache() local 396 struct vc4_dev *vc4 = to_vc4_dev(dev); vc4_create_object() local 426 struct vc4_dev *vc4 = to_vc4_dev(dev); vc4_bo_create() local 495 struct vc4_dev *vc4 = to_vc4_dev(dev); vc4_bo_dumb_create() local 520 struct vc4_dev *vc4 = to_vc4_dev(dev); vc4_bo_cache_free_old() local 546 struct vc4_dev *vc4 = to_vc4_dev(dev); vc4_free_object() local 611 struct vc4_dev *vc4 = vc4_bo_cache_time_work() local 622 struct vc4_dev *vc4 = to_vc4_dev(bo->base.base.dev); vc4_bo_inc_usecnt() local 662 struct vc4_dev *vc4 = to_vc4_dev(bo->base.base.dev); vc4_bo_dec_usecnt() local 682 struct vc4_dev *vc4 = from_timer(vc4, t, bo_cache.time_timer); vc4_bo_cache_time_timer() local 766 vc4_grab_bin_bo(struct vc4_dev *vc4, struct vc4_file *vc4file) vc4_grab_bin_bo() argument 782 struct vc4_dev *vc4 = to_vc4_dev(dev); vc4_create_bo_ioctl() local 812 struct vc4_dev *vc4 = to_vc4_dev(dev); vc4_mmap_bo_ioctl() local 838 struct vc4_dev *vc4 = to_vc4_dev(dev); vc4_create_shader_bo_ioctl() local 915 struct vc4_dev *vc4 = to_vc4_dev(dev); vc4_set_tiling_ioctl() local 962 struct vc4_dev *vc4 = to_vc4_dev(dev); vc4_get_tiling_ioctl() local 993 struct vc4_dev *vc4 = to_vc4_dev(drm); vc4_bo_debugfs_init() local 1006 struct vc4_dev *vc4 = to_vc4_dev(dev); vc4_bo_cache_init() local 1043 struct vc4_dev *vc4 = to_vc4_dev(dev); vc4_bo_cache_destroy() local 1068 struct vc4_dev *vc4 = to_vc4_dev(dev); vc4_label_bo_ioctl() local [all...] |
H A D | vc4_v3d.c | 101 struct vc4_dev *vc4 = to_vc4_dev(dev); in vc4_v3d_debugfs_ident() local 102 int ret = vc4_v3d_pm_get(vc4); in vc4_v3d_debugfs_ident() 117 vc4_v3d_pm_put(vc4); in vc4_v3d_debugfs_ident() 128 vc4_v3d_pm_get(struct vc4_dev *vc4) in vc4_v3d_pm_get() argument 130 if (WARN_ON_ONCE(vc4->is_vc5)) in vc4_v3d_pm_get() 133 mutex_lock(&vc4->power_lock); in vc4_v3d_pm_get() 134 if (vc4->power_refcount++ == 0) { in vc4_v3d_pm_get() 135 int ret = pm_runtime_get_sync(&vc4->v3d->pdev->dev); in vc4_v3d_pm_get() 138 vc4->power_refcount--; in vc4_v3d_pm_get() 139 mutex_unlock(&vc4 in vc4_v3d_pm_get() 149 vc4_v3d_pm_put(struct vc4_dev *vc4) vc4_v3d_pm_put() argument 164 struct vc4_dev *vc4 = to_vc4_dev(dev); vc4_v3d_init_hw() local 173 vc4_v3d_get_bin_slot(struct vc4_dev *vc4) vc4_v3d_get_bin_slot() argument 237 bin_bo_alloc(struct vc4_dev *vc4) bin_bo_alloc() argument 324 vc4_v3d_bin_bo_get(struct vc4_dev *vc4, bool *used) vc4_v3d_bin_bo_get() argument 352 struct vc4_dev *vc4 = container_of(ref, struct vc4_dev, bin_bo_kref); bin_bo_release() local 361 vc4_v3d_bin_bo_put(struct vc4_dev *vc4) vc4_v3d_bin_bo_put() argument 375 struct vc4_dev *vc4 = v3d->vc4; vc4_v3d_runtime_suspend() local 387 struct vc4_dev *vc4 = v3d->vc4; vc4_v3d_runtime_resume() local 405 struct vc4_dev *vc4 = to_vc4_dev(drm); vc4_v3d_debugfs_init() local 422 struct vc4_dev *vc4 = to_vc4_dev(drm); vc4_v3d_bind() local 507 struct vc4_dev *vc4 = to_vc4_dev(drm); vc4_v3d_unbind() local [all...] |
H A D | vc4_gem.c | 42 struct vc4_dev *vc4 = to_vc4_dev(dev); in vc4_queue_hangcheck() local 44 mod_timer(&vc4->hangcheck.timer, in vc4_queue_hangcheck() 74 struct vc4_dev *vc4 = to_vc4_dev(dev); in vc4_get_hang_state_ioctl() local 79 if (WARN_ON_ONCE(vc4->is_vc5)) in vc4_get_hang_state_ioctl() 82 if (!vc4->v3d) { in vc4_get_hang_state_ioctl() 87 spin_lock_irqsave(&vc4->job_lock, irqflags); in vc4_get_hang_state_ioctl() 88 kernel_state = vc4->hang_state; in vc4_get_hang_state_ioctl() 90 spin_unlock_irqrestore(&vc4->job_lock, irqflags); in vc4_get_hang_state_ioctl() 100 spin_unlock_irqrestore(&vc4->job_lock, irqflags); in vc4_get_hang_state_ioctl() 104 vc4 in vc4_get_hang_state_ioctl() 154 struct vc4_dev *vc4 = to_vc4_dev(dev); vc4_save_hang_state() local 291 struct vc4_dev *vc4 = to_vc4_dev(dev); vc4_reset() local 317 struct vc4_dev *vc4 = vc4_reset_work() local 328 struct vc4_dev *vc4 = from_timer(vc4, t, hangcheck.timer); vc4_hangcheck_elapsed() local 374 struct vc4_dev *vc4 = to_vc4_dev(dev); submit_cl() local 387 struct vc4_dev *vc4 = to_vc4_dev(dev); vc4_wait_for_seqno() local 437 struct vc4_dev *vc4 = to_vc4_dev(dev); vc4_flush_caches() local 456 struct vc4_dev *vc4 = to_vc4_dev(dev); vc4_flush_texture_caches() local 474 struct vc4_dev *vc4 = to_vc4_dev(dev); vc4_submit_next_bin_job() local 519 struct vc4_dev *vc4 = to_vc4_dev(dev); vc4_submit_next_render_job() local 543 struct vc4_dev *vc4 = to_vc4_dev(dev); vc4_move_job_to_render() local 685 struct vc4_dev *vc4 = to_vc4_dev(dev); vc4_queue_submit() local 802 struct vc4_dev *vc4 = to_vc4_dev(dev); vc4_get_bcl() local 921 struct vc4_dev *vc4 = to_vc4_dev(dev); vc4_complete_exec() local 968 vc4_job_handle_completed(struct vc4_dev *vc4) vc4_job_handle_completed() argument 1009 struct vc4_dev *vc4 = to_vc4_dev(dev); vc4_queue_seqno_cb() local 1037 struct vc4_dev *vc4 = vc4_job_done_work() local 1065 struct vc4_dev *vc4 = to_vc4_dev(dev); vc4_wait_seqno_ioctl() local 1079 struct vc4_dev *vc4 = to_vc4_dev(dev); vc4_wait_bo_ioctl() local 1121 struct vc4_dev *vc4 = to_vc4_dev(dev); vc4_submit_cl_ioctl() local 1268 struct vc4_dev *vc4 = to_vc4_dev(dev); vc4_gem_init() local 1302 struct vc4_dev *vc4 = to_vc4_dev(dev); vc4_gem_destroy() local 1324 struct vc4_dev *vc4 = to_vc4_dev(dev); vc4_gem_madvise_ioctl() local [all...] |
H A D | vc4_perfmon.c | 20 struct vc4_dev *vc4; in vc4_perfmon_get() local 25 vc4 = perfmon->dev; in vc4_perfmon_get() 26 if (WARN_ON_ONCE(vc4->is_vc5)) in vc4_perfmon_get() 34 struct vc4_dev *vc4; in vc4_perfmon_put() local 39 vc4 = perfmon->dev; in vc4_perfmon_put() 40 if (WARN_ON_ONCE(vc4->is_vc5)) in vc4_perfmon_put() 47 void vc4_perfmon_start(struct vc4_dev *vc4, struct vc4_perfmon *perfmon) in vc4_perfmon_start() argument 52 if (WARN_ON_ONCE(vc4->is_vc5)) in vc4_perfmon_start() 55 if (WARN_ON_ONCE(!perfmon || vc4->active_perfmon)) in vc4_perfmon_start() 64 vc4 in vc4_perfmon_start() 67 vc4_perfmon_stop(struct vc4_dev *vc4, struct vc4_perfmon *perfmon, bool capture) vc4_perfmon_stop() argument 90 struct vc4_dev *vc4 = vc4file->dev; vc4_perfmon_find() local 106 struct vc4_dev *vc4 = vc4file->dev; vc4_perfmon_open_file() local 127 struct vc4_dev *vc4 = vc4file->dev; vc4_perfmon_close_file() local 142 struct vc4_dev *vc4 = to_vc4_dev(dev); vc4_perfmon_create_ioctl() local 198 struct vc4_dev *vc4 = to_vc4_dev(dev); vc4_perfmon_destroy_ioctl() local 225 struct vc4_dev *vc4 = to_vc4_dev(dev); vc4_perfmon_get_values_ioctl() local [all...] |
H A D | vc4_hvs.c | 72 struct drm_device *drm = &hvs->vc4->base; in vc4_hvs_dump_state() 98 struct vc4_dev *vc4 = to_vc4_dev(dev); in vc4_hvs_debugfs_underrun() local 101 drm_printf(&p, "%d\n", atomic_read(&vc4->underrun)); in vc4_hvs_debugfs_underrun() 110 struct vc4_dev *vc4 = to_vc4_dev(dev); in vc4_hvs_debugfs_dlist() local 111 struct vc4_hvs *hvs = vc4->hvs; in vc4_hvs_debugfs_dlist() 129 dlist_word = readl((u32 __iomem *)vc4->hvs->dlist + j); in vc4_hvs_debugfs_dlist() 216 struct drm_device *drm = &hvs->vc4->base; in vc4_hvs_lut_load() 262 struct drm_device *drm = &hvs->vc4->base; in vc4_hvs_get_fifo_frame_count() 290 struct vc4_dev *vc4 = hvs->vc4; in vc4_hvs_get_fifo_from_output() local 350 struct vc4_dev *vc4 = hvs->vc4; vc4_hvs_init_channel() local 446 struct vc4_dev *vc4 = to_vc4_dev(dev); vc4_hvs_atomic_check() local 477 struct vc4_dev *vc4 = to_vc4_dev(dev); vc4_hvs_install_dlist() local 534 struct vc4_dev *vc4 = to_vc4_dev(dev); vc4_hvs_atomic_enable() local 548 struct vc4_dev *vc4 = to_vc4_dev(dev); vc4_hvs_atomic_disable() local 562 struct vc4_dev *vc4 = to_vc4_dev(dev); vc4_hvs_atomic_flush() local 709 struct vc4_dev *vc4 = to_vc4_dev(dev); vc4_hvs_report_underrun() local 718 struct vc4_dev *vc4 = to_vc4_dev(dev); vc4_hvs_irq_handler() local 764 struct vc4_dev *vc4 = to_vc4_dev(drm); vc4_hvs_debugfs_init() local 784 __vc4_hvs_alloc(struct vc4_dev *vc4, struct platform_device *pdev) __vc4_hvs_alloc() argument 828 struct vc4_dev *vc4 = to_vc4_dev(drm); vc4_hvs_bind() local 1033 struct vc4_dev *vc4 = to_vc4_dev(drm); vc4_hvs_unbind() local [all...] |
H A D | vc4_kms.c | 50 struct vc4_dev *vc4 = to_vc4_dev(dev); in vc4_get_ctm_state() local 54 ret = drm_modeset_lock(&vc4->ctm_state_lock, state->acquire_ctx); in vc4_get_ctm_state() 94 struct vc4_dev *vc4 = to_vc4_dev(dev); in vc4_ctm_obj_fini() local 96 drm_atomic_private_obj_fini(&vc4->ctm_manager); in vc4_ctm_obj_fini() 99 static int vc4_ctm_obj_init(struct vc4_dev *vc4) in vc4_ctm_obj_init() argument 103 drm_modeset_lock_init(&vc4->ctm_state_lock); in vc4_ctm_obj_init() 109 drm_atomic_private_obj_init(&vc4->base, &vc4->ctm_manager, &ctm_state->base, in vc4_ctm_obj_init() 112 return drmm_add_action_or_reset(&vc4->base, vc4_ctm_obj_fini, NULL); in vc4_ctm_obj_init() 135 vc4_ctm_commit(struct vc4_dev *vc4, struc argument 172 struct vc4_dev *vc4 = to_vc4_dev(state->dev); vc4_hvs_get_new_global_state() local 185 struct vc4_dev *vc4 = to_vc4_dev(state->dev); vc4_hvs_get_old_global_state() local 198 struct vc4_dev *vc4 = to_vc4_dev(state->dev); vc4_hvs_get_global_state() local 208 vc4_hvs_pv_muxing_commit(struct vc4_dev *vc4, struct drm_atomic_state *state) vc4_hvs_pv_muxing_commit() argument 249 vc5_hvs_pv_muxing_commit(struct vc4_dev *vc4, struct drm_atomic_state *state) vc5_hvs_pv_muxing_commit() argument 326 struct vc4_dev *vc4 = to_vc4_dev(dev); vc4_atomic_commit_tail() local 461 struct vc4_dev *vc4 = to_vc4_dev(dev); vc4_fb_create() local 507 struct vc4_dev *vc4 = to_vc4_dev(dev); vc4_ctm_atomic_check() local 574 struct vc4_dev *vc4 = to_vc4_dev(state->dev); vc4_load_tracker_atomic_check() local 652 struct vc4_dev *vc4 = to_vc4_dev(dev); vc4_load_tracker_obj_fini() local 657 vc4_load_tracker_obj_init(struct vc4_dev *vc4) vc4_load_tracker_obj_init() argument 735 struct vc4_dev *vc4 = to_vc4_dev(dev); vc4_hvs_channels_obj_fini() local 740 vc4_hvs_channels_obj_init(struct vc4_dev *vc4) vc4_hvs_channels_obj_init() argument 923 struct vc4_dev *vc4 = to_vc4_dev(state->dev); vc4_core_clock_atomic_check() local 1035 struct vc4_dev *vc4 = to_vc4_dev(dev); vc4_kms_load() local [all...] |
H A D | vc4_drv.c | 46 #define DRIVER_NAME "vc4" 94 struct vc4_dev *vc4 = to_vc4_dev(dev); in vc4_get_param_ioctl() local 101 if (WARN_ON_ONCE(vc4->is_vc5)) in vc4_get_param_ioctl() 104 if (!vc4->v3d) in vc4_get_param_ioctl() 109 ret = vc4_v3d_pm_get(vc4); in vc4_get_param_ioctl() 113 vc4_v3d_pm_put(vc4); in vc4_get_param_ioctl() 116 ret = vc4_v3d_pm_get(vc4); in vc4_get_param_ioctl() 120 vc4_v3d_pm_put(vc4); in vc4_get_param_ioctl() 123 ret = vc4_v3d_pm_get(vc4); in vc4_get_param_ioctl() 127 vc4_v3d_pm_put(vc4); in vc4_get_param_ioctl() 147 struct vc4_dev *vc4 = to_vc4_dev(dev); vc4_open() local 165 struct vc4_dev *vc4 = to_vc4_dev(dev); vc4_close() local 271 struct vc4_dev *vc4 = ptr; vc4_component_unbind_all() local 291 struct vc4_dev *vc4; vc4_drm_bind() local [all...] |
H A D | vc4_drv.h | 258 /* Time in jiffies when the BO was put in vc4->bo_cache. */ 291 /* vc4 seqno for signaled() test */ 305 struct vc4_dev *vc4; member 313 struct vc4_dev *vc4; member 621 readl(vc4->v3d->regs + (offset)); \ 627 writel(val, vc4->v3d->regs + (offset)); \ 676 /* Pointers for our position in vc4->job_list */ 779 vc4_first_bin_job(struct vc4_dev *vc4) in vc4_first_bin_job() argument 781 return list_first_entry_or_null(&vc4->bin_job_list, in vc4_first_bin_job() 786 vc4_first_render_job(struct vc4_dev *vc4) in vc4_first_render_job() argument 793 vc4_last_render_job(struct vc4_dev *vc4) vc4_last_render_job() argument [all...] |
H A D | Makefile | 5 vc4-y := \ 28 vc4-$(CONFIG_DRM_VC4_KUNIT_TEST) += \ 35 vc4-$(CONFIG_DEBUG_FS) += vc4_debugfs.o 37 obj-$(CONFIG_DRM_VC4) += vc4.o
|
H A D | vc4_crtc.c | 83 vc4_crtc_get_cob_allocation(struct vc4_dev *vc4, unsigned int channel) in vc4_crtc_get_cob_allocation() argument 85 struct vc4_hvs *hvs = vc4->hvs; in vc4_crtc_get_cob_allocation() 104 struct vc4_dev *vc4 = to_vc4_dev(dev); in vc4_crtc_get_scanout_position() local 105 struct vc4_hvs *hvs = vc4->hvs; in vc4_crtc_get_scanout_position() 144 cob_size = vc4_crtc_get_cob_allocation(vc4, vc4_crtc_state->assigned_channel); in vc4_crtc_get_scanout_position() 224 struct vc4_dev *vc4 = to_vc4_dev(vc4_crtc->base.dev); in vc4_get_fifo_full_level() local 266 if (!vc4->is_vc5) in vc4_get_fifo_full_level() 326 struct vc4_dev *vc4 = to_vc4_dev(dev); in vc4_crtc_config_pv() local 431 if (vc4->is_vc5) in vc4_crtc_config_pv() 458 struct vc4_dev *vc4 in require_hvs_enabled() local 473 struct vc4_dev *vc4 = to_vc4_dev(dev); vc4_crtc_disable() local 519 struct vc4_dev *vc4 = to_vc4_dev(drm); vc4_crtc_disable_at_boot() local 782 struct vc4_dev *vc4 = to_vc4_dev(dev); vc4_crtc_handle_page_flip() local 912 struct vc4_dev *vc4 = to_vc4_dev(dev); vc4_async_set_fence_cb() local 998 struct vc4_dev *vc4 = to_vc4_dev(dev); vc4_async_page_flip() local 1044 struct vc4_dev *vc4 = to_vc4_dev(dev); vc4_page_flip() local 1074 struct vc4_dev *vc4 = to_vc4_dev(crtc->dev); vc4_crtc_destroy_state() local 1325 struct vc4_dev *vc4 = to_vc4_dev(drm); __vc4_crtc_init() local [all...] |
/kernel/linux/linux-5.10/drivers/gpu/drm/vc4/ |
H A D | vc4_irq.c | 60 struct vc4_dev *vc4 = in vc4_overflow_mem_work() local 67 mutex_lock(&vc4->bin_bo_lock); in vc4_overflow_mem_work() 69 if (!vc4->bin_bo) in vc4_overflow_mem_work() 72 bo = vc4->bin_bo; in vc4_overflow_mem_work() 74 bin_bo_slot = vc4_v3d_get_bin_slot(vc4); in vc4_overflow_mem_work() 80 spin_lock_irqsave(&vc4->job_lock, irqflags); in vc4_overflow_mem_work() 82 if (vc4->bin_alloc_overflow) { in vc4_overflow_mem_work() 89 exec = vc4_first_bin_job(vc4); in vc4_overflow_mem_work() 91 exec = vc4_last_render_job(vc4); in vc4_overflow_mem_work() 93 exec->bin_slots |= vc4 in vc4_overflow_mem_work() 116 struct vc4_dev *vc4 = to_vc4_dev(dev); vc4_irq_finish_bin_job() local 136 struct vc4_dev *vc4 = to_vc4_dev(dev); vc4_cancel_bin_job() local 153 struct vc4_dev *vc4 = to_vc4_dev(dev); vc4_irq_finish_render_job() local 199 struct vc4_dev *vc4 = to_vc4_dev(dev); vc4_irq() local 240 struct vc4_dev *vc4 = to_vc4_dev(dev); vc4_irq_preinstall() local 257 struct vc4_dev *vc4 = to_vc4_dev(dev); vc4_irq_postinstall() local 273 struct vc4_dev *vc4 = to_vc4_dev(dev); vc4_irq_uninstall() local 293 struct vc4_dev *vc4 = to_vc4_dev(dev); vc4_irq_reset() local [all...] |
H A D | vc4_bo.c | 40 static void vc4_bo_stats_print(struct drm_printer *p, struct vc4_dev *vc4) in vc4_bo_stats_print() argument 44 for (i = 0; i < vc4->num_labels; i++) { in vc4_bo_stats_print() 45 if (!vc4->bo_labels[i].num_allocated) in vc4_bo_stats_print() 49 vc4->bo_labels[i].name, in vc4_bo_stats_print() 50 vc4->bo_labels[i].size_allocated / 1024, in vc4_bo_stats_print() 51 vc4->bo_labels[i].num_allocated); in vc4_bo_stats_print() 54 mutex_lock(&vc4->purgeable.lock); in vc4_bo_stats_print() 55 if (vc4->purgeable.num) in vc4_bo_stats_print() 57 vc4->purgeable.size / 1024, vc4 in vc4_bo_stats_print() 70 struct vc4_dev *vc4 = to_vc4_dev(dev); vc4_bo_stats_debugfs() local 86 vc4_get_user_label(struct vc4_dev *vc4, const char *name) vc4_get_user_label() argument 131 struct vc4_dev *vc4 = to_vc4_dev(gem_obj->dev); vc4_bo_set_label() local 165 struct vc4_dev *vc4 = to_vc4_dev(obj->dev); vc4_bo_destroy() local 183 struct vc4_dev *vc4 = to_vc4_dev(bo->base.base.dev); vc4_bo_remove_from_cache() local 193 struct vc4_dev *vc4 = to_vc4_dev(dev); vc4_get_cache_list_for_size() local 233 struct vc4_dev *vc4 = to_vc4_dev(dev); vc4_bo_cache_purge() local 247 struct vc4_dev *vc4 = to_vc4_dev(bo->base.base.dev); vc4_bo_add_to_purgeable_pool() local 258 struct vc4_dev *vc4 = to_vc4_dev(bo->base.base.dev); vc4_bo_remove_from_purgeable_pool_locked() local 279 struct vc4_dev *vc4 = to_vc4_dev(bo->base.base.dev); vc4_bo_remove_from_purgeable_pool() local 303 struct vc4_dev *vc4 = to_vc4_dev(dev); vc4_bo_userspace_cache_purge() local 352 struct vc4_dev *vc4 = to_vc4_dev(dev); vc4_bo_get_from_cache() local 387 struct vc4_dev *vc4 = to_vc4_dev(dev); vc4_create_object() local 410 struct vc4_dev *vc4 = to_vc4_dev(dev); vc4_bo_create() local 500 struct vc4_dev *vc4 = to_vc4_dev(dev); vc4_bo_cache_free_old() local 526 struct vc4_dev *vc4 = to_vc4_dev(dev); vc4_free_object() local 591 struct vc4_dev *vc4 = vc4_bo_cache_time_work() local 653 struct vc4_dev *vc4 = from_timer(vc4, t, bo_cache.time_timer); vc4_bo_cache_time_timer() local 796 vc4_grab_bin_bo(struct vc4_dev *vc4, struct vc4_file *vc4file) vc4_grab_bin_bo() argument 818 struct vc4_dev *vc4 = to_vc4_dev(dev); vc4_create_bo_ioctl() local 867 struct vc4_dev *vc4 = to_vc4_dev(dev); vc4_create_shader_bo_ioctl() local 1011 struct vc4_dev *vc4 = to_vc4_dev(dev); vc4_bo_cache_init() local 1042 struct vc4_dev *vc4 = to_vc4_dev(dev); vc4_bo_cache_destroy() local 1067 struct vc4_dev *vc4 = to_vc4_dev(dev); vc4_label_bo_ioctl() local [all...] |
H A D | vc4_v3d.c | 103 struct vc4_dev *vc4 = to_vc4_dev(dev); in vc4_v3d_debugfs_ident() local 104 int ret = vc4_v3d_pm_get(vc4); in vc4_v3d_debugfs_ident() 119 vc4_v3d_pm_put(vc4); in vc4_v3d_debugfs_ident() 130 vc4_v3d_pm_get(struct vc4_dev *vc4) in vc4_v3d_pm_get() argument 132 mutex_lock(&vc4->power_lock); in vc4_v3d_pm_get() 133 if (vc4->power_refcount++ == 0) { in vc4_v3d_pm_get() 134 int ret = pm_runtime_get_sync(&vc4->v3d->pdev->dev); in vc4_v3d_pm_get() 137 vc4->power_refcount--; in vc4_v3d_pm_get() 138 mutex_unlock(&vc4->power_lock); in vc4_v3d_pm_get() 142 mutex_unlock(&vc4 in vc4_v3d_pm_get() 148 vc4_v3d_pm_put(struct vc4_dev *vc4) vc4_v3d_pm_put() argument 160 struct vc4_dev *vc4 = to_vc4_dev(dev); vc4_v3d_init_hw() local 169 vc4_v3d_get_bin_slot(struct vc4_dev *vc4) vc4_v3d_get_bin_slot() argument 230 bin_bo_alloc(struct vc4_dev *vc4) bin_bo_alloc() argument 317 vc4_v3d_bin_bo_get(struct vc4_dev *vc4, bool *used) vc4_v3d_bin_bo_get() argument 342 struct vc4_dev *vc4 = container_of(ref, struct vc4_dev, bin_bo_kref); bin_bo_release() local 351 vc4_v3d_bin_bo_put(struct vc4_dev *vc4) vc4_v3d_bin_bo_put() argument 362 struct vc4_dev *vc4 = v3d->vc4; vc4_v3d_runtime_suspend() local 374 struct vc4_dev *vc4 = v3d->vc4; vc4_v3d_runtime_resume() local 395 struct vc4_dev *vc4 = to_vc4_dev(drm); vc4_v3d_bind() local 472 struct vc4_dev *vc4 = to_vc4_dev(drm); vc4_v3d_unbind() local [all...] |
H A D | vc4_gem.c | 42 struct vc4_dev *vc4 = to_vc4_dev(dev); in vc4_queue_hangcheck() local 44 mod_timer(&vc4->hangcheck.timer, in vc4_queue_hangcheck() 74 struct vc4_dev *vc4 = to_vc4_dev(dev); in vc4_get_hang_state_ioctl() local 79 if (!vc4->v3d) { in vc4_get_hang_state_ioctl() 84 spin_lock_irqsave(&vc4->job_lock, irqflags); in vc4_get_hang_state_ioctl() 85 kernel_state = vc4->hang_state; in vc4_get_hang_state_ioctl() 87 spin_unlock_irqrestore(&vc4->job_lock, irqflags); in vc4_get_hang_state_ioctl() 97 spin_unlock_irqrestore(&vc4->job_lock, irqflags); in vc4_get_hang_state_ioctl() 101 vc4->hang_state = NULL; in vc4_get_hang_state_ioctl() 102 spin_unlock_irqrestore(&vc4 in vc4_get_hang_state_ioctl() 151 struct vc4_dev *vc4 = to_vc4_dev(dev); vc4_save_hang_state() local 288 struct vc4_dev *vc4 = to_vc4_dev(dev); vc4_reset() local 314 struct vc4_dev *vc4 = vc4_reset_work() local 325 struct vc4_dev *vc4 = from_timer(vc4, t, hangcheck.timer); vc4_hangcheck_elapsed() local 371 struct vc4_dev *vc4 = to_vc4_dev(dev); submit_cl() local 384 struct vc4_dev *vc4 = to_vc4_dev(dev); vc4_wait_for_seqno() local 431 struct vc4_dev *vc4 = to_vc4_dev(dev); vc4_flush_caches() local 450 struct vc4_dev *vc4 = to_vc4_dev(dev); vc4_flush_texture_caches() local 468 struct vc4_dev *vc4 = to_vc4_dev(dev); vc4_submit_next_bin_job() local 508 struct vc4_dev *vc4 = to_vc4_dev(dev); vc4_submit_next_render_job() local 528 struct vc4_dev *vc4 = to_vc4_dev(dev); vc4_move_job_to_render() local 668 struct vc4_dev *vc4 = to_vc4_dev(dev); vc4_queue_submit() local 824 struct vc4_dev *vc4 = to_vc4_dev(dev); vc4_get_bcl() local 943 struct vc4_dev *vc4 = to_vc4_dev(dev); vc4_complete_exec() local 990 vc4_job_handle_completed(struct vc4_dev *vc4) vc4_job_handle_completed() argument 1028 struct vc4_dev *vc4 = to_vc4_dev(dev); vc4_queue_seqno_cb() local 1054 struct vc4_dev *vc4 = vc4_job_done_work() local 1130 struct vc4_dev *vc4 = to_vc4_dev(dev); vc4_submit_cl_ioctl() local 1269 struct vc4_dev *vc4 = to_vc4_dev(dev); vc4_gem_init() local 1294 struct vc4_dev *vc4 = to_vc4_dev(dev); vc4_gem_destroy() local [all...] |
H A D | vc4_kms.c | 67 struct vc4_dev *vc4 = to_vc4_dev(dev); in vc4_get_ctm_state() local 71 ret = drm_modeset_lock(&vc4->ctm_state_lock, state->acquire_ctx); in vc4_get_ctm_state() 111 struct vc4_dev *vc4 = to_vc4_dev(dev); in vc4_ctm_obj_fini() local 113 drm_atomic_private_obj_fini(&vc4->ctm_manager); in vc4_ctm_obj_fini() 116 static int vc4_ctm_obj_init(struct vc4_dev *vc4) in vc4_ctm_obj_init() argument 120 drm_modeset_lock_init(&vc4->ctm_state_lock); in vc4_ctm_obj_init() 126 drm_atomic_private_obj_init(&vc4->base, &vc4->ctm_manager, &ctm_state->base, in vc4_ctm_obj_init() 129 return drmm_add_action_or_reset(&vc4->base, vc4_ctm_obj_fini, NULL); in vc4_ctm_obj_init() 152 vc4_ctm_commit(struct vc4_dev *vc4, struc argument 188 struct vc4_dev *vc4 = to_vc4_dev(state->dev); vc4_hvs_get_global_state() local 198 vc4_hvs_pv_muxing_commit(struct vc4_dev *vc4, struct drm_atomic_state *state) vc4_hvs_pv_muxing_commit() argument 237 vc5_hvs_pv_muxing_commit(struct vc4_dev *vc4, struct drm_atomic_state *state) vc5_hvs_pv_muxing_commit() argument 309 struct vc4_dev *vc4 = to_vc4_dev(dev); vc4_atomic_complete_commit() local 388 struct vc4_dev *vc4 = to_vc4_dev(dev); vc4_atomic_commit() local 521 struct vc4_dev *vc4 = to_vc4_dev(dev); vc4_ctm_atomic_check() local 588 struct vc4_dev *vc4 = to_vc4_dev(state->dev); vc4_load_tracker_atomic_check() local 669 struct vc4_dev *vc4 = to_vc4_dev(dev); vc4_load_tracker_obj_fini() local 677 vc4_load_tracker_obj_init(struct vc4_dev *vc4) vc4_load_tracker_obj_init() argument 727 struct vc4_dev *vc4 = to_vc4_dev(dev); vc4_hvs_channels_obj_fini() local 732 vc4_hvs_channels_obj_init(struct vc4_dev *vc4) vc4_hvs_channels_obj_init() argument 878 struct vc4_dev *vc4 = to_vc4_dev(dev); vc4_kms_load() local [all...] |
H A D | vc4_hvs.c | 69 struct vc4_dev *vc4 = to_vc4_dev(dev); in vc4_hvs_dump_state() local 70 struct drm_printer p = drm_info_printer(&vc4->hvs->pdev->dev); in vc4_hvs_dump_state() 73 drm_print_regset32(&p, &vc4->hvs->regset); in vc4_hvs_dump_state() 79 readl((u32 __iomem *)vc4->hvs->dlist + i + 0), in vc4_hvs_dump_state() 80 readl((u32 __iomem *)vc4->hvs->dlist + i + 1), in vc4_hvs_dump_state() 81 readl((u32 __iomem *)vc4->hvs->dlist + i + 2), in vc4_hvs_dump_state() 82 readl((u32 __iomem *)vc4->hvs->dlist + i + 3)); in vc4_hvs_dump_state() 90 struct vc4_dev *vc4 = to_vc4_dev(dev); in vc4_hvs_debugfs_underrun() local 93 drm_printf(&p, "%d\n", atomic_read(&vc4->underrun)); in vc4_hvs_debugfs_underrun() 163 struct vc4_dev *vc4 in vc4_hvs_lut_load() local 202 struct vc4_dev *vc4 = to_vc4_dev(dev); vc4_hvs_get_fifo_from_output() local 253 vc4_hvs_init_channel(struct vc4_dev *vc4, struct drm_crtc *crtc, struct drm_display_mode *mode, bool oneshot) vc4_hvs_init_channel() argument 307 struct vc4_dev *vc4 = to_vc4_dev(dev); vc4_hvs_stop_channel() local 334 struct vc4_dev *vc4 = to_vc4_dev(dev); vc4_hvs_atomic_check() local 365 struct vc4_dev *vc4 = to_vc4_dev(dev); vc4_hvs_update_dlist() local 397 struct vc4_dev *vc4 = to_vc4_dev(dev); vc4_hvs_atomic_enable() local 420 struct vc4_dev *vc4 = to_vc4_dev(dev); vc4_hvs_atomic_flush() local 500 struct vc4_dev *vc4 = to_vc4_dev(dev); vc4_hvs_mask_underrun() local 510 struct vc4_dev *vc4 = to_vc4_dev(dev); vc4_hvs_unmask_underrun() local 522 struct vc4_dev *vc4 = to_vc4_dev(dev); vc4_hvs_report_underrun() local 531 struct vc4_dev *vc4 = to_vc4_dev(dev); vc4_hvs_irq_handler() local 563 struct vc4_dev *vc4 = to_vc4_dev(drm); vc4_hvs_bind() local 709 struct vc4_dev *vc4 = to_vc4_dev(drm); vc4_hvs_unbind() local [all...] |
H A D | vc4_drv.c | 44 #define DRIVER_NAME "vc4" 70 struct vc4_dev *vc4 = to_vc4_dev(dev); in vc4_get_param_ioctl() local 77 if (!vc4->v3d) in vc4_get_param_ioctl() 82 ret = vc4_v3d_pm_get(vc4); in vc4_get_param_ioctl() 86 vc4_v3d_pm_put(vc4); in vc4_get_param_ioctl() 89 ret = vc4_v3d_pm_get(vc4); in vc4_get_param_ioctl() 93 vc4_v3d_pm_put(vc4); in vc4_get_param_ioctl() 96 ret = vc4_v3d_pm_get(vc4); in vc4_get_param_ioctl() 100 vc4_v3d_pm_put(vc4); in vc4_get_param_ioctl() 133 struct vc4_dev *vc4 in vc4_close() local 262 struct vc4_dev *vc4; vc4_drm_bind() local [all...] |
H A D | vc4_perfmon.c | 30 void vc4_perfmon_start(struct vc4_dev *vc4, struct vc4_perfmon *perfmon) in vc4_perfmon_start() argument 35 if (WARN_ON_ONCE(!perfmon || vc4->active_perfmon)) in vc4_perfmon_start() 44 vc4->active_perfmon = perfmon; in vc4_perfmon_start() 47 void vc4_perfmon_stop(struct vc4_dev *vc4, struct vc4_perfmon *perfmon, in vc4_perfmon_stop() argument 52 if (WARN_ON_ONCE(!vc4->active_perfmon || in vc4_perfmon_stop() 53 perfmon != vc4->active_perfmon)) in vc4_perfmon_stop() 62 vc4->active_perfmon = NULL; in vc4_perfmon_stop() 103 struct vc4_dev *vc4 = to_vc4_dev(dev); in vc4_perfmon_create_ioctl() local 110 if (!vc4->v3d) { in vc4_perfmon_create_ioctl() 155 struct vc4_dev *vc4 in vc4_perfmon_destroy_ioctl() local 179 struct vc4_dev *vc4 = to_vc4_dev(dev); vc4_perfmon_get_values_ioctl() local [all...] |
H A D | vc4_debugfs.c | 26 struct vc4_dev *vc4 = to_vc4_dev(minor->dev); in vc4_debugfs_init() local 30 minor->debugfs_root, &vc4->load_tracker_enabled); in vc4_debugfs_init() 32 list_for_each_entry(entry, &vc4->debugfs_list, link) { in vc4_debugfs_init() 50 * Registers a debugfs file with a callback function for a vc4 component. 63 struct vc4_dev *vc4 = to_vc4_dev(dev); in vc4_debugfs_add_file() local 75 list_add(&entry->link, &vc4->debugfs_list); in vc4_debugfs_add_file()
|
H A D | vc4_drv.h | 261 /* Time in jiffies when the BO was put in vc4->bo_cache. */ 297 /* vc4 seqno for signaled() test */ 314 struct vc4_dev *vc4; member 547 #define V3D_READ(offset) readl(vc4->v3d->regs + offset) 548 #define V3D_WRITE(offset, val) writel(val, vc4->v3d->regs + offset) 549 #define HVS_READ(offset) readl(vc4->hvs->regs + offset) 550 #define HVS_WRITE(offset, val) writel(val, vc4->hvs->regs + offset) 584 /* Pointers for our position in vc4->job_list */ 685 vc4_first_bin_job(struct vc4_dev *vc4) in vc4_first_bin_job() argument 687 return list_first_entry_or_null(&vc4 in vc4_first_bin_job() 692 vc4_first_render_job(struct vc4_dev *vc4) vc4_first_render_job() argument 699 vc4_last_render_job(struct vc4_dev *vc4) vc4_last_render_job() argument [all...] |
H A D | Makefile | 5 vc4-y := \ 28 vc4-$(CONFIG_DEBUG_FS) += vc4_debugfs.o 30 obj-$(CONFIG_DRM_VC4) += vc4.o
|
H A D | vc4_crtc.c | 69 vc4_crtc_get_cob_allocation(struct vc4_dev *vc4, unsigned int channel) in vc4_crtc_get_cob_allocation() argument 89 struct vc4_dev *vc4 = to_vc4_dev(dev); in vc4_crtc_get_scanout_position() local 128 cob_size = vc4_crtc_get_cob_allocation(vc4, vc4_crtc_state->assigned_channel); in vc4_crtc_get_scanout_position() 213 struct vc4_dev *vc4 = to_vc4_dev(vc4_crtc->base.dev); in vc4_get_fifo_full_level() local 255 if (!vc4->hvs->hvs5) in vc4_get_fifo_full_level() 311 struct vc4_dev *vc4 = to_vc4_dev(dev); in vc4_crtc_config_pv() local 394 if (vc4->hvs->hvs5) in vc4_crtc_config_pv() 419 struct vc4_dev *vc4 = to_vc4_dev(dev); in require_hvs_enabled() local 647 struct vc4_dev *vc4 = to_vc4_dev(dev); in vc4_crtc_handle_page_flip() local 712 struct vc4_dev *vc4 in vc4_async_page_flip_complete() local 760 struct vc4_dev *vc4 = to_vc4_dev(dev); vc4_async_page_flip() local 857 struct vc4_dev *vc4 = to_vc4_dev(crtc->dev); vc4_crtc_destroy_state() local 1065 struct vc4_dev *vc4 = to_vc4_dev(drm); vc4_crtc_init() local [all...] |
/kernel/linux/linux-6.6/drivers/gpu/drm/vc4/tests/ |
H A D | vc4_mock.c | 168 struct vc4_dev *vc4; in __mock_device() local 175 vc4 = drm_kunit_helper_alloc_drm_device_with_driver(test, dev, in __mock_device() 178 KUNIT_ASSERT_NOT_ERR_OR_NULL(test, vc4); in __mock_device() 180 vc4->dev = dev; in __mock_device() 181 vc4->is_vc5 = is_vc5; in __mock_device() 183 vc4->hvs = __vc4_hvs_alloc(vc4, NULL); in __mock_device() 184 KUNIT_ASSERT_NOT_ERR_OR_NULL(test, vc4->hvs); in __mock_device() 186 drm = &vc4->base; in __mock_device() 201 return vc4; in __mock_device() [all...] |
H A D | vc4_test_pv_muxing.c | 22 struct vc4_dev *vc4; member 730 struct vc4_dev *vc4; in vc4_pv_muxing_test_init() local 736 vc4 = params->mock_fn(test); in vc4_pv_muxing_test_init() 737 KUNIT_ASSERT_NOT_ERR_OR_NULL(test, vc4); in vc4_pv_muxing_test_init() 738 priv->vc4 = vc4; in vc4_pv_muxing_test_init() 743 drm = &vc4->base; in vc4_pv_muxing_test_init() 759 .name = "vc4-pv-muxing-combinations", 792 struct vc4_dev *vc4; in drm_test_vc5_pv_muxing_bugs_subsequent_crtc_enable() local 795 vc4 in drm_test_vc5_pv_muxing_bugs_subsequent_crtc_enable() 864 struct vc4_dev *vc4; drm_test_vc5_pv_muxing_bugs_stable_fifo() local 956 struct vc4_dev *vc4; drm_test_vc5_pv_muxing_bugs_subsequent_crtc_enable_too_many_crtc_state() local [all...] |