Home
last modified time | relevance | path

Searched refs:v3d (Results 1 – 25 of 63) sorted by relevance

123

/linux-6.15/drivers/gpu/drm/v3d/
H A Dv3d_gem.c28 if (v3d->ver < 40) in v3d_init_core()
61 if (v3d->ver >= 41) in v3d_idle_gca()
99 if (v3d->reset) in v3d_reset_v3d()
121 v3d_idle_gca(v3d); in v3d_reset()
122 v3d_reset_v3d(v3d); in v3d_reset()
127 v3d_perfmon_stop(v3d, v3d->active_perfmon, false); in v3d_reset()
154 if (v3d->ver > 32) in v3d_invalidate_l2c()
278 v3d->pt = dma_alloc_wc(v3d->drm.dev, pt_size, in v3d_gem_init()
281 if (!v3d->pt) { in v3d_gem_init()
296 dma_free_coherent(v3d->drm.dev, pt_size, (void *)v3d->pt, in v3d_gem_init()
[all …]
H A Dv3d_irq.c41 struct v3d_dev *v3d = in v3d_overflow_mem_work() local
64 if (!v3d->bin_job) { in v3d_overflow_mem_work()
73 v3d_mmu_flush_all(v3d); in v3d_overflow_mem_work()
111 v3d->bin_job = NULL; in v3d_irq()
124 v3d->render_job = NULL; in v3d_irq()
137 v3d->csd_job = NULL; in v3d_irq()
177 v3d->tfu_job = NULL; in v3d_hub_irq()
203 if (v3d->ver >= 41) { in v3d_hub_irq()
263 "v3d", v3d); in v3d_irq_init()
268 v3d_irq_enable(v3d); in v3d_irq_init()
[all …]
H A Dv3d_drv.c127 v3d_priv->v3d = v3d; in v3d_open()
283 if (IS_ERR(v3d)) in v3d_platform_drm_probe()
286 drm = &v3d->drm; in v3d_platform_drm_probe()
290 ret = map_regs(v3d, &v3d->hub_regs, "hub"); in v3d_platform_drm_probe()
294 ret = map_regs(v3d, &v3d->core_regs[0], "core0"); in v3d_platform_drm_probe()
334 v3d->reset = NULL; in v3d_platform_drm_probe()
335 ret = map_regs(v3d, &v3d->bridge_regs, "bridge"); in v3d_platform_drm_probe()
344 ret = map_regs(v3d, &v3d->gca_regs, "gca"); in v3d_platform_drm_probe()
349 v3d->mmu_scratch = dma_alloc_wc(dev, 4096, &v3d->mmu_scratch_paddr, in v3d_platform_drm_probe()
382 dma_free_wc(dev, 4096, v3d->mmu_scratch, v3d->mmu_scratch_paddr); in v3d_platform_drm_probe()
[all …]
H A Dv3d_sched.c141 struct v3d_dev *v3d = job->v3d; in v3d_job_start_stats() local
199 struct v3d_dev *v3d = job->v3d; in v3d_job_update_stats() local
224 struct v3d_dev *v3d = job->base.v3d; in v3d_bin_job_run() local
284 struct v3d_dev *v3d = job->base.v3d; in v3d_render_job_run() local
332 struct v3d_dev *v3d = job->base.v3d; in v3d_tfu_job_run() local
379 struct v3d_dev *v3d = job->base.v3d; in v3d_csd_job_run() local
431 struct v3d_dev *v3d = job->base.v3d; in v3d_rewrite_csd_job_wg_counts_from_indirect() local
450 if (v3d->ver < 71 || (v3d->ver == 71 && v3d->rev < 6)) in v3d_rewrite_csd_job_wg_counts_from_indirect()
574 struct v3d_dev *v3d = job->base.v3d; in v3d_reset_performance_queries() local
706 struct v3d_dev *v3d = job->v3d; in v3d_cache_clean_job_run() local
[all …]
H A Dv3d_perfmon.c203 if (v3d->ver >= 71) { in v3d_perfmon_init()
206 } else if (v3d->ver >= 42) { in v3d_perfmon_init()
244 v3d->ver); in v3d_perfmon_start()
248 V3D_PCTR_S1, v3d->ver); in v3d_perfmon_start()
251 V3D_PCTR_S2, v3d->ver); in v3d_perfmon_start()
262 v3d->active_perfmon = perfmon; in v3d_perfmon_start()
285 v3d->active_perfmon = NULL; in v3d_perfmon_stop()
326 struct v3d_dev *v3d = v3d_priv->v3d; in v3d_perfmon_close_file() local
340 struct v3d_dev *v3d = v3d_priv->v3d; in v3d_perfmon_create_ioctl() local
390 struct v3d_dev *v3d = v3d_priv->v3d; in v3d_perfmon_destroy_ioctl() local
[all …]
H A Dv3d_debugfs.c104 if (v3d->ver >= def->min_ver && v3d->ver <= def->max_ver) { in v3d_v3d_debugfs_regs()
113 if (v3d->ver >= def->min_ver && v3d->ver <= def->max_ver) { in v3d_v3d_debugfs_regs()
123 if (v3d->ver >= def->min_ver && v3d->ver <= def->max_ver) { in v3d_v3d_debugfs_regs()
133 if (v3d->ver >= def->min_ver && v3d->ver <= def->max_ver) { in v3d_v3d_debugfs_regs()
167 if (v3d->ver <= 42) { in v3d_v3d_debugfs_ident()
199 if (v3d->ver <= 42) { in v3d_v3d_debugfs_ident()
203 if (v3d->ver < 40) { in v3d_v3d_debugfs_ident()
218 mutex_lock(&v3d->bo_lock); in v3d_debugfs_bo_stats()
237 if (v3d->ver >= 40) { in v3d_measure_clock()
270 spin_lock(&v3d->mm_lock); in v3d_debugfs_mm()
[all …]
H A Dv3d_drv.h200 v3d_has_csd(struct v3d_dev *v3d) in v3d_has_csd() argument
202 return v3d->ver >= 41; in v3d_has_csd()
205 #define v3d_to_pdev(v3d) to_platform_device((v3d)->drm.dev) argument
209 struct v3d_dev *v3d; member
272 struct v3d_dev *v3d; member
542 void v3d_reset(struct v3d_dev *v3d);
548 void v3d_gemfs_init(struct v3d_dev *v3d);
549 void v3d_gemfs_fini(struct v3d_dev *v3d);
564 int v3d_irq_init(struct v3d_dev *v3d);
567 void v3d_irq_reset(struct v3d_dev *v3d);
[all …]
H A Dv3d_mmu.c38 int v3d_mmu_flush_all(struct v3d_dev *v3d) in v3d_mmu_flush_all() argument
63 int v3d_mmu_set_page_table(struct v3d_dev *v3d) in v3d_mmu_set_page_table() argument
76 (v3d->mmu_scratch_paddr >> V3D_MMU_PAGE_SHIFT) | in v3d_mmu_set_page_table()
80 return v3d_mmu_flush_all(v3d); in v3d_mmu_set_page_table()
116 v3d->pt[page++] = page_address + i; in v3d_mmu_insert_ptes()
127 if (v3d_mmu_flush_all(v3d)) in v3d_mmu_insert_ptes()
128 dev_err(v3d->drm.dev, "MMU flush timeout\n"); in v3d_mmu_insert_ptes()
133 struct v3d_dev *v3d = to_v3d_dev(bo->base.base.dev); in v3d_mmu_remove_ptes() local
138 v3d->pt[page] = 0; in v3d_mmu_remove_ptes()
140 if (v3d_mmu_flush_all(v3d)) in v3d_mmu_remove_ptes()
[all …]
H A Dv3d_gemfs.c9 void v3d_gemfs_init(struct v3d_dev *v3d) in v3d_gemfs_init() argument
35 v3d->gemfs = gemfs; in v3d_gemfs_init()
36 drm_info(&v3d->drm, "Using Transparent Hugepages\n"); in v3d_gemfs_init()
41 v3d->gemfs = NULL; in v3d_gemfs_init()
42 drm_notice(&v3d->drm, in v3d_gemfs_init()
46 void v3d_gemfs_fini(struct v3d_dev *v3d) in v3d_gemfs_fini() argument
48 if (v3d->gemfs) in v3d_gemfs_fini()
49 kern_unmount(v3d->gemfs); in v3d_gemfs_fini()
H A Dv3d_bo.c49 mutex_lock(&v3d->bo_lock); in v3d_free_object()
50 v3d->bo_stats.num_allocated--; in v3d_free_object()
52 mutex_unlock(&v3d->bo_lock); in v3d_free_object()
54 spin_lock(&v3d->mm_lock); in v3d_free_object()
56 spin_unlock(&v3d->mm_lock); in v3d_free_object()
116 if (!v3d->gemfs) in v3d_bo_create_finish()
125 spin_lock(&v3d->mm_lock); in v3d_bo_create_finish()
133 spin_unlock(&v3d->mm_lock); in v3d_bo_create_finish()
138 mutex_lock(&v3d->bo_lock); in v3d_bo_create_finish()
141 mutex_unlock(&v3d->bo_lock); in v3d_bo_create_finish()
[all …]
H A Dv3d_fence.c6 struct dma_fence *v3d_fence_create(struct v3d_dev *v3d, enum v3d_queue queue) in v3d_fence_create() argument
14 fence->dev = &v3d->drm; in v3d_fence_create()
16 fence->seqno = ++v3d->queue[queue].emit_seqno; in v3d_fence_create()
17 dma_fence_init(&fence->base, &v3d_fence_ops, &v3d->job_lock, in v3d_fence_create()
18 v3d->queue[queue].fence_context, fence->seqno); in v3d_fence_create()
H A Dv3d_submit.c167 job->v3d = v3d; in v3d_job_init()
269 struct v3d_dev *v3d, in v3d_setup_csd_jobs_and_bos() argument
413 struct v3d_dev *v3d = v3d_priv->v3d; in v3d_get_cpu_indirect_csd_params() local
430 if (!v3d_has_csd(v3d)) { in v3d_get_cpu_indirect_csd_params()
985 if (v3d->global_perfmon) { in v3d_submit_cl_ioctl()
999 mutex_lock(&v3d->sched_lock); in v3d_submit_cl_ioctl()
1132 mutex_lock(&v3d->sched_lock); in v3d_submit_tfu_ioctl()
1180 if (!v3d_has_csd(v3d)) { in v3d_submit_csd_ioctl()
1205 if (v3d->global_perfmon) { in v3d_submit_csd_ioctl()
1218 mutex_lock(&v3d->sched_lock); in v3d_submit_csd_ioctl()
[all …]
H A DMakefile5 v3d-y := \
19 v3d-$(CONFIG_DEBUG_FS) += v3d_debugfs.o
21 obj-$(CONFIG_DRM_V3D) += v3d.o
H A Dv3d_sysfs.c15 struct v3d_dev *v3d = to_v3d_dev(drm); in gpu_stats_show() local
23 struct v3d_stats *stats = &v3d->queue[queue].stats; in gpu_stats_show()
/linux-6.15/drivers/gpu/drm/vc4/
H A Dvc4_v3d.c239 struct vc4_v3d *v3d = vc4->v3d; in bin_bo_alloc() local
244 if (!v3d) in bin_bo_alloc()
406 struct vc4_v3d *v3d = vc4->v3d; in vc4_v3d_debugfs_init() local
408 if (!vc4->v3d) in vc4_v3d_debugfs_init()
426 v3d = devm_kzalloc(&pdev->dev, sizeof(*v3d), GFP_KERNEL); in vc4_v3d_bind()
427 if (!v3d) in vc4_v3d_bind()
432 v3d->pdev = pdev; in vc4_v3d_bind()
437 v3d->regset.base = v3d->regs; in vc4_v3d_bind()
441 vc4->v3d = v3d; in vc4_v3d_bind()
442 v3d->vc4 = vc4; in vc4_v3d_bind()
[all …]
H A Dvc4_irq.c249 if (!vc4->v3d) in vc4_irq_prepare()
269 if (!vc4->v3d) in vc4_irq_enable()
286 if (!vc4->v3d) in vc4_irq_disable()
H A Dvc4_perfmon.c157 if (!vc4->v3d) { in vc4_perfmon_create_ioctl()
211 if (!vc4->v3d) { in vc4_perfmon_destroy_ioctl()
239 if (!vc4->v3d) { in vc4_perfmon_get_values_ioctl()
/linux-6.15/Documentation/devicetree/bindings/display/
H A Dbrcm,bcm2835-v3d.yaml4 $id: http://devicetree.org/schemas/display/brcm,bcm2835-v3d.yaml#
15 - brcm,bcm2835-v3d
16 - brcm,cygnus-v3d
39 v3d: v3d@7ec00000 {
40 compatible = "brcm,bcm2835-v3d";
/linux-6.15/Documentation/gpu/
H A Dv3d.rst2 drm/v3d Broadcom V3D Graphics Driver
5 .. kernel-doc:: drivers/gpu/drm/v3d/v3d_drv.c
11 .. kernel-doc:: drivers/gpu/drm/v3d/v3d_bo.c
16 .. kernel-doc:: drivers/gpu/drm/v3d/v3d_mmu.c
21 .. kernel-doc:: drivers/gpu/drm/v3d/v3d_sched.c
27 .. kernel-doc:: drivers/gpu/drm/v3d/v3d_irq.c
/linux-6.15/Documentation/devicetree/bindings/gpu/
H A Dbrcm,bcm-v3d.yaml4 $id: http://devicetree.org/schemas/gpu/brcm,bcm-v3d.yaml#
19 - brcm,2711-v3d
20 - brcm,2712-v3d
21 - brcm,7268-v3d
22 - brcm,7278-v3d
66 compatible = "brcm,7268-v3d";
/linux-6.15/arch/arm/boot/dts/broadcom/
H A Dbcm2835-common.dtsi70 clock-names = "v3d", "peri_image", "h264", "isp";
138 v3d: v3d@7ec00000 { label
139 compatible = "brcm,bcm2835-v3d";
/linux-6.15/Documentation/devicetree/bindings/soc/bcm/
H A Dbrcm,bcm2835-pm.yaml50 - const: v3d
84 clock-names = "v3d", "peri_image", "h264", "isp";
/linux-6.15/drivers/gpu/drm/ci/xfails/
H A Dmsm-apq8016-skips.txt5 ^v3d.*
H A Dmeson-g12b-skips.txt6 ^v3d.*
H A Di915-jsl-skips.txt9 ^v3d.*

123