| /linux/drivers/media/platform/sunxi/sun8i-rotate/ |
| H A D | sun8i_formats.c | 17 .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 D | mpo-overview.rst | 28 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 D | rcar_du_kms.c | 47 .planes = 1, 55 .planes = 1, 63 .planes = 1, 70 .planes = 1, 78 .planes = 1, 86 .planes = 1, 94 .planes = 1, 102 .planes = 2, 110 .planes = 2, 118 .planes = 2, [all …]
|
| H A D | rcar_du_plane.c | 3 * 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 …]
|
| H A D | rcar_du_group.h | 3 * 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
|
| /linux/drivers/gpu/drm/renesas/rz-du/ |
| H A D | rzg2l_du_kms.c | 41 .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 D | videobuf2-core.c | 231 * 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/drivers/gpu/drm/ |
| H A D | drm_blend.c | 138 * planes. Without this property the primary plane is always below the cursor 139 * plane, and ordering between all other planes is undefined. The positive 140 * Z axis points towards the user, i.e. planes with lower Z position values 141 * are underneath planes with higher Z position values. Two planes with the 144 * stacking of planes, see drm_plane_create_zpos_immutable_property(). If 146 * planes shall have a zpos property. 353 * for it in drm core. Drivers can then attach this property to planes to enable 354 * support for configurable planes arrangement during blending operation. 359 * should be set to 0 and max to maximal number of planes for given crtc - 1. 361 * If zpos of some planes cannot be changed (like fixed background or [all …]
|
| H A D | drm_gem_atomic_helper.c | 23 * 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 437 * for shadow-buffered planes. 450 * for shadow-buffered planes. It does not duplicate existing mappings of the shadow [all …]
|
| /linux/drivers/staging/media/atomisp/pci/runtime/frame/src/ |
| H A D | frame.c | 166 frame_init_raw_single_plane(frame, &frame->planes.raw, in ia_css_frame_init_planes() 172 frame_init_single_plane(frame, &frame->planes.raw, in ia_css_frame_init_planes() 178 frame_init_single_plane(frame, &frame->planes.rgb, in ia_css_frame_init_planes() 183 frame_init_single_plane(frame, &frame->planes.rgb, in ia_css_frame_init_planes() 197 frame_init_single_plane(frame, &frame->planes.yuyv, in ia_css_frame_init_planes() 203 frame_init_single_plane(frame, &frame->planes.yuyv, in ia_css_frame_init_planes() 253 frame_init_single_plane(frame, &frame->planes.binary.data, in ia_css_frame_init_planes() 256 frame->planes.binary.size = 0; in ia_css_frame_init_planes() 269 * all planes aligned, this means double the alignment for the in ia_css_frame_pad_width() 525 frame_init_plane(&frame->planes.nv.y, y_width, y_stride, y_height, 0); in frame_init_nv_planes() [all …]
|
| /linux/include/drm/ |
| H A D | drm_gem_atomic_helper.h | 21 * 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
|
| H A D | drm_plane.h | 153 * 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 340 * with the frame buffer ID set to 0. Disabled planes must not be 582 * For historical reasons not all planes are made the same. This enumeration is 583 * used to tell the different types of planes apart to implement the different 585 * which is using that atomic IOCTL there's no difference between these planes 588 * For compatibility with legacy userspace, only overlay planes are made 605 * Overlay planes represent all non-primary, non-cursor planes. Some 606 * drivers refer to these types of planes as "sprites" internally. 635 * Planes represent the scanout hardware of a display block. They receive their [all …]
|
| H A D | drm_atomic_helper.h | 190 * drm_atomic_crtc_for_each_plane - iterate over planes currently attached to CRTC 192 * @crtc: the CRTC whose planes are iterated 196 * planes which *will* be attached (more useful in code called from 204 * drm_atomic_crtc_state_for_each_plane - iterate over attached planes in new state 208 * Similar to drm_crtc_for_each_plane(), but iterates the planes that will be 217 * drm_atomic_crtc_state_for_each_plane_state - iterate over attached planes in new state 222 * Similar to drm_crtc_for_each_plane(), but iterates the planes that will be 229 * active planes on this CRTC, but does not need to change it.
|
| /linux/drivers/gpu/drm/sun4i/ |
| H A D | sun4i_crtc.c | 197 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 D | sun4i_layer.c | 237 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 D | plane.c | 259 * 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 D | fb.c | 108 struct tegra_bo **planes, in tegra_fb_alloc() argument 122 fb->obj[i] = &planes[i]->gem; in tegra_fb_alloc() 140 struct tegra_bo *planes[4]; in tegra_fb_create() local 168 planes[i] = to_tegra_bo(gem); in tegra_fb_create() 171 fb = tegra_fb_alloc(drm, info, cmd, planes, i); in tegra_fb_create() 181 drm_gem_object_put(&planes[i]->gem); in tegra_fb_create()
|
| /linux/Documentation/userspace-api/media/v4l/ |
| H A D | pixfmt-yuv-planar.rst | 13 - Semi-planar formats use two planes. The first plane is the luma plane and 17 - Fully planar formats use three planes to store the Y, Cb and Cr components 22 the chroma planes may be constrained by the line stride of the luma plane. 24 Some planar formats allow planes to be placed in independent memory locations. 29 planes, formats require the planes to follow each other immediately in memory. 36 use two planes, and store the luma components in the first plane and the chroma 224 .. [2] Indicates if planes have to be contiguous in memory or can be 392 The layouts of the luma and chroma planes are identical. 401 planes are identical. 421 aligned to a multiple of 4. The layouts of the luma and chroma planes are [all …]
|
| H A D | mmap.rst | 50 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 D | dmabuf.rst | 31 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/include/video/ |
| H A D | sticore.h | 85 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/Documentation/ABI/testing/ |
| H A D | sysfs-devices-platform-sh_mobile_lcdc_fb | 6 to overlay planes. 17 to overlay planes. 30 to overlay planes. 40 to overlay planes.
|
| /linux/drivers/gpu/drm/vkms/ |
| H A D | vkms_config.h | 18 * @planes: List of planes configured for the device 26 struct list_head planes; member 36 * @link: Link to the others planes in vkms_config 124 * vkms_config_for_each_plane - Iterate over the vkms_config planes 129 list_for_each_entry((plane_cfg), &(config)->planes, link) 199 * @enable_overlay: Create or not overlay planes 244 * For example, a configuration without primary planes is not valid. 378 * Note that, if multiple primary planes are found, the first one is returned. 392 * Note that, if multiple cursor planes are found, the first one is returned.
|
| /linux/drivers/gpu/drm/mediatek/ |
| H A D | mtk_crtc.c | 33 * @planes: array of 4 drm_plane structures, one for each overlay plane 49 struct drm_plane *planes; member 263 unsigned int local_index = plane - mtk_crtc->planes; in mtk_ddp_comp_for_plane() 305 struct drm_plane *plane = &mtk_crtc->planes[i]; in ddp_cmdq_cb() 317 struct drm_plane *plane = &mtk_crtc->planes[i]; in ddp_cmdq_cb() 416 /* Initially configure all planes */ in mtk_crtc_ddp_hw_init() 418 struct drm_plane *plane = &mtk_crtc->planes[i]; in mtk_crtc_ddp_hw_init() 511 struct drm_plane *plane = &mtk_crtc->planes[i]; in mtk_crtc_ddp_config() 535 struct drm_plane *plane = &mtk_crtc->planes[i]; in mtk_crtc_ddp_config() 579 struct drm_plane *plane = &mtk_crtc->planes[i]; in mtk_crtc_update_config() [all …]
|
| /linux/drivers/gpu/drm/arm/ |
| H A D | malidp_crtc.c | 81 /* always disable planes on the CRTC that is being turned off */ in malidp_crtc_atomic_disable() 350 * check if there is enough rotation memory available for planes in malidp_crtc_atomic_check() 351 * that need 90° and 270° rotion or planes that are compressed. in malidp_crtc_atomic_check() 357 * a. If no more rotated or compressed planes exist, all remaining in malidp_crtc_atomic_check() 359 * b. If other rotated or compressed planes exist, and plane's in malidp_crtc_atomic_check() 363 * c. If other rotated or compressed planes exist, and plane's layer ID in malidp_crtc_atomic_check() 366 * Note: this algorithm assumes that the order in which the planes are in malidp_crtc_atomic_check() 368 * rotated. Because that is how we create the planes in the first in malidp_crtc_atomic_check() 370 * in which drm_atomic_crtc_state_for_each_plane() iterates over planes in malidp_crtc_atomic_check() 371 * changes, we need to pre-sort the planes before validation. in malidp_crtc_atomic_check() [all …]
|