/linux/drivers/media/test-drivers/vivid/ |
H A D | vivid-vid-common.c | 40 .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/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 | 46 .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 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
|
H A D | rcar_du_crtc.c | 342 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 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/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
|
/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 | 107 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 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/userspace-api/media/v4l/ |
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/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/Documentation/devicetree/bindings/display/ |
H A D | amlogic,meson-vpu.yaml | 35 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 D | mtk_crtc.c | 32 * @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() 299 struct drm_plane *plane = &mtk_crtc->planes[i]; in ddp_cmdq_cb() 311 struct drm_plane *plane = &mtk_crtc->planes[i]; in ddp_cmdq_cb() 409 /* Initially configure all planes */ in mtk_crtc_ddp_hw_init() 411 struct drm_plane *plane = &mtk_crtc->planes[i]; in mtk_crtc_ddp_hw_init() 504 struct drm_plane *plane = &mtk_crtc->planes[i]; in mtk_crtc_ddp_config() 528 struct drm_plane *plane = &mtk_crtc->planes[i]; in mtk_crtc_ddp_config() 572 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 | 82 /* 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 D | omap_fb.c | 56 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/Documentation/fb/ |
H A D | api.rst | 69 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 D | zynqmp_kms.h | 28 * @planes: The DRM planes 36 struct drm_plane planes[ZYNQMP_DPSUB_NUM_LAYERS]; member
|
/linux/Documentation/gpu/ |
H A D | afbc.rst | 78 Number of Planes 82 420), can be encoded into one, or multiple, AFBC planes. As with 84 of planes in order to correctly decode the buffer. The fourcc code is 85 used to determine the number of encoded planes in an AFBC buffer, 86 matching the number of planes for the linear (unmodified) format. 123 - Planes/Components
|
/linux/drivers/gpu/drm/hisilicon/kirin/ |
H A D | kirin_drm_drv.c | 36 struct kirin_plane planes[KIRIN_MAX_PLANE]; member 129 * TODO: Now only support primary plane, overlay planes in kirin_drm_private_init() 137 ret = kirin_drm_plane_init(dev, &kirin_priv->planes[ch].base, in kirin_drm_private_init() 141 kirin_priv->planes[ch].ch = ch; in kirin_drm_private_init() 142 kirin_priv->planes[ch].hw_ctx = ctx; in kirin_drm_private_init() 146 prim_plane = &kirin_priv->planes[driver_data->prim_plane].base; in kirin_drm_private_init()
|