Home
last modified time | relevance | path

Searched refs:vc4 (Results 1 – 25 of 60) sorted by relevance

123

/linux/drivers/gpu/drm/vc4/ !
H A Dvc4_irq.c64 struct vc4_dev *vc4 = in vc4_overflow_mem_work() local
71 mutex_lock(&vc4->bin_bo_lock); in vc4_overflow_mem_work()
73 if (!vc4->bin_bo) in vc4_overflow_mem_work()
76 bo = vc4->bin_bo; in vc4_overflow_mem_work()
78 bin_bo_slot = vc4_v3d_get_bin_slot(vc4); in vc4_overflow_mem_work()
80 drm_err(&vc4->base, "Couldn't allocate binner overflow mem\n"); in vc4_overflow_mem_work()
84 spin_lock_irqsave(&vc4->job_lock, irqflags); in vc4_overflow_mem_work()
86 if (vc4->bin_alloc_overflow) { in vc4_overflow_mem_work()
93 exec = vc4_first_bin_job(vc4); in vc4_overflow_mem_work()
95 exec = vc4_last_render_job(vc4); in vc4_overflow_mem_work()
[all …]
H A Dvc4_bo.c45 static void vc4_bo_stats_print(struct drm_printer *p, struct vc4_dev *vc4) in vc4_bo_stats_print() argument
49 for (i = 0; i < vc4->num_labels; i++) { in vc4_bo_stats_print()
50 if (!vc4->bo_labels[i].num_allocated) in vc4_bo_stats_print()
54 vc4->bo_labels[i].name, in vc4_bo_stats_print()
55 vc4->bo_labels[i].size_allocated / 1024, in vc4_bo_stats_print()
56 vc4->bo_labels[i].num_allocated); in vc4_bo_stats_print()
59 mutex_lock(&vc4->purgeable.lock); in vc4_bo_stats_print()
60 if (vc4->purgeable.num) in vc4_bo_stats_print()
62 vc4->purgeable.size / 1024, vc4->purgeable.num); in vc4_bo_stats_print()
64 if (vc4->purgeable.purged_num) in vc4_bo_stats_print()
[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 if (WARN_ON_ONCE(vc4->gen > VC4_GEN_4)) in vc4_v3d_pm_get()
135 mutex_lock(&vc4->power_lock); in vc4_v3d_pm_get()
136 if (vc4->power_refcount++ == 0) { in vc4_v3d_pm_get()
137 int ret = pm_runtime_get_sync(&vc4->v3d->pdev->dev); in vc4_v3d_pm_get()
140 vc4->power_refcount--; in vc4_v3d_pm_get()
141 mutex_unlock(&vc4->power_lock); in vc4_v3d_pm_get()
[all …]
H A Dvc4_gem.c44 struct vc4_dev *vc4 = to_vc4_dev(dev); in vc4_queue_hangcheck() local
46 mod_timer(&vc4->hangcheck.timer, in vc4_queue_hangcheck()
76 struct vc4_dev *vc4 = to_vc4_dev(dev); in vc4_get_hang_state_ioctl() local
81 if (WARN_ON_ONCE(vc4->gen > VC4_GEN_4)) in vc4_get_hang_state_ioctl()
84 if (!vc4->v3d) { in vc4_get_hang_state_ioctl()
89 spin_lock_irqsave(&vc4->job_lock, irqflags); in vc4_get_hang_state_ioctl()
90 kernel_state = vc4->hang_state; in vc4_get_hang_state_ioctl()
92 spin_unlock_irqrestore(&vc4->job_lock, irqflags); in vc4_get_hang_state_ioctl()
102 spin_unlock_irqrestore(&vc4->job_lock, irqflags); in vc4_get_hang_state_ioctl()
106 vc4->hang_state = NULL; in vc4_get_hang_state_ioctl()
[all …]
H A Dvc4_perfmon.c22 struct vc4_dev *vc4; in vc4_perfmon_get() local
27 vc4 = perfmon->dev; in vc4_perfmon_get()
28 if (WARN_ON_ONCE(vc4->gen > VC4_GEN_4)) in vc4_perfmon_get()
36 struct vc4_dev *vc4; in vc4_perfmon_put() local
41 vc4 = perfmon->dev; in vc4_perfmon_put()
42 if (WARN_ON_ONCE(vc4->gen > VC4_GEN_4)) in vc4_perfmon_put()
49 void vc4_perfmon_start(struct vc4_dev *vc4, struct vc4_perfmon *perfmon) in vc4_perfmon_start() argument
54 if (WARN_ON_ONCE(vc4->gen > VC4_GEN_4)) in vc4_perfmon_start()
57 if (WARN_ON_ONCE(!perfmon || vc4->active_perfmon)) in vc4_perfmon_start()
66 vc4->active_perfmon = perfmon; in vc4_perfmon_start()
[all …]
H A Dvc4_kms.c51 struct vc4_dev *vc4 = to_vc4_dev(dev); in vc4_get_ctm_state() local
55 ret = drm_modeset_lock(&vc4->ctm_state_lock, state->acquire_ctx); in vc4_get_ctm_state()
95 struct vc4_dev *vc4 = to_vc4_dev(dev); in vc4_ctm_obj_fini() local
97 drm_atomic_private_obj_fini(&vc4->ctm_manager); in vc4_ctm_obj_fini()
100 static int vc4_ctm_obj_init(struct vc4_dev *vc4) in vc4_ctm_obj_init() argument
104 drm_modeset_lock_init(&vc4->ctm_state_lock); in vc4_ctm_obj_init()
110 drm_atomic_private_obj_init(&vc4->base, &vc4->ctm_manager, &ctm_state->base, in vc4_ctm_obj_init()
113 return drmm_add_action_or_reset(&vc4->base, vc4_ctm_obj_fini, NULL); in vc4_ctm_obj_init()
136 vc4_ctm_commit(struct vc4_dev *vc4, struct drm_atomic_state *state) in vc4_ctm_commit() argument
138 struct vc4_hvs *hvs = vc4->hvs; in vc4_ctm_commit()
[all …]
H A Dvc4_hvs.c207 struct drm_device *drm = &hvs->vc4->base; in vc4_hvs_dump_state()
233 struct vc4_dev *vc4 = to_vc4_dev(dev); in vc4_hvs_debugfs_underrun() local
236 drm_printf(&p, "%d\n", atomic_read(&vc4->underrun)); in vc4_hvs_debugfs_underrun()
245 struct vc4_dev *vc4 = to_vc4_dev(dev); in vc4_hvs_debugfs_dlist() local
246 struct vc4_hvs *hvs = vc4->hvs; in vc4_hvs_debugfs_dlist()
266 dlist_word = readl((u32 __iomem *)vc4->hvs->dlist + j); in vc4_hvs_debugfs_dlist()
287 struct vc4_dev *vc4 = to_vc4_dev(dev); in vc6_hvs_debugfs_dlist() local
288 struct vc4_hvs *hvs = vc4->hvs; in vc6_hvs_debugfs_dlist()
315 dlist_word = readl((u32 __iomem *)vc4->hvs->dlist + j); in vc6_hvs_debugfs_dlist()
336 struct vc4_dev *vc4 = to_vc4_dev(dev); in vc6_hvs_debugfs_upm_allocs() local
[all …]
H A Dvc4_drv.c96 struct vc4_dev *vc4 = to_vc4_dev(dev); in vc4_get_param_ioctl() local
103 if (WARN_ON_ONCE(vc4->gen > VC4_GEN_4)) in vc4_get_param_ioctl()
106 if (!vc4->v3d) in vc4_get_param_ioctl()
111 ret = vc4_v3d_pm_get(vc4); in vc4_get_param_ioctl()
115 vc4_v3d_pm_put(vc4); in vc4_get_param_ioctl()
118 ret = vc4_v3d_pm_get(vc4); in vc4_get_param_ioctl()
122 vc4_v3d_pm_put(vc4); in vc4_get_param_ioctl()
125 ret = vc4_v3d_pm_get(vc4); in vc4_get_param_ioctl()
129 vc4_v3d_pm_put(vc4); in vc4_get_param_ioctl()
149 struct vc4_dev *vc4 = to_vc4_dev(dev); in vc4_open() local
[all …]
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()
93 if (vc4->gen >= VC4_GEN_6_C) { in vc4_crtc_get_cob_allocation()
113 struct vc4_dev *vc4 = to_vc4_dev(dev); in vc4_crtc_get_scanout_position() local
114 struct vc4_hvs *hvs = vc4->hvs; in vc4_crtc_get_scanout_position()
134 if (vc4->gen >= VC4_GEN_6_C) in vc4_crtc_get_scanout_position()
147 if (vc4->gen >= VC4_GEN_6_C) in vc4_crtc_get_scanout_position()
162 cob_size = vc4_crtc_get_cob_allocation(vc4, channel); in vc4_crtc_get_scanout_position()
242 struct vc4_dev *vc4 = to_vc4_dev(vc4_crtc->base.dev); in vc4_get_fifo_full_level() local
289 if (vc4->gen == VC4_GEN_4) in vc4_get_fifo_full_level()
[all …]
H A Dvc4_drv.h293 struct vc4_dev *vc4; member
316 struct vc4_dev *vc4; member
642 readl(vc4->v3d->regs + (offset)); \
648 writel(val, vc4->v3d->regs + (offset)); \
664 HVS_READ(hvs->vc4->gen == VC4_GEN_6_C ? SCALER6_ ## offset : SCALER6D_ ## offset)
667 HVS_WRITE(hvs->vc4->gen == VC4_GEN_6_C ? SCALER6_ ## offset : SCALER6D_ ## offset, val)
803 vc4_first_bin_job(struct vc4_dev *vc4) in vc4_first_bin_job() argument
805 return list_first_entry_or_null(&vc4->bin_job_list, in vc4_first_bin_job()
810 vc4_first_render_job(struct vc4_dev *vc4) in vc4_first_render_job() argument
812 return list_first_entry_or_null(&vc4->render_job_list, in vc4_first_render_job()
[all …]
H A Dvc4_plane.c282 struct vc4_dev *vc4 = to_vc4_dev(plane->dev); in vc4_plane_duplicate_state() local
283 struct vc4_hvs *hvs = vc4->hvs; in vc4_plane_duplicate_state()
337 struct vc4_dev *vc4 = to_vc4_dev(plane->dev); in vc4_plane_destroy_state() local
338 struct vc4_hvs *hvs = vc4->hvs; in vc4_plane_destroy_state()
572 struct vc4_dev *vc4 = to_vc4_dev(vc4_state->base.plane->dev); in vc4_write_tpz() local
575 WARN_ON_ONCE(vc4->gen > VC4_GEN_6_D); in vc4_write_tpz()
602 struct vc4_dev *vc4 = to_vc4_dev(vc4_state->base.plane->dev); in vc4_write_ppf() local
607 WARN_ON_ONCE(vc4->gen > VC4_GEN_6_D); in vc4_write_ppf()
664 struct vc4_dev *vc4 = to_vc4_dev(state->plane->dev); in __vc4_lbm_size() local
701 lbm = roundup(lbm, vc4->gen == VC4_GEN_5 ? 128 : 64); in __vc4_lbm_size()
[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_debugfs.c25 struct vc4_dev *vc4 = to_vc4_dev(minor->dev); in vc4_debugfs_init() local
26 struct drm_device *drm = &vc4->base; in vc4_debugfs_init()
30 if (vc4->v3d) { in vc4_debugfs_init()
H A Dvc4_validate.c110 struct vc4_dev *vc4 = exec->dev; in vc4_use_bo() local
114 if (WARN_ON_ONCE(vc4->gen > VC4_GEN_4)) in vc4_use_bo()
169 struct vc4_dev *vc4 = exec->dev; in vc4_check_tex_size() local
174 if (WARN_ON_ONCE(vc4->gen > VC4_GEN_4)) in vc4_check_tex_size()
359 struct vc4_dev *vc4 = to_vc4_dev(dev); in validate_tile_binning_config() local
389 bin_slot = vc4_v3d_get_bin_slot(vc4); in validate_tile_binning_config()
402 bin_addr = vc4->bin_bo->base.dma_addr + bin_slot * vc4->bin_alloc_size; in validate_tile_binning_config()
424 *(uint32_t *)(validated + 4) = (bin_addr + vc4->bin_alloc_size - in validate_tile_binning_config()
492 struct vc4_dev *vc4 = to_vc4_dev(dev); in vc4_validate_bin_cl() local
497 if (WARN_ON_ONCE(vc4->gen > VC4_GEN_4)) in vc4_validate_bin_cl()
[all …]
H A Dvc4_fence.c39 struct vc4_dev *vc4 = to_vc4_dev(f->dev); in vc4_fence_signaled() local
41 return vc4->finished_seqno >= f->seqno; in vc4_fence_signaled()
H A Dvc4_regs.h24 WARN_ON(!FIELD_FIT(hvs->vc4->gen == VC4_GEN_6_C ? \
27 FIELD_PREP(hvs->vc4->gen == VC4_GEN_6_C ? \
32 #define VC6_GET_FIELD(word, field) FIELD_GET(hvs->vc4->gen == VC4_GEN_6_C ? \
565 #define SCALER6_DISPX_CTRL0(x) ((hvs->vc4->gen == VC4_GEN_6_C) ? \
576 #define SCALER6_DISPX_CTRL1(x) ((hvs->vc4->gen == VC4_GEN_6_C) ? \
583 #define SCALER6_DISPX_BGND(x) ((hvs->vc4->gen == VC4_GEN_6_C) ? \
588 #define SCALER6_DISPX_LPTRS(x) ((hvs->vc4->gen == VC4_GEN_6_C) ? \
594 #define SCALER6_DISPX_COB(x) ((hvs->vc4->gen == VC4_GEN_6_C) ? \
601 #define SCALER6_DISPX_STATUS(x) ((hvs->vc4->gen == VC4_GEN_6_C) ? \
616 #define SCALER6_DISPX_DL(x) ((hvs->vc4->gen == VC4_GEN_6_C) ? \
[all …]
H A Dvc4_trace.h14 #define TRACE_SYSTEM vc4
154 #define TRACE_INCLUDE_PATH ../../drivers/gpu/drm/vc4
/linux/Documentation/gpu/ !
H A Dvc4.rst2 drm/vc4 Broadcom VC4 Graphics Driver
5 .. kernel-doc:: drivers/gpu/drm/vc4/vc4_drv.c
18 .. kernel-doc:: drivers/gpu/drm/vc4/vc4_crtc.c
24 .. kernel-doc:: drivers/gpu/drm/vc4/vc4_hvs.c
30 .. kernel-doc:: drivers/gpu/drm/vc4/vc4_plane.c
36 .. kernel-doc:: drivers/gpu/drm/vc4/vc4_hdmi.c
42 .. kernel-doc:: drivers/gpu/drm/vc4/vc4_dsi.c
48 .. kernel-doc:: drivers/gpu/drm/vc4/vc4_dpi.c
54 .. kernel-doc:: drivers/gpu/drm/vc4/vc4_vec.c
69 --kunitconfig=drivers/gpu/drm/vc4/tests/.kunitconfig \
[all …]
H A Ddrivers.rst18 vc4
/linux/drivers/gpu/drm/vc4/tests/ !
H A Dvc4_mock.c163 struct vc4_dev *vc4; in __mock_device() local
170 vc4 = drm_kunit_helper_alloc_drm_device_with_driver(test, dev, in __mock_device()
173 KUNIT_ASSERT_NOT_ERR_OR_NULL(test, vc4); in __mock_device()
175 vc4->dev = dev; in __mock_device()
176 vc4->gen = gen; in __mock_device()
178 vc4->hvs = __vc4_hvs_alloc(vc4, NULL, NULL); in __mock_device()
179 KUNIT_ASSERT_NOT_ERR_OR_NULL(test, vc4->hvs); in __mock_device()
181 drm = &vc4->base; in __mock_device()
196 return vc4; in __mock_device()
H A Dvc4_test_pv_muxing.c22 struct vc4_dev *vc4; member
682 struct vc4_dev *vc4; in drm_vc4_test_pv_muxing() local
688 vc4 = priv->vc4; in drm_vc4_test_pv_muxing()
689 drm = &vc4->base; in drm_vc4_test_pv_muxing()
737 struct vc4_dev *vc4; in drm_vc4_test_pv_muxing_invalid() local
743 vc4 = priv->vc4; in drm_vc4_test_pv_muxing_invalid()
744 drm = &vc4->base; in drm_vc4_test_pv_muxing_invalid()
780 struct vc4_dev *vc4; in vc4_pv_muxing_test_init() local
786 vc4 = params->mock_fn(test); in vc4_pv_muxing_test_init()
787 KUNIT_ASSERT_NOT_ERR_OR_NULL(test, vc4); in vc4_pv_muxing_test_init()
[all …]
/linux/drivers/gpu/drm/ci/xfails/ !
H A Dmsm-apq8016-skips.txt6 ^vc4.*
H A Dmeson-g12b-skips.txt7 ^vc4.*
H A Di915-jsl-skips.txt10 ^vc4.*
/linux/arch/arm/boot/dts/broadcom/ !
H A Dbcm2835-common.dtsi144 vc4: gpu { label
145 compatible = "brcm,bcm2835-vc4";

123