Home
last modified time | relevance | path

Searched full:planes (Results 1 – 25 of 227) sorted by relevance

12345678910

/linux/drivers/media/platform/sunxi/sun8i-rotate/
H A Dsun8i_formats.c17 .planes = 1,
25 .planes = 1,
33 .planes = 1,
41 .planes = 1,
49 .planes = 1,
57 .planes = 1,
65 .planes = 1,
73 .planes = 1,
81 .planes = 1,
89 .planes = 1,
[all …]
/linux/Documentation/gpu/amdgpu/display/
H A Dmpo-overview.rst28 reports back the number of planes, CRTCs, and connectors. There are three types
29 of DRM planes that the driver can register and work with:
31 * ``DRM_PLANE_TYPE_PRIMARY``: Primary planes represent a "main" plane for a
32 CRTC, primary planes are the planes operated upon by CRTC modesetting and
34 * ``DRM_PLANE_TYPE_CURSOR``: Cursor planes represent a "cursor" plane for a
35 CRTC. Cursor planes are the planes operated upon by the cursor IOCTLs
36 * ``DRM_PLANE_TYPE_OVERLAY``: Overlay planes represent all non-primary,
37 non-cursor planes. Some drivers refer to these types of planes as "sprites"
41 following planes to userspace:
43 * 4 Primary planes (1 per CRTC).
[all …]
/linux/drivers/gpu/drm/renesas/rcar-du/
H A Drcar_du_kms.c46 .planes = 1,
54 .planes = 1,
62 .planes = 1,
69 .planes = 1,
77 .planes = 1,
85 .planes = 1,
93 .planes = 1,
101 .planes = 2,
109 .planes = 2,
117 .planes = 2,
[all …]
H A Drcar_du_group.h3 * R-Car Display Unit Planes and CRTCs Group
20 * struct rcar_du_group - CRTCs and planes group
30 * @dptsr_planes: bitmask of planes driven by dot-clock and timing generator 1
31 * @num_planes: number of planes in the group
32 * @planes: planes handled by the group
50 struct rcar_du_plane planes[RCAR_DU_NUM_KMS_PLANES]; member
H A Drcar_du_crtc.c342 struct rcar_du_plane *planes[RCAR_DU_NUM_HW_PLANES]; in rcar_du_crtc_update_planes() local
352 struct rcar_du_plane *plane = &rcrtc->group->planes[i]; in rcar_du_crtc_update_planes()
359 /* Insert the plane in the sorted planes array. */ in rcar_du_crtc_update_planes()
361 if (plane_zpos(planes[j-1]) <= plane_zpos(plane)) in rcar_du_crtc_update_planes()
363 planes[j] = planes[j-1]; in rcar_du_crtc_update_planes()
366 planes[j] = plane; in rcar_du_crtc_update_planes()
367 prio += plane_format(plane)->planes * 4; in rcar_du_crtc_update_planes()
371 struct rcar_du_plane *plane = planes[i]; in rcar_du_crtc_update_planes()
379 if (plane_format(plane)->planes == 2) { in rcar_du_crtc_update_planes()
400 * Update the planes to display timing and dot clock generator in rcar_du_crtc_update_planes()
[all …]
/linux/drivers/gpu/drm/renesas/rz-du/
H A Drzg2l_du_kms.c41 .planes = 1,
46 .planes = 1,
51 .planes = 1,
56 .planes = 1,
61 .planes = 1,
65 .planes = 1,
70 .planes = 1,
75 .planes = 1,
80 .planes = 1,
85 .planes = 1,
[all …]
/linux/drivers/media/common/videobuf2/
H A Dvideobuf2-v4l2.c61 * __verify_planes_array() - verify that the planes array passed in struct
70 if (b->m.planes == NULL) { in __verify_planes_array()
72 "multi-planar buffer passed but planes array not provided\n"); in __verify_planes_array()
78 "incorrect planes array length, expected %d, got %d\n", in __verify_planes_array()
108 ? b->m.planes[plane].length in __verify_length()
109 : vb->planes[plane].length; in __verify_length()
110 bytesused = b->m.planes[plane].bytesused in __verify_length()
111 ? b->m.planes[plane].bytesused : length; in __verify_length()
113 if (b->m.planes[plane].bytesused > length) in __verify_length()
116 if (b->m.planes[plane].data_offset > 0 && in __verify_length()
[all …]
H A Dvideobuf2-core.c231 * Allocate memory for all planes in this buffer in __vb2_buf_mem_alloc()
236 unsigned long size = PAGE_ALIGN(vb->planes[plane].length); in __vb2_buf_mem_alloc()
239 if (size < vb->planes[plane].length) in __vb2_buf_mem_alloc()
253 vb->planes[plane].mem_priv = mem_priv; in __vb2_buf_mem_alloc()
260 call_void_memop(vb, put, vb->planes[plane - 1].mem_priv); in __vb2_buf_mem_alloc()
261 vb->planes[plane - 1].mem_priv = NULL; in __vb2_buf_mem_alloc()
275 call_void_memop(vb, put, vb->planes[plane].mem_priv); in __vb2_buf_mem_free()
276 vb->planes[plane].mem_priv = NULL; in __vb2_buf_mem_free()
291 if (vb->planes[plane].mem_priv) in __vb2_buf_userptr_put()
292 call_void_memop(vb, put_userptr, vb->planes[plane].mem_priv); in __vb2_buf_userptr_put()
[all …]
/linux/include/drm/
H A Ddrm_gem_atomic_helper.h21 * Helpers for planes with shadow buffers
27 * For drivers with shadow planes, the maximum width of the framebuffer is
36 * For drivers with shadow planes, the maximum height of the framebuffer is
43 * struct drm_shadow_plane_state - plane state for planes with shadow buffers
45 * For planes that use a shadow buffer, struct drm_shadow_plane_state
104 * Initializes struct drm_plane_funcs for shadow-buffered planes
119 * Initializes struct drm_plane_helper_funcs for shadow-buffered planes
141 * Initializes struct drm_simple_display_pipe_funcs for shadow-buffered planes
/linux/drivers/gpu/drm/sun4i/
H A Dsun4i_crtc.c197 struct drm_plane **planes; in sun4i_crtc_init() local
208 planes = sunxi_engine_layers_init(drm, engine); in sun4i_crtc_init()
209 if (IS_ERR(planes)) { in sun4i_crtc_init()
210 dev_err(drm->dev, "Couldn't create the planes\n"); in sun4i_crtc_init()
214 /* find primary and cursor planes for drm_crtc_init_with_planes */ in sun4i_crtc_init()
215 for (i = 0; planes[i]; i++) { in sun4i_crtc_init()
216 struct drm_plane *plane = planes[i]; in sun4i_crtc_init()
246 /* Set possible_crtcs to this crtc for overlay planes */ in sun4i_crtc_init()
247 for (i = 0; planes[i]; i++) { in sun4i_crtc_init()
249 struct drm_plane *plane = planes[i]; in sun4i_crtc_init()
H A Dsun4i_layer.c237 struct drm_plane **planes; in sun4i_layers_init() local
242 planes = devm_kcalloc(drm->dev, SUN4I_BACKEND_NUM_LAYERS + 1, in sun4i_layers_init()
243 sizeof(*planes), GFP_KERNEL); in sun4i_layers_init()
244 if (!planes) in sun4i_layers_init()
258 planes[i] = &layer->plane; in sun4i_layers_init()
261 return planes; in sun4i_layers_init()
/linux/drivers/gpu/drm/tegra/
H A Dplane.c259 * Sub-sampling is relevant for chroma planes only and vertical in tegra_plane_calculate_memory_bandwidth()
321 tegra->planes |= WIN_A_ACT_REQ << plane->index; in tegra_plane_state_add()
489 bool tegra_plane_format_is_yuv(unsigned int format, unsigned int *planes, unsigned int *bpc) in tegra_plane_format_is_yuv() argument
494 if (planes) in tegra_plane_format_is_yuv()
495 *planes = 1; in tegra_plane_format_is_yuv()
511 if (planes) in tegra_plane_format_is_yuv()
512 *planes = 3; in tegra_plane_format_is_yuv()
525 if (planes) in tegra_plane_format_is_yuv()
526 *planes = 2; in tegra_plane_format_is_yuv()
534 if (planes) in tegra_plane_format_is_yuv()
[all …]
H A Dfb.c107 struct tegra_bo **planes, in tegra_fb_alloc() argument
121 fb->obj[i] = &planes[i]->gem; in tegra_fb_alloc()
139 struct tegra_bo *planes[4]; in tegra_fb_create() local
167 planes[i] = to_tegra_bo(gem); in tegra_fb_create()
170 fb = tegra_fb_alloc(drm, info, cmd, planes, i); in tegra_fb_create()
180 drm_gem_object_put(&planes[i]->gem); in tegra_fb_create()
/linux/include/video/
H A Dsticore.h85 s32 text_planes; /* number of planes used for text */
104 u32 text : 1; /* turn on text display planes? */
105 u32 nontext : 1; /* turn on non-text display planes? */
106 u32 clear : 1; /* clear text display planes? */
107 u32 cmap_blk : 1; /* non-text planes cmap black? */
114 u32 init_cmap_tx : 1; /* initialize cmap for text planes */
132 s32 text_planes; /* number of planes to use for text */
139 s32 text_planes; /* number of planes used for text */
173 s32 planes; /* number of fb planes in system */ member
271 u32 non_text : 1; /* font unpack/move in non_text planes =1, text =0 */
[all …]
/linux/drivers/gpu/drm/
H A Ddrm_gem_atomic_helper.c23 * for planes with shadow buffers.
48 * The helpers for shadow-buffered planes establish and release mappings,
52 * Shadow-buffered planes can easily be enabled by using the provided macros
202 * Shadow-buffered Planes
238 * shadow-buffered planes. It assumes the existing state to be of type
288 * for shadow-buffered planes. It expects that mappings of shadow buffers
307 * This function resets state for shadow-buffered planes. Helpful
327 * shadow-buffered planes. It assumes the current plane state to be
439 * for shadow-buffered planes.
452 * for shadow-buffered planes. It does not duplicate existing mappings of the shadow
[all …]
/linux/Documentation/userspace-api/media/v4l/
H A Dmmap.rst50 be equal to number of buffers times number of planes in each buffer. The
132 /* Our current format uses 3 planes per buffer */
168 struct v4l2_plane planes[FMT_NUM_PLANES];
175 * of planes array. */
177 buffer.m.planes = planes;
186 buffers[i].length[j] = buffer.m.planes[j].length; /* remember for munmap() */
188 buffers[i].start[j] = mmap(NULL, buffer.m.planes[j].length,
191 fd, buffer.m.planes[j].m.mem_offset);
195 the buffers and planes mapped so far. */
H A Ddmabuf.rst31 DRM). Buffers (planes) are allocated by a driver on behalf of an
98 struct v4l2_plane planes[VIDEO_MAX_PLANES];
105 buf.m.planes = planes;
108 memset(&planes, 0, sizeof planes);
111 buf.m.planes[i].m.fd = dmafd[i];
/linux/Documentation/ABI/testing/
H A Dsysfs-devices-platform-sh_mobile_lcdc_fb6 to overlay planes.
17 to overlay planes.
30 to overlay planes.
40 to overlay planes.
/linux/Documentation/devicetree/bindings/display/
H A Damlogic,meson-vpu.yaml35 It can handle 2 OSD Planes and 2 Video Planes.
41 various planes into a single pixel stream.
42 There is a special "pre-blending" used by the video planes with a dedicated
43 scaler and a "post-blending" to merge with the OSD Planes.
44 The OSD planes also have a dedicated scaler for one of the OSD.
/linux/drivers/gpu/drm/mediatek/
H A Dmtk_crtc.c32 * @planes: array of 4 drm_plane structures, one for each overlay plane
48 struct drm_plane *planes; member
261 unsigned int local_index = plane - mtk_crtc->planes; in mtk_ddp_comp_for_plane()
303 struct drm_plane *plane = &mtk_crtc->planes[i]; in ddp_cmdq_cb()
315 struct drm_plane *plane = &mtk_crtc->planes[i]; in ddp_cmdq_cb()
413 /* Initially configure all planes */ in mtk_crtc_ddp_hw_init()
415 struct drm_plane *plane = &mtk_crtc->planes[i]; in mtk_crtc_ddp_hw_init()
508 struct drm_plane *plane = &mtk_crtc->planes[i]; in mtk_crtc_ddp_config()
532 struct drm_plane *plane = &mtk_crtc->planes[i]; in mtk_crtc_ddp_config()
576 struct drm_plane *plane = &mtk_crtc->planes[i]; in mtk_crtc_update_config()
[all …]
/linux/drivers/gpu/drm/arm/
H A Dmalidp_crtc.c82 /* always disable planes on the CRTC that is being turned off */ in malidp_crtc_atomic_disable()
354 * check if there is enough rotation memory available for planes in malidp_crtc_atomic_check()
355 * that need 90° and 270° rotion or planes that are compressed. in malidp_crtc_atomic_check()
361 * a. If no more rotated or compressed planes exist, all remaining in malidp_crtc_atomic_check()
363 * b. If other rotated or compressed planes exist, and plane's in malidp_crtc_atomic_check()
367 * c. If other rotated or compressed planes exist, and plane's layer ID in malidp_crtc_atomic_check()
370 * Note: this algorithm assumes that the order in which the planes are in malidp_crtc_atomic_check()
372 * rotated. Because that is how we create the planes in the first in malidp_crtc_atomic_check()
374 * in which drm_atomic_crtc_state_for_each_plane() iterates over planes in malidp_crtc_atomic_check()
375 * changes, we need to pre-sort the planes before validation. in malidp_crtc_atomic_check()
[all …]
/linux/drivers/gpu/drm/omapdrm/
H A Domap_fb.c56 struct plane planes[2]; member
57 /* lock for pinning (pin_count and planes.dma_addr) */
89 struct plane *plane = &omap_fb->planes[n]; in get_linear_addr()
272 struct plane *plane = &omap_fb->planes[i]; in omap_framebuffer_pin()
287 struct plane *plane = &omap_fb->planes[i]; in omap_framebuffer_pin()
313 struct plane *plane = &omap_fb->planes[i]; in omap_framebuffer_unpin()
403 * The code below assumes that no format use more than two planes, and in omap_framebuffer_init()
404 * that the two planes of multiplane formats need the same number of in omap_framebuffer_init()
408 dev_dbg(dev->dev, "pitches differ between planes 0 and 1\n"); in omap_framebuffer_init()
422 struct plane *plane = &omap_fb->planes[i]; in omap_framebuffer_init()
/linux/include/uapi/drm/
H A Ddrm_fourcc.h55 * of planes and/or the required allocation size. Format modifiers are
58 * may preserve meaning - such as number of planes - from the fourcc code,
407 #define DRM_FORMAT_S010 fourcc_code('S', '0', '1', '0') /* 2x2 subsampled Cb (1) and Cr (2) planes
408 #define DRM_FORMAT_S210 fourcc_code('S', '2', '1', '0') /* 2x1 subsampled Cb (1) and Cr (2) planes
409 #define DRM_FORMAT_S410 fourcc_code('S', '4', '1', '0') /* non-subsampled Cb (1) and Cr (2) planes
420 #define DRM_FORMAT_S012 fourcc_code('S', '0', '1', '2') /* 2x2 subsampled Cb (1) and Cr (2) planes
421 #define DRM_FORMAT_S212 fourcc_code('S', '2', '1', '2') /* 2x1 subsampled Cb (1) and Cr (2) planes
422 #define DRM_FORMAT_S412 fourcc_code('S', '4', '1', '2') /* non-subsampled Cb (1) and Cr (2) planes
430 #define DRM_FORMAT_S016 fourcc_code('S', '0', '1', '6') /* 2x2 subsampled Cb (1) and Cr (2) planes
431 #define DRM_FORMAT_S216 fourcc_code('S', '2', '1', '6') /* 2x1 subsampled Cb (1) and Cr (2) planes
[all …]
/linux/Documentation/fb/
H A Dapi.rst69 Macropixels are split across multiple planes. The number of planes is equal to
73 Planes are located contiguously in memory.
77 Macropixels are split across multiple planes. The number of planes is equal to
81 Planes are interleaved in memory. The interleave factor, defined as the
83 belonging to different planes, is stored in the fixed screen information
163 __u32 type_aux; /* Interleave for interleaved Planes */
/linux/drivers/gpu/drm/xlnx/
H A Dzynqmp_kms.h28 * @planes: The DRM planes
36 struct drm_plane planes[ZYNQMP_DPSUB_NUM_LAYERS]; member

12345678910