Home
last modified time | relevance | path

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

12

/linux/drivers/gpu/drm/v3d/
A Dv3d_irq.c39 struct v3d_dev *v3d = in v3d_overflow_mem_work() local
62 if (!v3d->bin_job) { in v3d_overflow_mem_work()
81 struct v3d_dev *v3d = arg; in v3d_irq() local
145 struct v3d_dev *v3d = arg; in v3d_hub_irq() local
168 (v3d->va_width - 32)); in v3d_hub_irq()
183 if (v3d->ver >= 41) { in v3d_hub_irq()
223 "v3d_core0", v3d); in v3d_irq_init()
229 "v3d_hub", v3d); in v3d_irq_init()
238 "v3d", v3d); in v3d_irq_init()
243 v3d_irq_enable(v3d); in v3d_irq_init()
[all …]
A Dv3d_sched.c69 v3d_perfmon_stop(v3d, v3d->active_perfmon, true); in v3d_switch_perfmon()
78 struct v3d_dev *v3d = job->base.v3d; in v3d_bin_job_run() local
90 v3d->bin_job = job; in v3d_bin_job_run()
133 struct v3d_dev *v3d = job->base.v3d; in v3d_render_job_run() local
178 struct v3d_dev *v3d = job->base.v3d; in v3d_tfu_job_run() local
186 v3d->tfu_job = job; in v3d_tfu_job_run()
215 struct v3d_dev *v3d = job->base.v3d; in v3d_csd_job_run() local
248 struct v3d_dev *v3d = job->v3d; in v3d_cache_clean_job_run() local
270 v3d_reset(v3d); in v3d_gpu_reset_for_timeout()
295 struct v3d_dev *v3d = job->v3d; in v3d_cl_job_timedout() local
[all …]
A Dv3d_drv.c120 v3d_priv->v3d = v3d; in v3d_open()
224 if (IS_ERR(v3d)) in v3d_platform_drm_probe()
227 drm = &v3d->drm; in v3d_platform_drm_probe()
231 ret = map_regs(v3d, &v3d->hub_regs, "hub"); in v3d_platform_drm_probe()
235 ret = map_regs(v3d, &v3d->core_regs[0], "core0"); in v3d_platform_drm_probe()
257 v3d->reset = NULL; in v3d_platform_drm_probe()
258 ret = map_regs(v3d, &v3d->bridge_regs, "bridge"); in v3d_platform_drm_probe()
267 ret = map_regs(v3d, &v3d->gca_regs, "gca"); in v3d_platform_drm_probe()
272 v3d->mmu_scratch = dma_alloc_wc(dev, 4096, &v3d->mmu_scratch_paddr, in v3d_platform_drm_probe()
302 dma_free_wc(dev, 4096, v3d->mmu_scratch, v3d->mmu_scratch_paddr); in v3d_platform_drm_probe()
[all …]
A Dv3d_gem.c30 if (v3d->ver < 40) in v3d_init_core()
63 if (v3d->ver >= 41) in v3d_idle_gca()
101 if (v3d->reset) in v3d_reset_v3d()
123 v3d_idle_gca(v3d); in v3d_reset()
129 v3d_perfmon_stop(v3d, v3d->active_perfmon, false); in v3d_reset()
156 if (v3d->ver > 32) in v3d_invalidate_l2c()
471 job->v3d = v3d; in v3d_job_init()
1092 v3d->pt = dma_alloc_wc(v3d->drm.dev, pt_size, in v3d_gem_init()
1095 if (!v3d->pt) { in v3d_gem_init()
1108 dma_free_coherent(v3d->drm.dev, 4096 * 1024, (void *)v3d->pt, in v3d_gem_init()
[all …]
A Dv3d_drv.h153 v3d_has_csd(struct v3d_dev *v3d) in v3d_has_csd() argument
155 return v3d->ver >= 41; in v3d_has_csd()
158 #define v3d_to_pdev(v3d) to_platform_device((v3d)->drm.dev) argument
162 struct v3d_dev *v3d; member
220 struct v3d_dev *v3d; member
385 void v3d_reset(struct v3d_dev *v3d);
390 int v3d_irq_init(struct v3d_dev *v3d);
391 void v3d_irq_enable(struct v3d_dev *v3d);
393 void v3d_irq_reset(struct v3d_dev *v3d);
403 int v3d_sched_init(struct v3d_dev *v3d);
[all …]
A Dv3d_mmu.c33 static int v3d_mmu_flush_all(struct v3d_dev *v3d) in v3d_mmu_flush_all() argument
67 int v3d_mmu_set_page_table(struct v3d_dev *v3d) in v3d_mmu_set_page_table() argument
80 (v3d->mmu_scratch_paddr >> V3D_MMU_PAGE_SHIFT) | in v3d_mmu_set_page_table()
84 return v3d_mmu_flush_all(v3d); in v3d_mmu_set_page_table()
104 v3d->pt[page++] = pte + i; in v3d_mmu_insert_ptes()
110 if (v3d_mmu_flush_all(v3d)) in v3d_mmu_insert_ptes()
111 dev_err(v3d->drm.dev, "MMU flush timeout\n"); in v3d_mmu_insert_ptes()
116 struct v3d_dev *v3d = to_v3d_dev(bo->base.base.dev); in v3d_mmu_remove_ptes() local
121 v3d->pt[page] = 0; in v3d_mmu_remove_ptes()
123 if (v3d_mmu_flush_all(v3d)) in v3d_mmu_remove_ptes()
[all …]
A Dv3d_bo.c33 struct v3d_dev *v3d = to_v3d_dev(obj->dev); in v3d_free_object() local
38 mutex_lock(&v3d->bo_lock); in v3d_free_object()
39 v3d->bo_stats.num_allocated--; in v3d_free_object()
41 mutex_unlock(&v3d->bo_lock); in v3d_free_object()
43 spin_lock(&v3d->mm_lock); in v3d_free_object()
45 spin_unlock(&v3d->mm_lock); in v3d_free_object()
102 spin_lock(&v3d->mm_lock); in v3d_bo_create_finish()
110 spin_unlock(&v3d->mm_lock); in v3d_bo_create_finish()
115 mutex_lock(&v3d->bo_lock); in v3d_bo_create_finish()
116 v3d->bo_stats.num_allocated++; in v3d_bo_create_finish()
[all …]
A Dv3d_debugfs.c84 struct v3d_dev *v3d = to_v3d_dev(dev); in v3d_v3d_debugfs_regs() local
93 if (v3d->ver < 41) { in v3d_v3d_debugfs_regs()
112 if (v3d_has_csd(v3d)) { in v3d_v3d_debugfs_regs()
131 struct v3d_dev *v3d = to_v3d_dev(dev); in v3d_v3d_debugfs_ident() local
135 ret = pm_runtime_get_sync(v3d->drm.dev); in v3d_v3d_debugfs_ident()
200 struct v3d_dev *v3d = to_v3d_dev(dev); in v3d_debugfs_bo_stats() local
202 mutex_lock(&v3d->bo_lock); in v3d_debugfs_bo_stats()
204 v3d->bo_stats.num_allocated); in v3d_debugfs_bo_stats()
207 mutex_unlock(&v3d->bo_lock); in v3d_debugfs_bo_stats()
216 struct v3d_dev *v3d = to_v3d_dev(dev); in v3d_measure_clock() local
[all …]
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()
A Dv3d_perfmon.c24 void v3d_perfmon_start(struct v3d_dev *v3d, struct v3d_perfmon *perfmon) in v3d_perfmon_start() argument
30 if (WARN_ON_ONCE(!perfmon || v3d->active_perfmon)) in v3d_perfmon_start()
55 v3d->active_perfmon = perfmon; in v3d_perfmon_start()
58 void v3d_perfmon_stop(struct v3d_dev *v3d, struct v3d_perfmon *perfmon, in v3d_perfmon_stop() argument
63 if (!perfmon || !v3d->active_perfmon) in v3d_perfmon_stop()
67 if (perfmon != v3d->active_perfmon) { in v3d_perfmon_stop()
78 v3d->active_perfmon = NULL; in v3d_perfmon_stop()
187 struct v3d_dev *v3d = to_v3d_dev(dev); in v3d_perfmon_get_values_ioctl() local
204 v3d_perfmon_stop(v3d, perfmon, true); in v3d_perfmon_get_values_ioctl()
A DMakefile5 v3d-y := \
16 v3d-$(CONFIG_DEBUG_FS) += v3d_debugfs.o
18 obj-$(CONFIG_DRM_V3D) += v3d.o
/linux/drivers/gpu/drm/vc4/
A Dvc4_v3d.c230 struct vc4_v3d *v3d = vc4->v3d; in bin_bo_alloc() local
235 if (!v3d) in bin_bo_alloc()
397 v3d = devm_kzalloc(&pdev->dev, sizeof(*v3d), GFP_KERNEL); in vc4_v3d_bind()
398 if (!v3d) in vc4_v3d_bind()
403 v3d->pdev = pdev; in vc4_v3d_bind()
406 if (IS_ERR(v3d->regs)) in vc4_v3d_bind()
408 v3d->regset.base = v3d->regs; in vc4_v3d_bind()
412 vc4->v3d = v3d; in vc4_v3d_bind()
413 v3d->vc4 = vc4; in vc4_v3d_bind()
422 v3d->clk = NULL; in vc4_v3d_bind()
[all …]
A Dvc4_perfmon.c110 if (!vc4->v3d) { in vc4_perfmon_create_ioctl()
160 if (!vc4->v3d) { in vc4_perfmon_destroy_ioctl()
185 if (!vc4->v3d) { in vc4_perfmon_get_values_ioctl()
A Dvc4_irq.c246 if (!vc4->v3d) in vc4_irq_prepare()
263 if (!vc4->v3d) in vc4_irq_enable()
277 if (!vc4->v3d) in vc4_irq_disable()
A Dvc4_drv.h80 struct vc4_v3d *v3d; member
547 #define V3D_READ(offset) readl(vc4->v3d->regs + offset)
548 #define V3D_WRITE(offset, val) writel(val, vc4->v3d->regs + offset)
A Dvc4_gem.c79 if (!vc4->v3d) { in vc4_get_hang_state_ioctl()
297 pm_runtime_put_sync_suspend(&vc4->v3d->pdev->dev); in vc4_reset()
298 pm_runtime_get_sync(&vc4->v3d->pdev->dev); in vc4_reset()
1138 if (!vc4->v3d) { in vc4_submit_cl_ioctl()
/linux/Documentation/devicetree/bindings/display/
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/Documentation/gpu/
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
A Ddrivers.rst15 v3d
/linux/Documentation/devicetree/bindings/gpu/
A Dbrcm,bcm-v3d.yaml4 $id: http://devicetree.org/schemas/gpu/brcm,bcm-v3d.yaml#
19 - brcm,7268-v3d
20 - brcm,7278-v3d
64 compatible = "brcm,7268-v3d";
/linux/arch/arm/boot/dts/
A Dbcm2835-common.dtsi69 clock-names = "v3d", "peri_image", "h264", "isp";
137 v3d: v3d@7ec00000 { label
138 compatible = "brcm,bcm2835-v3d";
A Dbcm2835-rpi-common.dtsi10 &v3d {
A Dbcm-cygnus.dtsi500 v3d: v3d@180a2000 { label
501 compatible = "brcm,cygnus-v3d";
A Dbcm911360_entphn.dts73 &v3d {
/linux/Documentation/devicetree/bindings/soc/bcm/
A Dbrcm,bcm2835-pm.txt13 - clocks: a) v3d: The V3D clock from CPRMAN
44 clock-names = "v3d", "peri_image", "h264", "isp";

Completed in 41 milliseconds

12