/linux/drivers/gpu/drm/v3d/ |
H A D | v3d_sched.c | 121 v3d_switch_perfmon(struct v3d_dev *v3d, struct v3d_job *job) in v3d_switch_perfmon() argument 123 if (job->perfmon != v3d->active_perfmon) in v3d_switch_perfmon() 124 v3d_perfmon_stop(v3d, v3d->active_perfmon, true); in v3d_switch_perfmon() 126 if (job->perfmon && v3d->active_perfmon != job->perfmon) in v3d_switch_perfmon() 127 v3d_perfmon_start(v3d, job->perfmon); in v3d_switch_perfmon() 133 struct v3d_dev *v3d = job->v3d; in v3d_job_start_stats() local 135 struct v3d_stats *global_stats = &v3d->queue[queue].stats; in v3d_job_start_stats() 191 struct v3d_dev *v3d = job->v3d; in v3d_job_update_stats() local 193 struct v3d_stats *global_stats = &v3d->queue[queue].stats; in v3d_job_update_stats() 216 struct v3d_dev *v3d = job->base.v3d; in v3d_bin_job_run() local [all …]
|
H A D | v3d_drv.c | 49 struct v3d_dev *v3d = to_v3d_dev(dev); in v3d_get_param_ioctl() local 90 args->value = v3d_has_csd(v3d); in v3d_get_param_ioctl() 96 args->value = (v3d->ver >= 40); in v3d_get_param_ioctl() 105 args->value = v3d->perfmon_info.max_counters; in v3d_get_param_ioctl() 108 args->value = !!v3d->gemfs; in v3d_get_param_ioctl() 119 struct v3d_dev *v3d = to_v3d_dev(dev); in v3d_open() local 128 v3d_priv->v3d = v3d; in v3d_open() 131 sched = &v3d->queue[i].sched; in v3d_open() 267 map_regs(struct v3d_dev *v3d, void __iomem **regs, const char *name) in map_regs() argument 269 *regs = devm_platform_ioremap_resource_byname(v3d_to_pdev(v3d), name); in map_regs() [all …]
|
H A D | v3d_debugfs.c | 98 struct v3d_dev *v3d = to_v3d_dev(dev); in v3d_v3d_debugfs_regs() local 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() 119 for (core = 0; core < v3d->cores; core++) { 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() 148 struct v3d_dev *v3d = to_v3d_dev(dev); in v3d_v3d_debugfs_ident() local 167 if (v3d->ver <= 42) { in v3d_v3d_debugfs_ident() 199 if (v3d->ver <= 42) { in v3d_v3d_debugfs_ident() 203 if (v3d->ver < 40) { in v3d_v3d_debugfs_ident() [all …]
|
H A D | v3d_drv.h | 195 v3d_has_csd(struct v3d_dev *v3d) in v3d_has_csd() argument 197 return v3d->ver >= 41; in v3d_has_csd() 200 #define v3d_to_pdev(v3d) to_platform_device((v3d)->drm.dev) argument 204 struct v3d_dev *v3d; member 250 #define V3D_READ(offset) readl(v3d->hub_regs + offset) 251 #define V3D_WRITE(offset, val) writel(val, v3d->hub_regs + offset) 253 #define V3D_BRIDGE_READ(offset) readl(v3d->bridge_regs + offset) 254 #define V3D_BRIDGE_WRITE(offset, val) writel(val, v3d->bridge_regs + offset) 256 #define V3D_GCA_READ(offset) readl(v3d->gca_regs + offset) 257 #define V3D_GCA_WRITE(offset, val) writel(val, v3d->gca_regs + offset) [all …]
|
H A D | v3d_bo.c | 45 struct v3d_dev *v3d = to_v3d_dev(obj->dev); in v3d_free_object() local 53 mutex_lock(&v3d->bo_lock); in v3d_free_object() 54 v3d->bo_stats.num_allocated--; in v3d_free_object() 55 v3d->bo_stats.pages_allocated -= obj->size >> V3D_MMU_PAGE_SHIFT; in v3d_free_object() 56 mutex_unlock(&v3d->bo_lock); in v3d_free_object() 58 spin_lock(&v3d->mm_lock); in v3d_free_object() 60 spin_unlock(&v3d->mm_lock); in v3d_free_object() 107 struct v3d_dev *v3d = to_v3d_dev(obj->dev); in v3d_bo_create_finish() local 120 if (!v3d->gemfs) in v3d_bo_create_finish() 129 spin_lock(&v3d->mm_lock); in v3d_bo_create_finish() [all …]
|
H A D | v3d_submit.c | 158 v3d_job_init(struct v3d_dev *v3d, struct drm_file *file_priv, in v3d_job_init() argument 166 job->v3d = v3d; in v3d_job_init() 268 struct v3d_dev *v3d, in v3d_setup_csd_jobs_and_bos() argument 281 ret = v3d_job_init(v3d, file_priv, &(*job)->base, in v3d_setup_csd_jobs_and_bos() 292 ret = v3d_job_init(v3d, file_priv, *clean_job, in v3d_setup_csd_jobs_and_bos() 301 ret = v3d_lookup_bos(&v3d->drm, file_priv, *clean_job, in v3d_setup_csd_jobs_and_bos() 412 struct v3d_dev *v3d = v3d_priv->v3d; in v3d_get_cpu_indirect_csd_params() local 429 if (!v3d_has_csd(v3d)) { in v3d_get_cpu_indirect_csd_params() 442 return v3d_setup_csd_jobs_and_bos(file_priv, v3d, &indirect_csd.submit, in v3d_get_cpu_indirect_csd_params() 891 struct v3d_dev *v3d = to_v3d_dev(dev); in v3d_submit_cl_ioctl() local [all …]
|
H 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()
|
H 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()
|
/linux/drivers/gpu/drm/vc4/ |
H A D | vc4_v3d.c | 135 int ret = pm_runtime_get_sync(&vc4->v3d->pdev->dev); in vc4_v3d_pm_get() 156 pm_runtime_mark_last_busy(&vc4->v3d->pdev->dev); in vc4_v3d_pm_put() 157 pm_runtime_put_autosuspend(&vc4->v3d->pdev->dev); in vc4_v3d_pm_put() 239 struct vc4_v3d *v3d = vc4->v3d; in bin_bo_alloc() local 244 if (!v3d) in bin_bo_alloc() 262 dev_err(&v3d->pdev->dev, in bin_bo_alloc() 374 struct vc4_v3d *v3d = dev_get_drvdata(dev); in vc4_v3d_runtime_suspend() local 375 struct vc4_dev *vc4 = v3d->vc4; in vc4_v3d_runtime_suspend() 379 clk_disable_unprepare(v3d->clk); in vc4_v3d_runtime_suspend() 386 struct vc4_v3d *v3d = dev_get_drvdata(dev); in vc4_v3d_runtime_resume() local [all …]
|
H 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()
|
H 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()
|
/linux/Documentation/gpu/ |
H A D | v3d.rst | 2 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
|
/linux/arch/arm/boot/dts/broadcom/ |
H A D | bcm2835-common.dtsi | 70 clock-names = "v3d", "peri_image", "h264", "isp"; 138 v3d: v3d@7ec00000 { label 139 compatible = "brcm,bcm2835-v3d";
|
H A D | bcm2835-rpi-common.dtsi | 16 &v3d {
|
/linux/drivers/gpu/drm/ci/xfails/ |
H A D | msm-apq8016-skips.txt | 5 ^v3d.*
|
H A D | meson-g12b-skips.txt | 6 ^v3d.*
|
H A D | mediatek-mt8183-skips.txt | 6 ^v3d.*
|
H A D | mediatek-mt8173-skips.txt | 6 ^v3d.*
|
H A D | i915-whl-skips.txt | 9 ^v3d.*
|
H A D | msm-sc7180-trogdor-lazor-limozeen-skips.txt | 8 ^v3d.*
|
H A D | rockchip-rk3399-skips.txt | 9 ^v3d.*
|
H A D | rockchip-rk3288-skips.txt | 9 ^v3d.*
|
H A D | i915-cml-skips.txt | 9 ^v3d.*
|
H A D | panfrost-g12b-skips.txt | 5 ^v3d.*
|
H A D | panfrost-mt8183-skips.txt | 5 ^v3d.*
|