Home
last modified time | relevance | path

Searched full:v3d (Results 1 – 25 of 31) sorted by relevance

12

/linux/drivers/gpu/drm/v3d/
H A Dv3d_drv.c5 * 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 Dv3d_submit.c20 * 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 Dv3d_bo.c5 * 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 Dv3d_perfmon.c198 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 Dv3d_fence.c6 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 DKconfig3 tristate "Broadcom V3D 3.x and newer"
12 V3D 3.x or newer GPUs. SoCs supported include the BCM2711,
H A Dv3d_sysfs.c15 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 Dv3d_performance_counters.h24 /* Different revisions of V3D have different total number of
H A Dv3d_trace.h12 #define TRACE_SYSTEM v3d
/linux/Documentation/gpu/
H A Dv3d.rst2 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 Dvc4.rst87 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 Dbrcm,bcm2835-v3d.yaml4 $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 Dvc4_perfmon.c7 * 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 Dvc4_drv.c11 * 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 Dvc4_gem.c84 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 Dvc4_fence.c33 return "vc4-v3d"; in vc4_fence_get_timeline_name()
H A Dvc4_bo.c31 "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 Dbcm2835-common.dtsi70 clock-names = "v3d", "peri_image", "h264", "isp";
138 v3d: v3d@7ec00000 { label
139 compatible = "brcm,bcm2835-v3d";
H A Dbcm2835-rpi-common.dtsi21 clock-names = "v3d", "peri_image", "h264", "isp";
24 &v3d {
H A Dbcm2711-rpi.dtsi85 clock-names = "v3d", "peri_image", "h264", "isp";
104 &v3d {
H A Dbcm911360_entphn.dts73 &v3d {
H A Dbcm-cygnus.dtsi502 v3d: v3d@180a2000 { label
503 compatible = "brcm,cygnus-v3d";
/linux/drivers/pmdomain/bcm/
H A Draspberrypi-power.c213 rpi_init_power_domain(rpi_domains, RPI_POWER_DOMAIN_V3D, "V3D"); in rpi_power_probe()
/linux/drivers/gpu/drm/
H A DMakefile183 obj-$(CONFIG_DRM_V3D) += v3d/
H A DKconfig335 source "drivers/gpu/drm/v3d/Kconfig"

12