/linux-master/drivers/gpu/drm/v3d/ |
H A D | v3d_gem.c | 20 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 D | v3d_irq.c | 41 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 D | Makefile | 5 v3d-y := \ 18 v3d-$(CONFIG_DEBUG_FS) += v3d_debugfs.o 20 obj-$(CONFIG_DRM_V3D) += v3d.o
|
H A D | v3d_mmu.c | 31 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 D | v3d_drv.c | 32 #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 D | v3d_fence.c | 6 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 D | v3d_sched.c | 99 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 D | v3d_drv.h | 173 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 D | v3d_debugfs.c | 98 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 D | v3d_sysfs.c | 15 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 D | v3d_bo.c | 33 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 D | v3d_perfmon.c | 26 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 D | v3d_submit.c | 18 * 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 D | v3d_trace.h | 12 #define TRACE_SYSTEM v3d
|
/linux-master/drivers/gpu/drm/vc4/ |
H A D | vc4_v3d.c | 135 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 D | vc4_debugfs.c | 29 if (vc4->v3d) {
|
H A D | vc4_perfmon.c | 152 if (!vc4->v3d) { 206 if (!vc4->v3d) { 234 if (!vc4->v3d) {
|
H A D | vc4_irq.c | 249 if (!vc4->v3d) 269 if (!vc4->v3d) 286 if (!vc4->v3d)
|
H A D | vc4_drv.h | 91 struct vc4_v3d *v3d; member in struct:vc4_dev 621 readl(vc4->v3d->regs + (offset)); \ 627 writel(val, vc4->v3d->regs + (offset)); \
|
H A D | vc4_gem.c | 82 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 D | vc4_drv.c | 104 if (!vc4->v3d) 279 { .compatible = "brcm,bcm2835-v3d" }, 280 { .compatible = "brcm,cygnus-v3d" }, 281 { .compatible = "brcm,vc4-v3d" },
|
H A D | vc4_bo.c | 768 if (!vc4->v3d) 995 if (!vc4->v3d)
|
/linux-master/drivers/gpu/drm/ |
H A D | Makefile | 140 obj-$(CONFIG_DRM_V3D) += v3d/
|