Home
last modified time | relevance | path

Searched refs:vc4 (Results 1 - 25 of 44) sorted by relevance

12

/kernel/linux/linux-6.6/drivers/gpu/drm/vc4/
H A Dvc4_irq.c63 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 Dvc4_bo.c44 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 Dvc4_v3d.c101 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 Dvc4_gem.c42 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 Dvc4_perfmon.c20 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 Dvc4_hvs.c72 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 Dvc4_kms.c50 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 Dvc4_drv.c46 #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 Dvc4_drv.h258 /* 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 DMakefile5 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 Dvc4_crtc.c83 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 Dvc4_irq.c60 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 Dvc4_bo.c40 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 Dvc4_v3d.c103 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 Dvc4_gem.c42 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 Dvc4_kms.c67 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 Dvc4_hvs.c69 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 Dvc4_drv.c44 #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 Dvc4_perfmon.c30 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 Dvc4_debugfs.c26 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 Dvc4_drv.h261 /* 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 DMakefile5 vc4-y := \
28 vc4-$(CONFIG_DEBUG_FS) += vc4_debugfs.o
30 obj-$(CONFIG_DRM_VC4) += vc4.o
H A Dvc4_crtc.c69 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 Dvc4_mock.c168 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 Dvc4_test_pv_muxing.c22 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...]

Completed in 20 milliseconds

12