/drivers/gpu/drm/v3d/ |
D | v3d_irq.c | 39 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 …]
|
D | v3d_sched.c | 67 v3d_switch_perfmon(struct v3d_dev *v3d, struct v3d_job *job) in v3d_switch_perfmon() argument 69 if (job->perfmon != v3d->active_perfmon) in v3d_switch_perfmon() 70 v3d_perfmon_stop(v3d, v3d->active_perfmon, true); in v3d_switch_perfmon() 72 if (job->perfmon && v3d->active_perfmon != job->perfmon) in v3d_switch_perfmon() 73 v3d_perfmon_start(v3d, job->perfmon); in v3d_switch_perfmon() 101 struct v3d_dev *v3d = job->base.v3d; in v3d_bin_job_run() local 102 struct drm_device *dev = &v3d->drm; in v3d_bin_job_run() 112 spin_lock_irqsave(&v3d->job_lock, irqflags); in v3d_bin_job_run() 113 v3d->bin_job = job; in v3d_bin_job_run() 118 spin_unlock_irqrestore(&v3d->job_lock, irqflags); in v3d_bin_job_run() [all …]
|
D | v3d_gem.c | 22 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 …]
|
D | v3d_drv.c | 44 struct v3d_dev *v3d = to_v3d_dev(dev); in v3d_get_param_ioctl() local 72 ret = pm_runtime_get_sync(v3d->drm.dev); in v3d_get_param_ioctl() 81 pm_runtime_mark_last_busy(v3d->drm.dev); in v3d_get_param_ioctl() 82 pm_runtime_put_autosuspend(v3d->drm.dev); in v3d_get_param_ioctl() 92 args->value = v3d_has_csd(v3d); in v3d_get_param_ioctl() 98 args->value = (v3d->ver >= 40); in v3d_get_param_ioctl() 109 struct v3d_dev *v3d = to_v3d_dev(dev); in v3d_open() local 118 v3d_priv->v3d = v3d; in v3d_open() 121 sched = &v3d->queue[i].sched; in v3d_open() 207 map_regs(struct v3d_dev *v3d, void __iomem **regs, const char *name) in map_regs() argument [all …]
|
D | v3d_drv.h | 162 v3d_has_csd(struct v3d_dev *v3d) in v3d_has_csd() argument 164 return v3d->ver >= 41; in v3d_has_csd() 167 #define v3d_to_pdev(v3d) to_platform_device((v3d)->drm.dev) argument 171 struct v3d_dev *v3d; member 212 #define V3D_READ(offset) readl(v3d->hub_regs + offset) 213 #define V3D_WRITE(offset, val) writel(val, v3d->hub_regs + offset) 215 #define V3D_BRIDGE_READ(offset) readl(v3d->bridge_regs + offset) 216 #define V3D_BRIDGE_WRITE(offset, val) writel(val, v3d->bridge_regs + offset) 218 #define V3D_GCA_READ(offset) readl(v3d->gca_regs + offset) 219 #define V3D_GCA_WRITE(offset, val) writel(val, v3d->gca_regs + offset) [all …]
|
D | v3d_mmu.c | 33 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 …]
|
D | v3d_bo.c | 33 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 …]
|
D | v3d_debugfs.c | 84 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 …]
|
D | v3d_fence.c | 6 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()
|
D | v3d_perfmon.c | 24 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() 56 v3d->active_perfmon = perfmon; in v3d_perfmon_start() 59 void v3d_perfmon_stop(struct v3d_dev *v3d, struct v3d_perfmon *perfmon, in v3d_perfmon_stop() argument 64 if (!perfmon || !v3d->active_perfmon) in v3d_perfmon_stop() 68 if (perfmon != v3d->active_perfmon) { in v3d_perfmon_stop() 79 v3d->active_perfmon = NULL; in v3d_perfmon_stop() 188 struct v3d_dev *v3d = to_v3d_dev(dev); in v3d_perfmon_get_values_ioctl() local 205 v3d_perfmon_stop(v3d, perfmon, true); in v3d_perfmon_get_values_ioctl()
|
D | Makefile | 5 v3d-y := \ 16 v3d-$(CONFIG_DEBUG_FS) += v3d_debugfs.o 18 obj-$(CONFIG_DRM_V3D) += v3d.o
|
D | v3d_trace.h | 12 #define TRACE_SYSTEM v3d
|
/drivers/gpu/drm/vc4/ |
D | vc4_v3d.c | 132 int ret = pm_runtime_get_sync(&vc4->v3d->pdev->dev); in vc4_v3d_pm_get() 150 pm_runtime_mark_last_busy(&vc4->v3d->pdev->dev); in vc4_v3d_pm_put() 151 pm_runtime_put_autosuspend(&vc4->v3d->pdev->dev); in vc4_v3d_pm_put() 230 struct vc4_v3d *v3d = vc4->v3d; in bin_bo_alloc() local 235 if (!v3d) in bin_bo_alloc() 253 dev_err(&v3d->pdev->dev, in bin_bo_alloc() 359 struct vc4_v3d *v3d = dev_get_drvdata(dev); in vc4_v3d_runtime_suspend() local 360 struct vc4_dev *vc4 = v3d->vc4; in vc4_v3d_runtime_suspend() 364 clk_disable_unprepare(v3d->clk); in vc4_v3d_runtime_suspend() 371 struct vc4_v3d *v3d = dev_get_drvdata(dev); in vc4_v3d_runtime_resume() local [all …]
|
D | vc4_perfmon.c | 110 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()
|
D | vc4_irq.c | 246 if (!vc4->v3d) in vc4_irq_prepare() 263 if (!vc4->v3d) in vc4_irq_enable() 277 if (!vc4->v3d) in vc4_irq_disable()
|
D | vc4_drv.h | 80 struct vc4_v3d *v3d; member 573 #define V3D_READ(offset) readl(vc4->v3d->regs + offset) 574 #define V3D_WRITE(offset, val) writel(val, vc4->v3d->regs + offset)
|
D | vc4_gem.c | 79 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()
|
D | vc4_drv.c | 76 if (!vc4->v3d) in vc4_get_param_ioctl()
|
D | vc4_bo.c | 745 if (!vc4->v3d) in vc4_grab_bin_bo()
|
/drivers/gpu/drm/ |
D | Makefile | 79 obj-$(CONFIG_DRM_V3D) += v3d/
|
D | Kconfig | 344 source "drivers/gpu/drm/v3d/Kconfig"
|