| /linux/drivers/gpu/drm/v3d/ |
| H A D | v3d_gem.c | 21 v3d_init_core(struct v3d_dev *v3d, int core) in v3d_init_core() argument 29 if (v3d->ver < V3D_GEN_41) in v3d_init_core() 40 v3d_idle_axi(struct v3d_dev *v3d, int core) 42 V3D_CORE_WRITE(core, V3D_GMP_CFG(v3d->ver), V3D_GMP_CFG_STOP_REQ); in v3d_init_hw_state() 44 if (wait_for((V3D_CORE_READ(core, V3D_GMP_STATUS(v3d->ver)) & in v3d_init_hw_state() 48 drm_err(&v3d->drm, "Failed to wait for safe GMP shutdown\n"); in v3d_idle_axi() 53 v3d_idle_gca(struct v3d_dev *v3d) in v3d_idle_axi() 55 if (v3d->ver >= V3D_GEN_41) in v3d_idle_axi() 63 drm_err(&v3d->drm, "Failed to wait for safe GCA shutdown\n"); in v3d_idle_gca() 68 v3d_reset_by_bridge(struct v3d_dev *v3d) in v3d_idle_gca() 41 v3d_init_hw_state(struct v3d_dev * v3d) v3d_init_hw_state() argument 47 v3d_idle_axi(struct v3d_dev * v3d,int core) v3d_idle_axi() argument 60 v3d_idle_gca(struct v3d_dev * v3d) v3d_idle_gca() argument 75 v3d_reset_by_bridge(struct v3d_dev * v3d) v3d_reset_by_bridge() argument 98 v3d_reset_v3d(struct v3d_dev * v3d) v3d_reset_v3d() argument 109 v3d_reset_sms(struct v3d_dev * v3d) v3d_reset_sms() argument 125 v3d_reset(struct v3d_dev * v3d) v3d_reset() argument 153 v3d_flush_l3(struct v3d_dev * v3d) v3d_flush_l3() argument 172 v3d_invalidate_l2c(struct v3d_dev * v3d,int core) v3d_invalidate_l2c() argument 184 v3d_flush_l2t(struct v3d_dev * v3d,int core) v3d_flush_l2t() argument 209 v3d_clean_caches(struct v3d_dev * v3d) v3d_clean_caches() argument 247 v3d_invalidate_slices(struct v3d_dev * v3d,int core) v3d_invalidate_slices() argument 257 v3d_invalidate_caches(struct v3d_dev * v3d) v3d_invalidate_caches() argument 271 v3d_huge_mnt_init(struct v3d_dev * v3d) v3d_huge_mnt_init() argument 291 struct v3d_dev *v3d = to_v3d_dev(dev); v3d_gem_init() local 364 struct v3d_dev *v3d = to_v3d_dev(dev); v3d_gem_destroy() local [all...] |
| H A D | v3d_sched.c | 129 v3d_switch_perfmon(struct v3d_dev *v3d, struct v3d_job *job) in v3d_switch_perfmon() argument 131 struct v3d_perfmon *perfmon = v3d->global_perfmon; in v3d_switch_perfmon() 136 if (perfmon == v3d->active_perfmon) in v3d_switch_perfmon() 139 if (perfmon != v3d->active_perfmon) in v3d_switch_perfmon() 140 v3d_perfmon_stop(v3d, v3d->active_perfmon, true); in v3d_switch_perfmon() 142 if (perfmon && v3d->active_perfmon != perfmon) in v3d_switch_perfmon() 143 v3d_perfmon_start(v3d, perfmon); in v3d_switch_perfmon() 189 struct v3d_dev *v3d = job->base.v3d; in v3d_bin_job_run() local 250 struct v3d_dev *v3d = job->base.v3d; v3d_render_job_run() local 298 struct v3d_dev *v3d = job->base.v3d; v3d_tfu_job_run() local 345 struct v3d_dev *v3d = job->base.v3d; v3d_csd_job_run() local 407 struct v3d_dev *v3d = job->base.v3d; v3d_rewrite_csd_job_wg_counts_from_indirect() local 551 struct v3d_dev *v3d = job->base.v3d; v3d_reset_performance_queries() local 583 struct v3d_dev *v3d = job->base.v3d; v3d_write_performance_query_result() local 661 struct v3d_dev *v3d = job->base.v3d; v3d_cpu_job_run() local 684 struct v3d_dev *v3d = job->v3d; v3d_cache_clean_job_run() local 697 v3d_gpu_reset_for_timeout(struct v3d_dev * v3d,struct drm_sched_job * sched_job,enum v3d_queue q) v3d_gpu_reset_for_timeout() argument 735 struct v3d_dev *v3d = job->v3d; v3d_cl_job_timedout() local 784 struct v3d_dev *v3d = job->base.v3d; v3d_csd_job_timedout() local 834 v3d_queue_sched_init(struct v3d_dev * v3d,const struct drm_sched_backend_ops * ops,enum v3d_queue queue,const char * name) v3d_queue_sched_init() argument 851 v3d_sched_init(struct v3d_dev * v3d) v3d_sched_init() argument 892 v3d_sched_fini(struct v3d_dev * v3d) v3d_sched_fini() argument [all...] |
| H A D | v3d_perfmon.c | 195 void v3d_perfmon_init(struct v3d_dev *v3d) in v3d_perfmon_init() argument 200 if (v3d->ver >= V3D_GEN_71) { in v3d_perfmon_init() 203 } else if (v3d->ver >= V3D_GEN_42) { in v3d_perfmon_init() 208 v3d->perfmon_info.max_counters = max; in v3d_perfmon_init() 209 v3d->perfmon_info.counters = counters; in v3d_perfmon_init() 226 void v3d_perfmon_start(struct v3d_dev *v3d, struct v3d_perfmon *perfmon) in v3d_perfmon_start() argument 232 if (WARN_ON_ONCE(!perfmon || v3d->active_perfmon)) in v3d_perfmon_start() 235 if (!pm_runtime_get_if_active(v3d->drm.dev)) in v3d_perfmon_start() 244 v3d->ver); in v3d_perfmon_start() 248 V3D_PCTR_S1, v3d in v3d_perfmon_start() 262 v3d_perfmon_stop(struct v3d_dev * v3d,struct v3d_perfmon * perfmon,bool capture) v3d_perfmon_stop() argument 306 struct v3d_dev *v3d = v3d_priv->v3d; v3d_perfmon_delete() local 337 struct v3d_dev *v3d = v3d_priv->v3d; v3d_perfmon_create_ioctl() local 398 struct v3d_dev *v3d = to_v3d_dev(dev); v3d_perfmon_get_values_ioctl() local 426 struct v3d_dev *v3d = to_v3d_dev(dev); v3d_perfmon_get_counter_ioctl() local 455 struct v3d_dev *v3d = to_v3d_dev(dev); v3d_perfmon_set_global_ioctl() local [all...] |
| H A D | v3d_submit.c | 20 * to v3d, so we don't attach dma-buf fences to them. 110 v3d_pm_runtime_put(job->v3d); in v3d_job_free() 165 v3d_job_allocate(struct v3d_dev *v3d, void **container, size_t size) in v3d_job_allocate() 169 drm_err(&v3d->drm, "Cannot allocate memory for V3D job.\n"); in v3d_job_allocate() 184 v3d_job_init(struct v3d_dev *v3d, struct drm_file *file_priv, in v3d_job_init() 192 job->v3d = v3d; in v3d_job_init() 210 drm_dbg(&v3d->drm, "Failed to copy wait dep handle.\n"); in v3d_job_init() 230 ret = v3d_pm_runtime_get(v3d); in v3d_job_init() 239 job->global_stats = v3d_stats_get(v3d in v3d_push_job() 162 v3d_job_allocate(struct v3d_dev * v3d,void ** container,size_t size) v3d_job_allocate() argument 181 v3d_job_init(struct v3d_dev * v3d,struct drm_file * file_priv,struct v3d_job * job,void (* free)(struct kref * ref),u32 in_sync,struct v3d_submit_ext * se,enum v3d_queue queue) v3d_job_init() argument 294 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) v3d_setup_csd_jobs_and_bos() argument 354 struct v3d_dev *v3d = v3d_priv->v3d; v3d_get_multisync_post_deps() local 405 struct v3d_dev *v3d = v3d_priv->v3d; v3d_get_multisync_submit_deps() local 443 struct v3d_dev *v3d = v3d_priv->v3d; v3d_validate_cpu_job() local 465 struct v3d_dev *v3d = v3d_priv->v3d; v3d_get_cpu_indirect_csd_params() local 832 struct v3d_dev *v3d = v3d_priv->v3d; v3d_get_extensions() local 897 struct v3d_dev *v3d = to_v3d_dev(dev); v3d_submit_cl_ioctl() local 1072 struct v3d_dev *v3d = to_v3d_dev(dev); v3d_submit_tfu_ioctl() local 1170 struct v3d_dev *v3d = to_v3d_dev(dev); v3d_submit_csd_ioctl() local 1280 struct v3d_dev *v3d = to_v3d_dev(dev); v3d_submit_cpu_ioctl() local [all...] |
| H A D | v3d_bo.c | 42 struct v3d_dev *v3d = to_v3d_dev(obj->dev); in v3d_free_object() local 50 mutex_lock(&v3d->bo_lock); in v3d_free_object() 51 v3d->bo_stats.num_allocated--; in v3d_free_object() 52 v3d->bo_stats.pages_allocated -= obj->size >> V3D_MMU_PAGE_SHIFT; in v3d_free_object() 53 mutex_unlock(&v3d->bo_lock); in v3d_free_object() 55 spin_lock(&v3d->mm_lock); in v3d_free_object() 57 spin_unlock(&v3d->mm_lock); in v3d_free_object() 104 struct v3d_dev *v3d = to_v3d_dev(obj->dev); in v3d_bo_create_finish() local 126 spin_lock(&v3d->mm_lock); in v3d_bo_create_finish() 131 ret = drm_mm_insert_node_generic(&v3d->mm, &bo->node, in v3d_bo_create_finish() [all …]
|
| H A D | v3d_trace.h | 12 #define TRACE_SYSTEM v3d
|
| /linux/drivers/gpu/drm/vc4/ |
| H A D | vc4_v3d.c | 137 int ret = pm_runtime_get_sync(&vc4->v3d->pdev->dev); in vc4_v3d_pm_get() 158 pm_runtime_mark_last_busy(&vc4->v3d->pdev->dev); in vc4_v3d_pm_put() 159 pm_runtime_put_autosuspend(&vc4->v3d->pdev->dev); in vc4_v3d_pm_put() 241 struct vc4_v3d *v3d = vc4->v3d; in bin_bo_alloc() local 246 if (!v3d) in bin_bo_alloc() 264 dev_err(&v3d->pdev->dev, in bin_bo_alloc() 376 struct vc4_v3d *v3d = dev_get_drvdata(dev); in vc4_v3d_runtime_suspend() local 377 struct vc4_dev *vc4 = v3d->vc4; in vc4_v3d_runtime_suspend() 381 clk_disable_unprepare(v3d->clk); in vc4_v3d_runtime_suspend() 388 struct vc4_v3d *v3d = dev_get_drvdata(dev); in vc4_v3d_runtime_resume() local [all …]
|
| H A D | vc4_gem.c | 84 if (!vc4->v3d) { in vc4_get_hang_state_ioctl() 304 pm_runtime_put_sync_suspend(&vc4->v3d->pdev->dev); in vc4_reset() 305 pm_runtime_get_sync(&vc4->v3d->pdev->dev); in vc4_reset() 1030 if (!vc4->v3d) { in vc4_submit_cl_ioctl()
|
| H A D | vc4_drv.c | 104 if (!vc4->v3d) in vc4_get_param_ioctl() 280 { .compatible = "brcm,bcm2835-v3d" }, 281 { .compatible = "brcm,cygnus-v3d" }, 282 { .compatible = "brcm,vc4-v3d" },
|
| H A D | vc4_bo.c | 770 if (!vc4->v3d) in vc4_grab_bin_bo() 997 if (!vc4->v3d) in vc4_bo_debugfs_init()
|
| /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-rpi-common.dtsi | 21 clock-names = "v3d", "peri_image", "h264", "isp"; 24 &v3d {
|
| H A D | bcm2711-rpi.dtsi | 85 clock-names = "v3d", "peri_image", "h264", "isp"; 104 &v3d {
|
| H A D | bcm-cygnus.dtsi | 502 v3d: v3d@180a2000 { label 503 compatible = "brcm,cygnus-v3d";
|
| H A D | bcm911360_entphn.dts | 73 &v3d {
|
| /linux/ |
| H A D | MAINTAINERS | 8915 F: Documentation/devicetree/bindings/gpu/brcm,bcm-v3d.yaml 8916 F: drivers/gpu/drm/v3d/
|