Searched refs:v3d (Results 1 - 23 of 23) sorted by relevance

/linux-master/drivers/gpu/drm/v3d/
H A Dv3d_gem.c20 v3d_init_core(struct v3d_dev *v3d, int core) argument
28 if (v3d->ver < 40)
40 v3d_init_hw_state(struct v3d_dev *v3d) argument
42 v3d_init_core(v3d, 0);
46 v3d_idle_axi(struct v3d_dev *v3d, int core) argument
48 V3D_CORE_WRITE(core, V3D_GMP_CFG(v3d->ver), V3D_GMP_CFG_STOP_REQ);
50 if (wait_for((V3D_CORE_READ(core, V3D_GMP_STATUS(v3d->ver)) &
59 v3d_idle_gca(struct v3d_dev *v3d) argument
61 if (v3d->ver >= 41)
74 v3d_reset_by_bridge(struct v3d_dev *v3d) argument
97 v3d_reset_v3d(struct v3d_dev *v3d) argument
108 v3d_reset(struct v3d_dev *v3d) argument
133 v3d_flush_l3(struct v3d_dev *v3d) argument
152 v3d_invalidate_l2c(struct v3d_dev *v3d, int core) argument
164 v3d_flush_l2t(struct v3d_dev *v3d, int core) argument
189 v3d_clean_caches(struct v3d_dev *v3d) argument
219 v3d_invalidate_slices(struct v3d_dev *v3d, int core) argument
229 v3d_invalidate_caches(struct v3d_dev *v3d) argument
245 struct v3d_dev *v3d = to_v3d_dev(dev); local
303 struct v3d_dev *v3d = to_v3d_dev(dev); local
[all...]
H A Dv3d_irq.c41 struct v3d_dev *v3d = local
43 struct drm_device *dev = &v3d->drm;
63 spin_lock_irqsave(&v3d->job_lock, irqflags);
64 if (!v3d->bin_job) {
65 spin_unlock_irqrestore(&v3d->job_lock, irqflags);
70 list_add_tail(&bo->unref_head, &v3d->bin_job->render->unref_list);
71 spin_unlock_irqrestore(&v3d->job_lock, irqflags);
83 struct v3d_dev *v3d = arg; local
98 schedule_work(&v3d->overflow_mem_work);
104 to_v3d_fence(v3d
180 struct v3d_dev *v3d = arg; local
255 v3d_irq_init(struct v3d_dev *v3d) argument
304 v3d_irq_enable(struct v3d_dev *v3d) argument
319 v3d_irq_disable(struct v3d_dev *v3d) argument
337 v3d_irq_reset(struct v3d_dev *v3d) argument
[all...]
H A DMakefile5 v3d-y := \
18 v3d-$(CONFIG_DEBUG_FS) += v3d_debugfs.o
20 obj-$(CONFIG_DRM_V3D) += v3d.o
H A Dv3d_mmu.c31 static int v3d_mmu_flush_all(struct v3d_dev *v3d) argument
41 dev_err(v3d->drm.dev, "TLB clear wait idle pre-wait failed\n");
53 dev_err(v3d->drm.dev, "TLB clear wait idle failed\n");
60 dev_err(v3d->drm.dev, "MMUC flush wait idle failed\n");
65 int v3d_mmu_set_page_table(struct v3d_dev *v3d) argument
67 V3D_WRITE(V3D_MMU_PT_PA_BASE, v3d->pt_paddr >> V3D_MMU_PAGE_SHIFT);
78 (v3d->mmu_scratch_paddr >> V3D_MMU_PAGE_SHIFT) |
82 return v3d_mmu_flush_all(v3d);
88 struct v3d_dev *v3d = to_v3d_dev(shmem_obj->base.dev); local
102 v3d
114 struct v3d_dev *v3d = to_v3d_dev(bo->base.base.dev); local
[all...]
H A Dv3d_drv.c32 #define DRIVER_NAME "v3d"
42 struct v3d_dev *v3d = to_v3d_dev(dev); local
83 args->value = v3d_has_csd(v3d);
89 args->value = (v3d->ver >= 40);
106 struct v3d_dev *v3d = to_v3d_dev(dev); local
115 v3d_priv->v3d = v3d;
122 sched = &v3d->queue[i].sched;
166 drm_printf(p, "v3d-jobs-%s: \t%llu jobs\n",
227 { .compatible = "brcm,2711-v3d" },
236 map_regs(struct v3d_dev *v3d, void __iomem **regs, const char *name) argument
246 struct v3d_dev *v3d; local
343 struct v3d_dev *v3d = to_v3d_dev(drm); local
[all...]
H A Dv3d_fence.c6 struct dma_fence *v3d_fence_create(struct v3d_dev *v3d, enum v3d_queue queue) argument
14 fence->dev = &v3d->drm;
16 fence->seqno = ++v3d->queue[queue].emit_seqno;
17 dma_fence_init(&fence->base, &v3d_fence_ops, &v3d->job_lock,
18 v3d->queue[queue].fence_context, fence->seqno);
25 return "v3d";
34 return "v3d-bin";
36 return "v3d-render";
38 return "v3d-tfu";
40 return "v3d
[all...]
H A Dv3d_sched.c99 v3d_switch_perfmon(struct v3d_dev *v3d, struct v3d_job *job) argument
101 if (job->perfmon != v3d->active_perfmon)
102 v3d_perfmon_stop(v3d, v3d->active_perfmon, true);
104 if (job->perfmon && v3d->active_perfmon != job->perfmon)
105 v3d_perfmon_start(v3d, job->perfmon);
111 struct v3d_dev *v3d = job->base.v3d; local
113 struct drm_device *dev = &v3d->drm;
123 spin_lock_irqsave(&v3d
170 struct v3d_dev *v3d = job->base.v3d; local
219 struct v3d_dev *v3d = job->base.v3d; local
262 struct v3d_dev *v3d = job->base.v3d; local
432 struct v3d_dev *v3d = job->base.v3d; local
461 struct v3d_dev *v3d = job->base.v3d; local
532 struct v3d_dev *v3d = job->base.v3d; local
570 struct v3d_dev *v3d = job->v3d; local
594 v3d_gpu_reset_for_timeout(struct v3d_dev *v3d, struct drm_sched_job *sched_job) argument
633 struct v3d_dev *v3d = job->v3d; local
676 struct v3d_dev *v3d = job->base.v3d; local
727 v3d_sched_init(struct v3d_dev *v3d) argument
798 v3d_sched_fini(struct v3d_dev *v3d) argument
[all...]
H A Dv3d_drv.h173 v3d_has_csd(struct v3d_dev *v3d) argument
175 return v3d->ver >= 41;
178 #define v3d_to_pdev(v3d) to_platform_device((v3d)->drm.dev)
182 struct v3d_dev *v3d; member in struct:v3d_file_priv
220 /* v3d seqno for signaled() test */
231 #define V3D_READ(offset) readl(v3d->hub_regs + offset)
232 #define V3D_WRITE(offset, val) writel(val, v3d->hub_regs + offset)
234 #define V3D_BRIDGE_READ(offset) readl(v3d->bridge_regs + offset)
235 #define V3D_BRIDGE_WRITE(offset, val) writel(val, v3d
248 struct v3d_dev *v3d; member in struct:v3d_job
[all...]
H A Dv3d_debugfs.c98 struct v3d_dev *v3d = to_v3d_dev(dev); local
104 if (v3d->ver >= def->min_ver && v3d->ver <= def->max_ver) {
113 if (v3d->ver >= def->min_ver && v3d->ver <= def->max_ver) {
119 for (core = 0; core < v3d->cores; core++) {
123 if (v3d->ver >= def->min_ver && v3d->ver <= def->max_ver) {
133 if (v3d->ver >= def->min_ver && v3d
148 struct v3d_dev *v3d = to_v3d_dev(dev); local
216 struct v3d_dev *v3d = to_v3d_dev(dev); local
232 struct v3d_dev *v3d = to_v3d_dev(dev); local
268 struct v3d_dev *v3d = to_v3d_dev(dev); local
[all...]
H A Dv3d_sysfs.c15 struct v3d_dev *v3d = to_v3d_dev(drm); local
24 if (v3d->queue[queue].start_ns)
25 active_runtime = timestamp - v3d->queue[queue].start_ns;
42 v3d->queue[queue].jobs_sent,
43 v3d->queue[queue].enabled_ns + active_runtime);
H A Dv3d_bo.c33 struct v3d_dev *v3d = to_v3d_dev(obj->dev); local
41 mutex_lock(&v3d->bo_lock);
42 v3d->bo_stats.num_allocated--;
43 v3d->bo_stats.pages_allocated -= obj->size >> V3D_MMU_PAGE_SHIFT;
44 mutex_unlock(&v3d->bo_lock);
46 spin_lock(&v3d->mm_lock);
48 spin_unlock(&v3d->mm_lock);
94 struct v3d_dev *v3d = to_v3d_dev(obj->dev); local
106 spin_lock(&v3d->mm_lock);
111 ret = drm_mm_insert_node_generic(&v3d
[all...]
H A Dv3d_perfmon.c26 void v3d_perfmon_start(struct v3d_dev *v3d, struct v3d_perfmon *perfmon) argument
32 if (WARN_ON_ONCE(!perfmon || v3d->active_perfmon))
58 v3d->active_perfmon = perfmon;
61 void v3d_perfmon_stop(struct v3d_dev *v3d, struct v3d_perfmon *perfmon, argument
66 if (!perfmon || !v3d->active_perfmon)
70 if (perfmon != v3d->active_perfmon) {
81 v3d->active_perfmon = NULL;
192 struct v3d_dev *v3d = to_v3d_dev(dev); local
209 v3d_perfmon_stop(v3d, perfmon, true);
H A Dv3d_submit.c18 * to v3d, so we don't attach dma-buf fences to them.
158 v3d_job_init(struct v3d_dev *v3d, struct drm_file *file_priv, argument
166 job->v3d = v3d;
268 struct v3d_dev *v3d,
281 ret = v3d_job_init(v3d, file_priv, &(*job)->base,
292 ret = v3d_job_init(v3d, file_priv, *clean_job,
301 ret = v3d_lookup_bos(&v3d->drm, file_priv, *clean_job,
412 struct v3d_dev *v3d = v3d_priv->v3d; local
267 v3d_setup_csd_jobs_and_bos(struct drm_file *file_priv, struct v3d_dev *v3d, struct drm_v3d_submit_csd *args, struct v3d_csd_job **job, struct v3d_job **clean_job, struct v3d_submit_ext *se, struct ww_acquire_ctx *acquire_ctx) argument
837 struct v3d_dev *v3d = to_v3d_dev(dev); local
1007 struct v3d_dev *v3d = to_v3d_dev(dev); local
1106 struct v3d_dev *v3d = to_v3d_dev(dev); local
1211 struct v3d_dev *v3d = to_v3d_dev(dev); local
[all...]
H A Dv3d_trace.h12 #define TRACE_SYSTEM v3d
/linux-master/drivers/gpu/drm/vc4/
H A Dvc4_v3d.c135 int ret = pm_runtime_get_sync(&vc4->v3d->pdev->dev);
156 pm_runtime_mark_last_busy(&vc4->v3d->pdev->dev);
157 pm_runtime_put_autosuspend(&vc4->v3d->pdev->dev);
239 struct vc4_v3d *v3d = vc4->v3d; local
244 if (!v3d)
262 dev_err(&v3d->pdev->dev,
374 struct vc4_v3d *v3d = dev_get_drvdata(dev); local
375 struct vc4_dev *vc4 = v3d->vc4;
379 clk_disable_unprepare(v3d
386 struct vc4_v3d *v3d = dev_get_drvdata(dev); local
406 struct vc4_v3d *v3d = vc4->v3d; local
423 struct vc4_v3d *v3d = NULL; local
[all...]
H A Dvc4_debugfs.c29 if (vc4->v3d) {
H A Dvc4_perfmon.c152 if (!vc4->v3d) {
206 if (!vc4->v3d) {
234 if (!vc4->v3d) {
H A Dvc4_irq.c249 if (!vc4->v3d)
269 if (!vc4->v3d)
286 if (!vc4->v3d)
H A Dvc4_drv.h91 struct vc4_v3d *v3d; member in struct:vc4_dev
621 readl(vc4->v3d->regs + (offset)); \
627 writel(val, vc4->v3d->regs + (offset)); \
H A Dvc4_gem.c82 if (!vc4->v3d) {
300 pm_runtime_put_sync_suspend(&vc4->v3d->pdev->dev);
301 pm_runtime_get_sync(&vc4->v3d->pdev->dev);
1137 if (!vc4->v3d) {
H A Dvc4_drv.c104 if (!vc4->v3d)
279 { .compatible = "brcm,bcm2835-v3d" },
280 { .compatible = "brcm,cygnus-v3d" },
281 { .compatible = "brcm,vc4-v3d" },
H A Dvc4_bo.c768 if (!vc4->v3d)
995 if (!vc4->v3d)
/linux-master/drivers/gpu/drm/
H A DMakefile140 obj-$(CONFIG_DRM_V3D) += v3d/

Completed in 168 milliseconds