Home
last modified time | relevance | path

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

12345678910>>...19

/linux-6.12.1/drivers/media/test-drivers/vivid/
Dvivid-vid-common.c40 .planes = 1,
49 .planes = 1,
57 .planes = 1,
65 .planes = 1,
73 .planes = 3,
81 .planes = 3,
89 .planes = 3,
97 .planes = 2,
105 .planes = 2,
113 .planes = 2,
[all …]
/linux-6.12.1/drivers/media/platform/sunxi/sun8i-rotate/
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-6.12.1/Documentation/gpu/amdgpu/display/
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-6.12.1/drivers/gpu/drm/renesas/rcar-du/
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 …]
Drcar_du_plane.c3 * R-Car Display Unit Planes
33 * The core idea is to avoid using a free planes bitmask that would need to be
36 * over all plane states to compute the free planes bitmask, allocates hardware
37 * planes based on that bitmask, and stores the result back in the plane states.
39 * For this to work we need to access the current state of planes not touched by
41 * planes using drm_atomic_get_plane_state(). This effectively serializes atomic
55 * Lowering the number of planes doesn't strictly require reallocation in rcar_du_plane_needs_realloc()
60 old_state->format->planes != new_state->format->planes) in rcar_du_plane_needs_realloc()
63 /* Reallocate hardware planes if the source has changed. */ in rcar_du_plane_needs_realloc()
78 if (state->format->planes == 2) in rcar_du_plane_hwmask()
[all …]
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
Drcar_du_plane.h3 * R-Car Display Unit Planes
19 * The RCAR DU has 8 hardware planes, shared between primary and overlay planes.
20 * As using overlay planes requires at least one of the CRTCs being enabled, no
21 * more than 7 overlay planes can be available. We thus create 1 primary plane
22 * per CRTC and 7 overlay planes, for a total of up to 9 KMS planes.
/linux-6.12.1/drivers/media/common/videobuf2/
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 …]
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-6.12.1/include/drm/
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
Ddrm_atomic.h412 * @planes:
417 struct __drm_planes_state *planes; member
461 * Used for signaling unbound planes/connectors.
648 return state->planes[drm_plane_index(plane)].state; in drm_atomic_get_existing_plane_state()
663 return state->planes[drm_plane_index(plane)].old_state; in drm_atomic_get_old_plane_state()
678 return state->planes[drm_plane_index(plane)].new_state; in drm_atomic_get_new_plane_state()
752 * not change, state of other planes, since it avoids threading an error code
760 * example is when planes are fixed to a single CRTC, and the driver knows that
762 * read-lock on all planes connected to that CRTC. But if planes can be
774 if (state->planes[drm_plane_index(plane)].state) in __drm_atomic_get_current_plane_state()
[all …]
Ddrm_plane.h153 * planes on the same CRTC have identical zpos values. This is a
166 * number of active planes for given crtc. Note that the driver must set
332 * with the frame buffer ID set to 0. Disabled planes must not be
557 * For historical reasons not all planes are made the same. This enumeration is
558 * used to tell the different types of planes apart to implement the different
560 * which is using that atomic IOCTL there's no difference between these planes
563 * For compatibility with legacy userspace, only overlay planes are made
580 * Overlay planes represent all non-primary, non-cursor planes. Some
581 * drivers refer to these types of planes as "sprites" internally.
610 * Planes represent the scanout hardware of a display block. They receive their
[all …]
/linux-6.12.1/drivers/gpu/drm/
Ddrm_blend.c132 * planes. Without this property the primary plane is always below the cursor
133 * plane, and ordering between all other planes is undefined. The positive
134 * Z axis points towards the user, i.e. planes with lower Z position values
135 * are underneath planes with higher Z position values. Two planes with the
138 * stacking of planes, see drm_plane_create_zpos_immutable_property(). If
140 * planes shall have a zpos property.
347 * for it in drm core. Drivers can then attach this property to planes to enable
348 * support for configurable planes arrangement during blending operation.
353 * should be set to 0 and max to maximal number of planes for given crtc - 1.
355 * If zpos of some planes cannot be changed (like fixed background or
[all …]
Ddrm_gem_atomic_helper.c22 * for planes with shadow buffers.
47 * The helpers for shadow-buffered planes establish and release mappings,
51 * Shadow-buffered planes can easily be enabled by using the provided macros
201 * Shadow-buffered Planes
237 * shadow-buffered planes. It assumes the existing state to be of type
287 * for shadow-buffered planes. It expects that mappings of shadow buffers
306 * This function resets state for shadow-buffered planes. Helpful
322 * shadow-buffered planes. It assumes the current plane state to be
434 * for shadow-buffered planes.
447 * for shadow-buffered planes. It does not duplicate existing mappings of the shadow
[all …]
/linux-6.12.1/drivers/staging/media/atomisp/pci/runtime/frame/src/
Dframe.c174 frame_init_raw_single_plane(frame, &frame->planes.raw, in ia_css_frame_init_planes()
180 frame_init_single_plane(frame, &frame->planes.raw, in ia_css_frame_init_planes()
186 frame_init_single_plane(frame, &frame->planes.rgb, in ia_css_frame_init_planes()
191 frame_init_single_plane(frame, &frame->planes.rgb, in ia_css_frame_init_planes()
205 frame_init_single_plane(frame, &frame->planes.yuyv, in ia_css_frame_init_planes()
211 frame_init_single_plane(frame, &frame->planes.yuyv, in ia_css_frame_init_planes()
261 frame_init_single_plane(frame, &frame->planes.binary.data, in ia_css_frame_init_planes()
264 frame->planes.binary.size = 0; in ia_css_frame_init_planes()
277 * all planes aligned, this means double the alignment for the in ia_css_frame_pad_width()
533 frame_init_plane(&frame->planes.nv.y, y_width, y_stride, y_height, 0); in frame_init_nv_planes()
[all …]
/linux-6.12.1/drivers/gpu/drm/sun4i/
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()
/linux-6.12.1/drivers/gpu/drm/tegra/
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 …]
Dfb.c106 struct tegra_bo **planes, in tegra_fb_alloc() argument
120 fb->obj[i] = &planes[i]->gem; in tegra_fb_alloc()
138 struct tegra_bo *planes[4]; in tegra_fb_create() local
166 planes[i] = to_tegra_bo(gem); in tegra_fb_create()
169 fb = tegra_fb_alloc(drm, cmd, planes, i); in tegra_fb_create()
179 drm_gem_object_put(&planes[i]->gem); in tegra_fb_create()
/linux-6.12.1/drivers/staging/media/atomisp/pci/
Dsh_css_sp.c447 sp_frame_out->planes.raw.offset = frame_in->planes.raw.offset; in sh_css_copy_frame_to_spframe()
451 sp_frame_out->planes.rgb.offset = frame_in->planes.rgb.offset; in sh_css_copy_frame_to_spframe()
454 sp_frame_out->planes.planar_rgb.r.offset = in sh_css_copy_frame_to_spframe()
455 frame_in->planes.planar_rgb.r.offset; in sh_css_copy_frame_to_spframe()
456 sp_frame_out->planes.planar_rgb.g.offset = in sh_css_copy_frame_to_spframe()
457 frame_in->planes.planar_rgb.g.offset; in sh_css_copy_frame_to_spframe()
458 sp_frame_out->planes.planar_rgb.b.offset = in sh_css_copy_frame_to_spframe()
459 frame_in->planes.planar_rgb.b.offset; in sh_css_copy_frame_to_spframe()
466 sp_frame_out->planes.yuyv.offset = frame_in->planes.yuyv.offset; in sh_css_copy_frame_to_spframe()
475 sp_frame_out->planes.nv.y.offset = in sh_css_copy_frame_to_spframe()
[all …]
/linux-6.12.1/Documentation/userspace-api/media/v4l/
Dpixfmt-yuv-planar.rst12 - Semi-planar formats use two planes. The first plane is the luma plane and
16 - Fully planar formats use three planes to store the Y, Cb and Cr components
21 the chroma planes may be constrained by the line stride of the luma plane.
23 Some planar formats allow planes to be placed in independent memory locations.
28 planes, formats require the planes to follow each other immediately in memory.
35 use two planes, and store the luma components in the first plane and the chroma
209 .. [2] Indicates if planes have to be contiguous in memory or can be
326 The layouts of the luma and chroma planes are identical.
335 planes are identical.
355 aligned to a multiple of 4. The layouts of the luma and chroma planes are
[all …]
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. */
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-6.12.1/include/video/
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-6.12.1/Documentation/ABI/testing/
Dsysfs-devices-platform-sh_mobile_lcdc_fb6 to overlay planes.
17 to overlay planes.
30 to overlay planes.
40 to overlay planes.
/linux-6.12.1/Documentation/devicetree/bindings/display/
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.

12345678910>>...19