Home
last modified time | relevance | path

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

12

/kernel/linux/linux-5.10/drivers/gpu/drm/v3d/
Dv3d_irq.c39 struct v3d_dev *v3d = in v3d_overflow_mem_work() local
41 struct drm_device *dev = &v3d->drm; in v3d_overflow_mem_work()
61 spin_lock_irqsave(&v3d->job_lock, irqflags); in v3d_overflow_mem_work()
62 if (!v3d->bin_job) { in v3d_overflow_mem_work()
63 spin_unlock_irqrestore(&v3d->job_lock, irqflags); in v3d_overflow_mem_work()
68 list_add_tail(&bo->unref_head, &v3d->bin_job->render->unref_list); in v3d_overflow_mem_work()
69 spin_unlock_irqrestore(&v3d->job_lock, irqflags); in v3d_overflow_mem_work()
81 struct v3d_dev *v3d = arg; in v3d_irq() local
96 schedule_work(&v3d->overflow_mem_work); in v3d_irq()
102 to_v3d_fence(v3d->bin_job->base.irq_fence); in v3d_irq()
[all …]
Dv3d_drv.c45 struct v3d_dev *v3d = to_v3d_dev(drm); in v3d_runtime_suspend() local
47 v3d_irq_disable(v3d); in v3d_runtime_suspend()
49 clk_disable_unprepare(v3d->clk); in v3d_runtime_suspend()
57 struct v3d_dev *v3d = to_v3d_dev(drm); in v3d_runtime_resume() local
60 ret = clk_prepare_enable(v3d->clk); in v3d_runtime_resume()
66 v3d_mmu_set_page_table(v3d); in v3d_runtime_resume()
67 v3d_irq_enable(v3d); in v3d_runtime_resume()
80 struct v3d_dev *v3d = to_v3d_dev(dev); in v3d_get_param_ioctl() local
108 ret = pm_runtime_get_sync(v3d->drm.dev); in v3d_get_param_ioctl()
117 pm_runtime_mark_last_busy(v3d->drm.dev); in v3d_get_param_ioctl()
[all …]
Dv3d_sched.c91 struct v3d_dev *v3d = job->base.v3d; in v3d_bin_job_run() local
92 struct drm_device *dev = &v3d->drm; in v3d_bin_job_run()
102 spin_lock_irqsave(&v3d->job_lock, irqflags); in v3d_bin_job_run()
103 v3d->bin_job = job; in v3d_bin_job_run()
108 spin_unlock_irqrestore(&v3d->job_lock, irqflags); in v3d_bin_job_run()
110 v3d_invalidate_caches(v3d); in v3d_bin_job_run()
112 fence = v3d_fence_create(v3d, V3D_BIN); in v3d_bin_job_run()
144 struct v3d_dev *v3d = job->base.v3d; in v3d_render_job_run() local
145 struct drm_device *dev = &v3d->drm; in v3d_render_job_run()
151 v3d->render_job = job; in v3d_render_job_run()
[all …]
Dv3d_gem.c22 v3d_init_core(struct v3d_dev *v3d, int core) in v3d_init_core() argument
30 if (v3d->ver < 40) in v3d_init_core()
42 v3d_init_hw_state(struct v3d_dev *v3d) in v3d_init_hw_state() argument
44 v3d_init_core(v3d, 0); in v3d_init_hw_state()
48 v3d_idle_axi(struct v3d_dev *v3d, int core) in v3d_idle_axi() argument
61 v3d_idle_gca(struct v3d_dev *v3d) in v3d_idle_gca() argument
63 if (v3d->ver >= 41) in v3d_idle_gca()
76 v3d_reset_by_bridge(struct v3d_dev *v3d) in v3d_reset_by_bridge() argument
99 v3d_reset_v3d(struct v3d_dev *v3d) in v3d_reset_v3d() argument
101 if (v3d->reset) in v3d_reset_v3d()
[all …]
Dv3d_mmu.c33 static int v3d_mmu_flush_all(struct v3d_dev *v3d) in v3d_mmu_flush_all() argument
43 dev_err(v3d->drm.dev, "TLB clear wait idle pre-wait failed\n"); in v3d_mmu_flush_all()
55 dev_err(v3d->drm.dev, "TLB clear wait idle failed\n"); in v3d_mmu_flush_all()
62 dev_err(v3d->drm.dev, "MMUC flush wait idle failed\n"); in v3d_mmu_flush_all()
67 int v3d_mmu_set_page_table(struct v3d_dev *v3d) in v3d_mmu_set_page_table() argument
69 V3D_WRITE(V3D_MMU_PT_PA_BASE, v3d->pt_paddr >> V3D_MMU_PAGE_SHIFT); in v3d_mmu_set_page_table()
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()
90 struct v3d_dev *v3d = to_v3d_dev(shmem_obj->base.dev); in v3d_mmu_insert_ptes() local
104 v3d->pt[page++] = pte + i; in v3d_mmu_insert_ptes()
[all …]
Dv3d_drv.h125 v3d_has_csd(struct v3d_dev *v3d) in v3d_has_csd() argument
127 return v3d->ver >= 41; in v3d_has_csd()
130 #define v3d_to_pdev(v3d) to_platform_device((v3d)->drm.dev) argument
134 struct v3d_dev *v3d; member
170 #define V3D_READ(offset) readl(v3d->hub_regs + offset)
171 #define V3D_WRITE(offset, val) writel(val, v3d->hub_regs + offset)
173 #define V3D_BRIDGE_READ(offset) readl(v3d->bridge_regs + offset)
174 #define V3D_BRIDGE_WRITE(offset, val) writel(val, v3d->bridge_regs + offset)
176 #define V3D_GCA_READ(offset) readl(v3d->gca_regs + offset)
177 #define V3D_GCA_WRITE(offset, val) writel(val, v3d->gca_regs + offset)
[all …]
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()
40 v3d->bo_stats.pages_allocated -= obj->size >> PAGE_SHIFT; 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()
90 struct v3d_dev *v3d = to_v3d_dev(obj->dev); in v3d_bo_create_finish() local
102 spin_lock(&v3d->mm_lock); in v3d_bo_create_finish()
107 ret = drm_mm_insert_node_generic(&v3d->mm, &bo->node, in v3d_bo_create_finish()
[all …]
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()
102 for (core = 0; core < v3d->cores; core++) { 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()
190 pm_runtime_mark_last_busy(v3d->drm.dev); in v3d_v3d_debugfs_ident()
191 pm_runtime_put_autosuspend(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()
[all …]
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()
DMakefile5 v3d-y := \
15 v3d-$(CONFIG_DEBUG_FS) += v3d_debugfs.o
17 obj-$(CONFIG_DRM_V3D) += v3d.o
Dv3d_trace.h12 #define TRACE_SYSTEM v3d
/kernel/linux/linux-5.10/drivers/gpu/drm/vc4/
Dvc4_v3d.c134 int ret = pm_runtime_get_sync(&vc4->v3d->pdev->dev); in vc4_v3d_pm_get()
152 pm_runtime_mark_last_busy(&vc4->v3d->pdev->dev); in vc4_v3d_pm_put()
153 pm_runtime_put_autosuspend(&vc4->v3d->pdev->dev); in vc4_v3d_pm_put()
232 struct vc4_v3d *v3d = vc4->v3d; in bin_bo_alloc() local
237 if (!v3d) in bin_bo_alloc()
255 dev_err(&v3d->pdev->dev, in bin_bo_alloc()
361 struct vc4_v3d *v3d = dev_get_drvdata(dev); in vc4_v3d_runtime_suspend() local
362 struct vc4_dev *vc4 = v3d->vc4; in vc4_v3d_runtime_suspend()
366 clk_disable_unprepare(v3d->clk); in vc4_v3d_runtime_suspend()
373 struct vc4_v3d *v3d = dev_get_drvdata(dev); in vc4_v3d_runtime_resume() local
[all …]
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()
Dvc4_irq.c242 if (!vc4->v3d) in vc4_irq_preinstall()
259 if (!vc4->v3d) in vc4_irq_postinstall()
275 if (!vc4->v3d) in vc4_irq_uninstall()
Dvc4_drv.h78 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)
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()
1139 if (!vc4->v3d) { in vc4_submit_cl_ioctl()
/kernel/linux/linux-5.10/Documentation/gpu/
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
Ddrivers.rst15 v3d
/kernel/linux/linux-5.10/Documentation/devicetree/bindings/gpu/
Dbrcm,bcm-v3d.txt7 - compatible: Should be "brcm,7268-v3d" or "brcm,7278-v3d"
21 - resets: The reset line for v3d, if not using a mapping of the bridge
24 v3d {
25 compatible = "brcm,7268-v3d";
/kernel/linux/linux-5.10/arch/arm/boot/dts/
Dbcm2835-common.dtsi69 clock-names = "v3d", "peri_image", "h264", "isp";
129 v3d: v3d@7ec00000 { label
130 compatible = "brcm,bcm2835-v3d";
Dbcm2835-rpi-common.dtsi10 &v3d {
Dbcm-cygnus.dtsi500 v3d: v3d@180a2000 { label
501 compatible = "brcm,cygnus-v3d";
Dbcm911360_entphn.dts73 &v3d {
/kernel/linux/linux-5.10/Documentation/devicetree/bindings/soc/bcm/
Dbrcm,bcm2835-pm.txt13 - clocks: a) v3d: The V3D clock from CPRMAN
44 clock-names = "v3d", "peri_image", "h264", "isp";
/kernel/linux/linux-5.10/drivers/gpu/drm/
DMakefile75 obj-$(CONFIG_DRM_V3D) += v3d/

12