| /drivers/gpu/drm/v3d/ |
| A D | v3d_gem.c | 99 if (v3d->reset) in v3d_reset_v3d() 139 v3d_idle_gca(v3d); in v3d_reset() 140 v3d_reset_sms(v3d); in v3d_reset() 141 v3d_reset_v3d(v3d); in v3d_reset() 144 v3d_irq_reset(v3d); in v3d_reset() 146 v3d_perfmon_stop(v3d, v3d->active_perfmon, false); in v3d_reset() 255 v3d_flush_l3(v3d); in v3d_invalidate_caches() 297 v3d->pt = dma_alloc_wc(v3d->drm.dev, pt_size, in v3d_gem_init() 300 if (!v3d->pt) { in v3d_gem_init() 315 dma_free_coherent(v3d->drm.dev, pt_size, (void *)v3d->pt, in v3d_gem_init() [all …]
|
| A D | v3d_irq.c | 41 struct v3d_dev *v3d = in v3d_overflow_mem_work() local 64 if (!v3d->bin_job) { in v3d_overflow_mem_work() 111 v3d->bin_job = NULL; in v3d_irq() 137 v3d->csd_job = NULL; in v3d_irq() 177 v3d->tfu_job = NULL; in v3d_hub_irq() 280 ret = devm_request_irq(v3d->drm.dev, v3d->irq[V3D_CORE_IRQ], in v3d_irq_init() 291 ret = devm_request_irq(v3d->drm.dev, v3d->irq[V3D_HUB_IRQ], in v3d_irq_init() 304 ret = devm_request_irq(v3d->drm.dev, v3d->irq[V3D_CORE_IRQ], in v3d_irq_init() 311 v3d_irq_enable(v3d); in v3d_irq_init() 347 if (v3d->irq[i]) in v3d_irq_disable() [all …]
|
| A D | v3d_drv.c | 128 v3d_priv->v3d = v3d; in v3d_open() 315 if (IS_ERR(v3d)) in v3d_platform_drm_probe() 318 drm = &v3d->drm; in v3d_platform_drm_probe() 323 v3d->ver = gen; in v3d_platform_drm_probe() 325 ret = map_regs(v3d, &v3d->hub_regs, "hub"); in v3d_platform_drm_probe() 329 ret = map_regs(v3d, &v3d->core_regs[0], "core0"); in v3d_platform_drm_probe() 334 ret = map_regs(v3d, &v3d->sms_regs, "sms"); in v3d_platform_drm_probe() 383 ret = map_regs(v3d, &v3d->bridge_regs, "bridge"); in v3d_platform_drm_probe() 392 ret = map_regs(v3d, &v3d->gca_regs, "gca"); in v3d_platform_drm_probe() 430 dma_free_wc(dev, 4096, v3d->mmu_scratch, v3d->mmu_scratch_paddr); in v3d_platform_drm_probe() [all …]
|
| A D | v3d_sched.c | 141 struct v3d_dev *v3d = job->v3d; in v3d_job_start_stats() local 199 struct v3d_dev *v3d = job->v3d; in v3d_job_update_stats() local 228 struct v3d_dev *v3d = job->base.v3d; in v3d_bin_job_run() local 288 struct v3d_dev *v3d = job->base.v3d; in v3d_render_job_run() local 336 struct v3d_dev *v3d = job->base.v3d; in v3d_tfu_job_run() local 383 struct v3d_dev *v3d = job->base.v3d; in v3d_csd_job_run() local 435 struct v3d_dev *v3d = job->base.v3d; in v3d_rewrite_csd_job_wg_counts_from_indirect() local 454 if (v3d->ver < 71 || (v3d->ver == 71 && v3d->rev < 6)) in v3d_rewrite_csd_job_wg_counts_from_indirect() 578 struct v3d_dev *v3d = job->base.v3d; in v3d_reset_performance_queries() local 710 struct v3d_dev *v3d = job->v3d; in v3d_cache_clean_job_run() local [all …]
|
| A D | v3d_perfmon.c | 203 if (v3d->ver >= V3D_GEN_71) { in v3d_perfmon_init() 244 v3d->ver); in v3d_perfmon_start() 248 V3D_PCTR_S1, v3d->ver); in v3d_perfmon_start() 251 V3D_PCTR_S2, v3d->ver); in v3d_perfmon_start() 254 V3D_PCTR_S3, v3d->ver); in v3d_perfmon_start() 262 v3d->active_perfmon = perfmon; in v3d_perfmon_start() 285 v3d->active_perfmon = NULL; in v3d_perfmon_stop() 326 struct v3d_dev *v3d = v3d_priv->v3d; in v3d_perfmon_close_file() local 340 struct v3d_dev *v3d = v3d_priv->v3d; in v3d_perfmon_create_ioctl() local 390 struct v3d_dev *v3d = v3d_priv->v3d; in v3d_perfmon_destroy_ioctl() local [all …]
|
| A D | v3d_drv.h | 216 v3d_has_csd(struct v3d_dev *v3d) in v3d_has_csd() argument 218 return v3d->ver >= V3D_GEN_41; in v3d_has_csd() 221 #define v3d_to_pdev(v3d) to_platform_device((v3d)->drm.dev) argument 225 struct v3d_dev *v3d; member 297 struct v3d_dev *v3d; member 567 void v3d_reset_sms(struct v3d_dev *v3d); 568 void v3d_reset(struct v3d_dev *v3d); 574 void v3d_gemfs_init(struct v3d_dev *v3d); 590 int v3d_irq_init(struct v3d_dev *v3d); 593 void v3d_irq_reset(struct v3d_dev *v3d); [all …]
|
| A D | v3d_debugfs.c | 104 if (v3d->ver >= def->min_ver && v3d->ver <= def->max_ver) { in v3d_v3d_debugfs_regs() 113 if (v3d->ver >= def->min_ver && v3d->ver <= def->max_ver) { in v3d_v3d_debugfs_regs() 123 if (v3d->ver >= def->min_ver && v3d->ver <= def->max_ver) { in v3d_v3d_debugfs_regs() 133 if (v3d->ver >= def->min_ver && v3d->ver <= def->max_ver) { in v3d_v3d_debugfs_regs() 167 if (v3d->ver <= V3D_GEN_42) { in v3d_v3d_debugfs_ident() 203 if (v3d->ver < V3D_GEN_41) { in v3d_v3d_debugfs_ident() 218 mutex_lock(&v3d->bo_lock); in v3d_debugfs_bo_stats() 223 mutex_unlock(&v3d->bo_lock); in v3d_debugfs_bo_stats() 270 spin_lock(&v3d->mm_lock); in v3d_debugfs_mm() 271 drm_mm_print(&v3d->mm, &p); in v3d_debugfs_mm() [all …]
|
| A D | v3d_mmu.c | 38 int v3d_mmu_flush_all(struct v3d_dev *v3d) in v3d_mmu_flush_all() argument 63 int v3d_mmu_set_page_table(struct v3d_dev *v3d) in v3d_mmu_set_page_table() argument 76 (v3d->mmu_scratch_paddr >> V3D_MMU_PAGE_SHIFT) | in v3d_mmu_set_page_table() 80 return v3d_mmu_flush_all(v3d); in v3d_mmu_set_page_table() 116 v3d->pt[page++] = page_address + i; in v3d_mmu_insert_ptes() 127 if (v3d_mmu_flush_all(v3d)) in v3d_mmu_insert_ptes() 128 dev_err(v3d->drm.dev, "MMU flush timeout\n"); in v3d_mmu_insert_ptes() 133 struct v3d_dev *v3d = to_v3d_dev(bo->base.base.dev); in v3d_mmu_remove_ptes() local 138 v3d->pt[page] = 0; in v3d_mmu_remove_ptes() 140 if (v3d_mmu_flush_all(v3d)) in v3d_mmu_remove_ptes() [all …]
|
| A D | v3d_bo.c | 48 mutex_lock(&v3d->bo_lock); in v3d_free_object() 49 v3d->bo_stats.num_allocated--; in v3d_free_object() 51 mutex_unlock(&v3d->bo_lock); in v3d_free_object() 53 spin_lock(&v3d->mm_lock); in v3d_free_object() 55 spin_unlock(&v3d->mm_lock); in v3d_free_object() 115 if (!v3d->gemfs) in v3d_bo_create_finish() 124 spin_lock(&v3d->mm_lock); in v3d_bo_create_finish() 132 spin_unlock(&v3d->mm_lock); in v3d_bo_create_finish() 137 mutex_lock(&v3d->bo_lock); in v3d_bo_create_finish() 140 mutex_unlock(&v3d->bo_lock); in v3d_bo_create_finish() [all …]
|
| A D | v3d_gemfs.c | 15 void v3d_gemfs_init(struct v3d_dev *v3d) in v3d_gemfs_init() argument 50 v3d->gemfs = gemfs; in v3d_gemfs_init() 51 drm_info(&v3d->drm, "Using Transparent Hugepages\n"); in v3d_gemfs_init() 56 v3d->gemfs = NULL; in v3d_gemfs_init() 57 drm_notice(&v3d->drm, in v3d_gemfs_init() 61 void v3d_gemfs_fini(struct v3d_dev *v3d) in v3d_gemfs_fini() argument 63 if (v3d->gemfs) in v3d_gemfs_fini() 64 kern_unmount(v3d->gemfs); in v3d_gemfs_fini()
|
| A D | v3d_submit.c | 167 job->v3d = v3d; in v3d_job_init() 269 struct v3d_dev *v3d, in v3d_setup_csd_jobs_and_bos() argument 413 struct v3d_dev *v3d = v3d_priv->v3d; in v3d_get_cpu_indirect_csd_params() local 430 if (!v3d_has_csd(v3d)) { in v3d_get_cpu_indirect_csd_params() 985 if (v3d->global_perfmon) { in v3d_submit_cl_ioctl() 999 mutex_lock(&v3d->sched_lock); in v3d_submit_cl_ioctl() 1132 mutex_lock(&v3d->sched_lock); in v3d_submit_tfu_ioctl() 1180 if (!v3d_has_csd(v3d)) { in v3d_submit_csd_ioctl() 1205 if (v3d->global_perfmon) { in v3d_submit_csd_ioctl() 1218 mutex_lock(&v3d->sched_lock); in v3d_submit_csd_ioctl() [all …]
|
| A 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()
|
| A D | Makefile | 5 v3d-y := \ 19 v3d-$(CONFIG_DEBUG_FS) += v3d_debugfs.o 21 obj-$(CONFIG_DRM_V3D) += v3d.o
|
| A D | v3d_sysfs.c | 15 struct v3d_dev *v3d = to_v3d_dev(drm); in gpu_stats_show() local 23 struct v3d_stats *stats = &v3d->queue[queue].stats; in gpu_stats_show()
|
| /drivers/gpu/drm/vc4/ |
| A D | vc4_v3d.c | 239 struct vc4_v3d *v3d = vc4->v3d; in bin_bo_alloc() local 244 if (!v3d) in bin_bo_alloc() 406 struct vc4_v3d *v3d = vc4->v3d; in vc4_v3d_debugfs_init() local 408 if (!vc4->v3d) in vc4_v3d_debugfs_init() 426 v3d = devm_kzalloc(&pdev->dev, sizeof(*v3d), GFP_KERNEL); in vc4_v3d_bind() 427 if (!v3d) in vc4_v3d_bind() 432 v3d->pdev = pdev; in vc4_v3d_bind() 437 v3d->regset.base = v3d->regs; in vc4_v3d_bind() 441 vc4->v3d = v3d; in vc4_v3d_bind() 442 v3d->vc4 = vc4; in vc4_v3d_bind() [all …]
|
| A D | vc4_irq.c | 249 if (!vc4->v3d) in vc4_irq_prepare() 269 if (!vc4->v3d) in vc4_irq_enable() 286 if (!vc4->v3d) in vc4_irq_disable()
|
| A D | vc4_perfmon.c | 157 if (!vc4->v3d) { in vc4_perfmon_create_ioctl() 211 if (!vc4->v3d) { in vc4_perfmon_destroy_ioctl() 239 if (!vc4->v3d) { in vc4_perfmon_get_values_ioctl()
|
| /drivers/gpu/drm/ci/xfails/ |
| A D | msm-apq8016-skips.txt | 5 ^v3d.*
|
| A D | meson-g12b-skips.txt | 6 ^v3d.*
|
| A D | i915-jsl-skips.txt | 9 ^v3d.*
|
| A D | i915-whl-skips.txt | 9 ^v3d.*
|
| A D | rockchip-rk3288-skips.txt | 9 ^v3d.*
|
| A D | i915-cml-skips.txt | 9 ^v3d.*
|
| A D | panfrost-g12b-skips.txt | 5 ^v3d.*
|
| A D | panfrost-mt8183-skips.txt | 5 ^v3d.*
|