| /linux/drivers/gpu/drm/v3d/ |
| H A D | v3d_drv.c | 5 * DOC: Broadcom V3D Graphics Driver 7 * This driver supports the Broadcom V3D 3.3 and 4.1 OpenGL ES GPUs. 8 * For V3D 2.x support, see the VC4 driver. 10 * The V3D GPU includes a tiled render (composed of a bin and render 34 #define DRIVER_NAME "v3d" 35 #define DRIVER_DESC "Broadcom V3D graphics" 51 struct v3d_dev *v3d = to_v3d_dev(dev); in v3d_get_param_ioctl() local 92 args->value = v3d_has_csd(v3d); in v3d_get_param_ioctl() 98 args->value = (v3d->ver >= V3D_GEN_41); in v3d_get_param_ioctl() 107 args->value = v3d->perfmon_info.max_counters; in v3d_get_param_ioctl() [all …]
|
| H A D | v3d_submit.c | 20 * to v3d, so we don't attach dma-buf fences to them. 55 * @job: V3D job being set up 141 v3d_job_allocate(struct v3d_dev *v3d, void **container, size_t size) in v3d_job_allocate() argument 145 drm_err(&v3d->drm, "Cannot allocate memory for V3D job.\n"); in v3d_job_allocate() 160 v3d_job_init(struct v3d_dev *v3d, struct drm_file *file_priv, in v3d_job_init() argument 168 job->v3d = v3d; in v3d_job_init() 186 drm_dbg(&v3d->drm, "Failed to copy wait dep handle.\n"); in v3d_job_init() 270 struct v3d_dev *v3d, in v3d_setup_csd_jobs_and_bos() argument 279 ret = v3d_job_allocate(v3d, (void *)job, sizeof(**job)); in v3d_setup_csd_jobs_and_bos() 283 ret = v3d_job_init(v3d, file_priv, &(*job)->base, in v3d_setup_csd_jobs_and_bos() [all …]
|
| H A D | v3d_bo.c | 5 * DOC: V3D GEM BO management support 7 * Compared to VC4 (V3D 2.x), V3D 3.3 introduces an MMU between the 11 * Physically contiguous objects may still be imported to V3D, but the 15 * driver) for an example of how to integrate with V3D. 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() [all …]
|
| H A D | v3d_perfmon.c | 198 void v3d_perfmon_init(struct v3d_dev *v3d) in v3d_perfmon_init() argument 203 if (v3d->ver >= V3D_GEN_71) { in v3d_perfmon_init() 206 } else if (v3d->ver >= V3D_GEN_42) { in v3d_perfmon_init() 211 v3d->perfmon_info.max_counters = max; in v3d_perfmon_init() 212 v3d->perfmon_info.counters = counters; in v3d_perfmon_init() 229 void v3d_perfmon_start(struct v3d_dev *v3d, struct v3d_perfmon *perfmon) in v3d_perfmon_start() argument 235 if (WARN_ON_ONCE(!perfmon || v3d->active_perfmon)) in v3d_perfmon_start() 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() [all …]
|
| H A D | v3d_fence.c | 6 struct dma_fence *v3d_fence_create(struct v3d_dev *v3d, enum v3d_queue q) in v3d_fence_create() argument 8 struct v3d_queue_state *queue = &v3d->queue[q]; in v3d_fence_create() 15 fence->dev = &v3d->drm; in v3d_fence_create() 26 return "v3d"; in v3d_fence_get_driver_name() 35 return "v3d-bin"; in v3d_fence_get_timeline_name() 37 return "v3d-render"; in v3d_fence_get_timeline_name() 39 return "v3d-tfu"; in v3d_fence_get_timeline_name() 41 return "v3d-csd"; in v3d_fence_get_timeline_name()
|
| H A D | Kconfig | 3 tristate "Broadcom V3D 3.x and newer" 12 V3D 3.x or newer GPUs. SoCs supported include the BCM2711,
|
| 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()
|
| H A D | v3d_performance_counters.h | 24 /* Different revisions of V3D have different total number of
|
| H A D | v3d_trace.h | 12 #define TRACE_SYSTEM v3d
|
| /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 6 :doc: Broadcom V3D Graphics Driver 11 .. kernel-doc:: drivers/gpu/drm/v3d/v3d_bo.c 12 :doc: V3D GEM BO management support 16 .. kernel-doc:: drivers/gpu/drm/v3d/v3d_mmu.c 17 :doc: Broadcom V3D MMU 21 .. kernel-doc:: drivers/gpu/drm/v3d/v3d_sched.c 22 :doc: Broadcom V3D scheduling 27 .. kernel-doc:: drivers/gpu/drm/v3d/v3d_irq.c [all …]
|
| H A D | vc4.rst | 87 V3D binner command list (BCL) validation 93 V3D render command list (RCL) generation 104 V3D Interrupts 108 :doc: Interrupt management for the V3D engine
|
| /linux/Documentation/devicetree/bindings/display/ |
| H A D | brcm,bcm2835-v3d.yaml | 4 $id: http://devicetree.org/schemas/display/brcm,bcm2835-v3d.yaml# 7 title: Broadcom VC4 (VideoCore4) V3D GPU 15 - brcm,bcm2835-v3d 16 - brcm,cygnus-v3d 39 v3d: v3d@7ec00000 { 40 compatible = "brcm,bcm2835-v3d";
|
| /linux/drivers/gpu/drm/vc4/ |
| H A D | vc4_perfmon.c | 7 * DOC: VC4 V3D performance monitor module 9 * The V3D block provides 16 hardware counters which can count various events. 159 if (!vc4->v3d) { in vc4_perfmon_create_ioctl() 160 DRM_DEBUG("Creating perfmon no VC4 V3D probed\n"); in vc4_perfmon_create_ioctl() 212 if (!vc4->v3d) { in vc4_perfmon_destroy_ioctl() 213 DRM_DEBUG("Destroying perfmon no VC4 V3D probed\n"); in vc4_perfmon_destroy_ioctl() 240 if (!vc4->v3d) { in vc4_perfmon_get_values_ioctl() 241 DRM_DEBUG("Getting perfmon no VC4 V3D probed\n"); in vc4_perfmon_get_values_ioctl()
|
| H A D | vc4_drv.c | 11 * OpenGL ES 2.0-compatible 3D engine called V3D, and a highly 106 if (!vc4->v3d) in vc4_get_param_ioctl() 282 { .compatible = "brcm,bcm2835-v3d" }, 283 { .compatible = "brcm,cygnus-v3d" }, 284 { .compatible = "brcm,vc4-v3d" },
|
| H A D | vc4_gem.c | 84 if (!vc4->v3d) { in vc4_get_hang_state_ioctl() 85 DRM_DEBUG("VC4_GET_HANG_STATE with no VC4 V3D probed\n"); in vc4_get_hang_state_ioctl() 302 pm_runtime_put_sync_suspend(&vc4->v3d->pdev->dev); in vc4_reset() 303 pm_runtime_get_sync(&vc4->v3d->pdev->dev); in vc4_reset() 671 * @exec: V3D job being set up 1028 if (!vc4->v3d) { in vc4_submit_cl_ioctl() 1029 DRM_DEBUG("VC4_SUBMIT_CL with no VC4 V3D probed\n"); in vc4_submit_cl_ioctl() 1196 * unregistering V3D. in vc4_gem_destroy() 1200 /* V3D should already have disabled its interrupt and cleared in vc4_gem_destroy()
|
| H A D | vc4_fence.c | 33 return "vc4-v3d"; in vc4_fence_get_timeline_name()
|
| H A D | vc4_bo.c | 31 "V3D", 32 "V3D shader", 479 * only on BOs that are exposed to userspace (V3D, V3D_SHADER and DUMB in vc4_bo_create() 768 if (!vc4->v3d) in vc4_grab_bin_bo() 995 if (!vc4->v3d) in vc4_bo_debugfs_init()
|
| /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 | 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 | bcm911360_entphn.dts | 73 &v3d {
|
| H A D | bcm-cygnus.dtsi | 502 v3d: v3d@180a2000 { label 503 compatible = "brcm,cygnus-v3d";
|
| /linux/drivers/pmdomain/bcm/ |
| H A D | raspberrypi-power.c | 213 rpi_init_power_domain(rpi_domains, RPI_POWER_DOMAIN_V3D, "V3D"); in rpi_power_probe()
|
| /linux/drivers/gpu/drm/ |
| H A D | Makefile | 183 obj-$(CONFIG_DRM_V3D) += v3d/
|
| H A D | Kconfig | 335 source "drivers/gpu/drm/v3d/Kconfig"
|