Home
last modified time | relevance | path

Searched full:plane (Results 1 – 25 of 374) sorted by relevance

12345678910>>...15

/linux/drivers/gpu/drm/
H A Ddrm_plane.c42 * A plane represents an image source that can be blended with or overlaid on
44 * &drm_framebuffer object. The plane itself specifies the cropping and scaling
46 * pipeline, represented by &drm_crtc. A plane can also have additional
52 * which are not covered by a plane will be black, and alpha blending of any
55 * To create a plane, a KMS drivers allocates and zeroes an instances of
59 * Each plane has a type, see enum drm_plane_type. A plane can be compatible
62 * Each CRTC must have a unique primary plane userspace can attach to enable
64 * primary plane to each CRTC at the same time. Primary planes can still be
69 * relies on the driver to set the primary and optionally the cursor plane used
71 * drivers must provide one primary plane per CRTC to avoid surprising legacy
[all …]
H A Ddrm_plane_helper.c4 * DRM universal plane helper functions
44 * This helper library contains helpers to implement primary plane support on
47 * plane together with the CRTC state this does not allow userspace to disable
48 * the primary plane itself. The default primary plane only expose XRBG8888 and
55 * The plane helpers share the function table structures with other helpers,
75 * Note: Once we change the plane hooks to more fine-grained locking we in get_connectors_for_crtc()
95 static int drm_plane_helper_check_update(struct drm_plane *plane, in drm_plane_helper_check_update() argument
108 .plane = plane, in drm_plane_helper_check_update()
144 * @plane: plane to update
145 * @crtc: the plane's new CRTC
[all …]
/linux/drivers/gpu/drm/nouveau/dispnv04/
H A Doverlay.c113 nv10_update_plane(struct drm_plane *plane, struct drm_crtc *crtc, in nv10_update_plane() argument
120 struct nouveau_drm *drm = nouveau_drm(plane->dev); in nv10_update_plane()
123 container_of(plane, struct nouveau_plane, base); in nv10_update_plane()
192 nv10_disable_plane(struct drm_plane *plane, in nv10_disable_plane() argument
195 struct nvif_object *dev = &nouveau_drm(plane->dev)->client.device.object; in nv10_disable_plane()
197 container_of(plane, struct nouveau_plane, base); in nv10_disable_plane()
209 nv_destroy_plane(struct drm_plane *plane) in nv_destroy_plane() argument
211 drm_plane_force_disable(plane); in nv_destroy_plane()
212 drm_plane_cleanup(plane); in nv_destroy_plane()
213 kfree(plane); in nv_destroy_plane()
[all …]
/linux/drivers/gpu/drm/i915/display/
H A Dskl_universal_plane_regs.h11 #define _SKL_PLANE(pipe, plane, reg_1_a, reg_1_b, reg_2_a, reg_2_b) \ argument
12 _PLANE((plane), _PIPE((pipe), (reg_1_a), (reg_1_b)), _PIPE((pipe), (reg_2_a), (reg_2_b)))
13 #define _SKL_PLANE_DW(pipe, plane, dw, reg_1_a, reg_1_b, reg_2_a, reg_2_b) \ argument
14 (_SKL_PLANE((pipe), (plane), (reg_1_a), (reg_1_b), (reg_2_a), (reg_2_b)) + (dw) * 4)
15 #define _MMIO_SKL_PLANE(pipe, plane, reg_1_a, reg_1_b, reg_2_a, reg_2_b) \ argument
16 _MMIO(_SKL_PLANE((pipe), (plane), (reg_1_a), (reg_1_b), (reg_2_a), (reg_2_b)))
17 #define _MMIO_SKL_PLANE_DW(pipe, plane, dw, reg_1_a, reg_1_b, reg_2_a, reg_2_b) \ argument
18 _MMIO(_SKL_PLANE_DW((pipe), (plane), (dw), (reg_1_a), (reg_1_b), (reg_2_a), (reg_2_b)))
20 #define _SEL_FETCH(pipe, plane, reg_1_a, reg_1_b, reg_2_a, reg_2_b, reg_5_a, reg_5_b, reg_6_a, reg_… argument
21 _PICK_EVEN_2RANGES((plane), PLANE_5, \
[all …]
H A Di9xx_plane_regs.h12 #define DSPADDR_VLV(dev_priv, plane) _MMIO_PIPE2(dev_priv, plane, _DSPAADDR_VLV) argument
15 #define DSPCNTR(dev_priv, plane) _MMIO_PIPE2(dev_priv, plane, _DSPACNTR) argument
41 #define DISP_ALPHA_TRANS_ENABLE REG_BIT(15) /* pre-g4x plane B */
46 #define DISP_SPRITE_ABOVE_OVERLAY REG_BIT(0) /* pre-g4x plane B/C */
49 #define DSPADDR(dev_priv, plane) _MMIO_PIPE2(dev_priv, plane, _DSPAADDR) argument
52 #define DSPLINOFF(dev_priv, plane) _MMIO_PIPE2(dev_priv, plane, _DSPALINOFF) argument
55 #define DSPSTRIDE(dev_priv, plane) _MMIO_PIPE2(dev_priv, plane, _DSPASTRIDE) argument
58 #define DSPPOS(dev_priv, plane) _MMIO_PIPE2(dev_priv, plane, _DSPAPOS) argument
65 #define DSPSIZE(dev_priv, plane) _MMIO_PIPE2(dev_priv, plane, _DSPASIZE) argument
72 #define DSPSURF(dev_priv, plane) _MMIO_PIPE2(dev_priv, plane, _DSPASURF) argument
[all …]
/linux/drivers/gpu/drm/omapdrm/dss/
H A Ddispc.h342 static inline u16 DISPC_OVL_BASE(enum omap_plane_id plane) in DISPC_OVL_BASE() argument
344 switch (plane) { in DISPC_OVL_BASE()
362 static inline u16 DISPC_BA0_OFFSET(enum omap_plane_id plane) in DISPC_BA0_OFFSET() argument
364 switch (plane) { in DISPC_BA0_OFFSET()
378 static inline u16 DISPC_BA1_OFFSET(enum omap_plane_id plane) in DISPC_BA1_OFFSET() argument
380 switch (plane) { in DISPC_BA1_OFFSET()
394 static inline u16 DISPC_BA0_UV_OFFSET(enum omap_plane_id plane) in DISPC_BA0_UV_OFFSET() argument
396 switch (plane) { in DISPC_BA0_UV_OFFSET()
414 static inline u16 DISPC_BA1_UV_OFFSET(enum omap_plane_id plane) in DISPC_BA1_UV_OFFSET() argument
416 switch (plane) { in DISPC_BA1_UV_OFFSET()
[all …]
H A Ddispc.c176 /* maps which plane is using a fifo. fifo-id -> plane-id */
352 enum omap_plane_id plane);
354 enum omap_plane_id plane);
725 enum omap_plane_id plane, int reg, in dispc_ovl_write_firh_reg() argument
728 dispc_write_reg(dispc, DISPC_OVL_FIR_COEF_H(plane, reg), value); in dispc_ovl_write_firh_reg()
732 enum omap_plane_id plane, int reg, in dispc_ovl_write_firhv_reg() argument
735 dispc_write_reg(dispc, DISPC_OVL_FIR_COEF_HV(plane, reg), value); in dispc_ovl_write_firhv_reg()
739 enum omap_plane_id plane, int reg, in dispc_ovl_write_firv_reg() argument
742 dispc_write_reg(dispc, DISPC_OVL_FIR_COEF_V(plane, reg), value); in dispc_ovl_write_firv_reg()
746 enum omap_plane_id plane, int reg, in dispc_ovl_write_firh2_reg() argument
[all …]
/linux/drivers/video/fbdev/omap2/omapfb/dss/
H A Ddispc.h339 static inline u16 DISPC_OVL_BASE(enum omap_plane plane) in DISPC_OVL_BASE() argument
341 switch (plane) { in DISPC_OVL_BASE()
359 static inline u16 DISPC_BA0_OFFSET(enum omap_plane plane) in DISPC_BA0_OFFSET() argument
361 switch (plane) { in DISPC_BA0_OFFSET()
375 static inline u16 DISPC_BA1_OFFSET(enum omap_plane plane) in DISPC_BA1_OFFSET() argument
377 switch (plane) { in DISPC_BA1_OFFSET()
391 static inline u16 DISPC_BA0_UV_OFFSET(enum omap_plane plane) in DISPC_BA0_UV_OFFSET() argument
393 switch (plane) { in DISPC_BA0_UV_OFFSET()
411 static inline u16 DISPC_BA1_UV_OFFSET(enum omap_plane plane) in DISPC_BA1_UV_OFFSET() argument
413 switch (plane) { in DISPC_BA1_UV_OFFSET()
[all …]
/linux/drivers/gpu/drm/tegra/
H A Dplane.c17 #include "plane.h"
19 static void tegra_plane_destroy(struct drm_plane *plane) in tegra_plane_destroy() argument
21 struct tegra_plane *p = to_tegra_plane(plane); in tegra_plane_destroy()
23 drm_plane_cleanup(plane); in tegra_plane_destroy()
27 static void tegra_plane_reset(struct drm_plane *plane) in tegra_plane_reset() argument
29 struct tegra_plane *p = to_tegra_plane(plane); in tegra_plane_reset()
33 if (plane->state) in tegra_plane_reset()
34 __drm_atomic_helper_plane_destroy_state(plane->state); in tegra_plane_reset()
36 kfree(plane->state); in tegra_plane_reset()
37 plane->state = NULL; in tegra_plane_reset()
[all …]
/linux/Documentation/gpu/
H A Dafbc.rst87 Within each plane, the component ordering also follows the fourcc
94 * Plane 0:
102 * Plane 0:
106 * Plane 1:
127 - Plane 0: 4 components
135 - Plane 0: 4 components
143 - Plane 0: 3 components
150 - Plane 0: 3 components
157 - Plane 0: 4 components
164 - 8-bit per component YCbCr 444, single plane
[all …]
H A Dkms-properties.csv61 ,Overlay,"""colorkey""",RANGE,"Min=0, Max=0xffffff",Plane,TBD
62 ,,"""colorkey_min""",RANGE,"Min=0, Max=0xffffff",Plane,TBD
63 ,,"""colorkey_max""",RANGE,"Min=0, Max=0xffffff",Plane,TBD
64 ,,"""colorkey_val""",RANGE,"Min=0, Max=0xffffff",Plane,TBD
65 ,,"""colorkey_alpha""",RANGE,"Min=0, Max=0xffffff",Plane,TBD
66 …mponent"" , ""V component"", ""RGB"", “R component"", ""G component"", ""B component"" }",Plane,TBD
67 ,,"""brightness""",RANGE,"Min=0, Max=256 + 255",Plane,TBD
68 ,,"""contrast""",RANGE,"Min=0, Max=0x7fff",Plane,TBD
69 ,,"""saturation""",RANGE,"Min=0, Max=0x7fff",Plane,TBD
73 nouveau,NV10 Overlay,"""colorkey""",RANGE,"Min=0, Max=0x01ffffff",Plane,TBD
[all …]
/linux/Documentation/gpu/amdgpu/display/
H A Dmpo-overview.rst17 * Plane independent page flips - No need to be tied to global compositor
31 * ``DRM_PLANE_TYPE_PRIMARY``: Primary planes represent a "main" plane for a
34 * ``DRM_PLANE_TYPE_CURSOR``: Cursor planes represent a "cursor" plane for a
45 * 1 Overlay plane (shared among CRTCs).
53 configuration for optimal single display output (e.g., 2 pipes per plane).
56 display - will see 4 pipes in use, 2 per plane.
58 At least 1 pipe must be used per plane (primary and overlay), so for this
65 Plane Restrictions
78 Not every property is available on every plane:
94 plane as it is being treated as part of the plane. Another consequence of that
[all …]
/linux/include/drm/
H A Ddrm_gem_atomic_helper.h15 * Plane Helpers
18 int drm_gem_plane_helper_prepare_fb(struct drm_plane *plane, struct drm_plane_state *state);
25 * DRM_SHADOW_PLANE_MAX_WIDTH - Maximum width of a plane's shadow buffer in pixels
34 * DRM_SHADOW_PLANE_MAX_HEIGHT - Maximum height of a plane's shadow buffer in scanlines
43 * struct drm_shadow_plane_state - plane state for planes with shadow buffers
46 * provides the regular plane state plus mappings of the shadow buffer
50 /** @base: plane state */
56 * Per-plane state for format conversion.
65 * @map: Mappings of the plane's framebuffer BOs in to kernel address space
67 * The memory mappings stored in map should be established in the plane's
[all …]
H A Ddrm_fourcc.h81 * Number of bytes per pixel (per plane), this is aliased with
91 * Number of bytes per block (per plane), where blocks are
148 * format with data laid in a single plane
264 * drm_format_info_plane_width - width of the plane given the first plane
266 * @width: width of the first plane
267 * @plane: plane index
270 * The width of @plane, given that the width of the first plane is @width.
274 int plane) in drm_format_info_plane_width() argument
276 if (!info || plane >= info->num_planes) in drm_format_info_plane_width()
279 if (plane == 0) in drm_format_info_plane_width()
[all …]
/linux/drivers/gpu/drm/amd/display/amdgpu_dm/tests/
H A Damdgpu_dm_plane_test.c224 struct drm_plane *plane; in dm_test_fill_blending_global_alpha() local
232 plane = kunit_kzalloc(test, sizeof(*plane), GFP_KERNEL); in dm_test_fill_blending_global_alpha()
235 KUNIT_ASSERT_NOT_NULL(test, plane); in dm_test_fill_blending_global_alpha()
238 plane->dev = &adev->ddev; in dm_test_fill_blending_global_alpha()
239 state->plane = plane; in dm_test_fill_blending_global_alpha()
286 * dm_test_get_plane_formats() - Verify plane format counts for key plane types.
293 struct drm_plane *plane; in dm_test_get_plane_formats() local
297 plane = kunit_kzalloc(test, sizeof(*plane), GFP_KERNEL); in dm_test_get_plane_formats()
299 KUNIT_ASSERT_NOT_NULL(test, plane); in dm_test_get_plane_formats()
302 plane->type = DRM_PLANE_TYPE_PRIMARY; in dm_test_get_plane_formats()
[all …]
/linux/drivers/gpu/drm/armada/
H A Darmada_trace.h31 TP_PROTO(struct drm_plane *plane, struct drm_crtc *crtc,
35 TP_ARGS(plane, crtc, fb, crtc_x, crtc_y, crtc_w, crtc_h, src_x, src_y, src_w, src_h),
37 __field(struct drm_plane *, plane)
50 __entry->plane = plane;
62 TP_printk("plane %p crtc %p fb %p crtc @ (%d,%d, %ux%u) src @ (%u,%u, %ux%u)",
63 __entry->plane, __entry->crtc, __entry->fb,
71 TP_PROTO(struct drm_crtc *crtc, struct drm_plane *plane),
72 TP_ARGS(crtc, plane),
74 __field(struct drm_plane *, plane)
78 __entry->plane = plane;
[all …]
/linux/drivers/video/fbdev/omap/
H A Domapfb_main.c53 { OMAPFB_CAPS_PLANE_RELOCATE_MEM, "relocate plane memory" },
54 { OMAPFB_CAPS_PLANE_SCALE, "scale plane" },
181 struct omapfb_plane_struct *plane = fbi->par; in ctrl_change_mode() local
182 struct omapfb_device *fbdev = plane->fbdev; in ctrl_change_mode()
190 r = fbdev->ctrl->setup_plane(plane->idx, plane->info.channel_out, in ctrl_change_mode()
192 plane->info.pos_x, plane->info.pos_y, in ctrl_change_mode()
193 var->xres, var->yres, plane->color_mode); in ctrl_change_mode()
204 r = fbdev->ctrl->set_scale(plane->idx, in ctrl_change_mode()
206 plane->info.out_width, in ctrl_change_mode()
207 plane->info.out_height); in ctrl_change_mode()
[all …]
/linux/drivers/gpu/drm/vkms/
H A Dvkms_config.h37 * @config: The vkms_config this plane belongs to
38 * @type: Type of the plane. The creator of configuration needs to ensures that
39 * at least one primary plane is present.
40 * @possible_crtcs: Array of CRTCs that can be used with this plane
41 * @plane: Internal usage. This pointer should never be considered as valid.
42 * It can be used to store a temporary reference to a VKMS plane during
55 struct vkms_plane *plane; member
197 * @enable_cursor: Create or not a cursor plane
256 * vkms_config_create_plane() - Add a new plane configuration
257 * @config: Configuration to add the plane to
[all …]
H A Dvkms_configfs.c42 * struct vkms_configfs_plane - Configfs representation of a plane
44 * @group: Top level configuration group that represents a plane.
46 * @possible_crtcs_group: Default subgroup of @group at "plane/possible_crtcs"
47 * @dev: The vkms_configfs_device this plane belongs to
48 * @config: Configuration of the VKMS plane
246 struct vkms_configfs_plane *plane; in plane_possible_crtcs_allow_link() local
253 plane = plane_possible_crtcs_item_to_vkms_configfs_plane(src); in plane_possible_crtcs_allow_link()
256 scoped_guard(mutex, &plane->dev->lock) { in plane_possible_crtcs_allow_link()
257 if (plane->dev->enabled) in plane_possible_crtcs_allow_link()
260 ret = vkms_config_plane_attach_crtc(plane->config, crtc->config); in plane_possible_crtcs_allow_link()
[all …]
/linux/drivers/gpu/drm/verisilicon/
H A Dvs_plane.c130 struct drm_plane_state *vs_plane_duplicate_state(struct drm_plane *plane) in vs_plane_duplicate_state() argument
134 if (drm_WARN_ON(plane->dev, !plane->state)) in vs_plane_duplicate_state()
137 vs_state_old = to_vs_plane_state(plane->state); in vs_plane_duplicate_state()
143 __drm_atomic_helper_plane_duplicate_state(plane, &vs_state->base); in vs_plane_duplicate_state()
151 void vs_plane_destroy_state(struct drm_plane *plane, in vs_plane_destroy_state() argument
158 /* Called during init to allocate the plane's atomic state. */
159 void vs_plane_reset(struct drm_plane *plane) in vs_plane_reset() argument
163 if (plane->state) { in vs_plane_reset()
164 __drm_atomic_helper_plane_destroy_state(plane->state); in vs_plane_reset()
165 kfree(plane->state); in vs_plane_reset()
[all …]
/linux/drivers/gpu/drm/xe/display/
H A Dxe_fb_pin.c66 const struct intel_remapped_plane_info *plane) in write_dpt_remapped_linear() argument
72 unsigned int offset = plane->offset * XE_PAGE_SIZE; in write_dpt_remapped_linear()
73 unsigned int size = plane->size; in write_dpt_remapped_linear()
89 const struct intel_remapped_plane_info *plane) in write_dpt_remapped_tiled() argument
97 for (row = 0; row < plane->height; row++) { in write_dpt_remapped_tiled()
98 offset = (plane->offset + plane->src_stride * row) * in write_dpt_remapped_tiled()
101 for (column = 0; column < plane->width; column++) { in write_dpt_remapped_tiled()
110 plane->dst_stride - plane->width); in write_dpt_remapped_tiled()
123 for (i = 0; i < ARRAY_SIZE(remap_info->plane); i++) { in write_dpt_remapped()
124 const struct intel_remapped_plane_info *plane = in write_dpt_remapped() local
[all …]
/linux/drivers/gpu/drm/tidss/
H A Dtidss_irq.h26 * plane bits: U = fifo underflow
35 #define DSS_IRQ_PLANE_BIT_N(plane, bit) \ argument
36 (DSS_IRQ_VP_BIT_N(TIDSS_MAX_PORTS, 0) + 1 * (plane) + (bit))
39 #define DSS_IRQ_PLANE_BIT(plane, bit) \ argument
40 BIT(DSS_IRQ_PLANE_BIT_N((plane), (bit)))
47 static inline dispc_irq_t DSS_IRQ_PLANE_MASK(u32 plane) in DSS_IRQ_PLANE_MASK() argument
49 return GENMASK(DSS_IRQ_PLANE_BIT_N((plane), 0), in DSS_IRQ_PLANE_MASK()
50 DSS_IRQ_PLANE_BIT_N((plane), 0)); in DSS_IRQ_PLANE_MASK()
58 #define DSS_IRQ_PLANE_FIFO_UNDERFLOW(plane) DSS_IRQ_PLANE_BIT((plane), 0) argument
/linux/drivers/gpu/drm/tests/
H A Ddrm_damage_helper_test.c19 struct drm_plane plane; member
40 mock->old_state.plane = &mock->plane; in drm_damage_helper_init()
41 mock->state.plane = &mock->plane; in drm_damage_helper_init()
46 mock->plane.dev = &mock->device; in drm_damage_helper_init()
48 mock->plane.base.properties = &mock->obj_props; in drm_damage_helper_init()
52 drm_plane_enable_fb_damage_clips(&mock->plane); in drm_damage_helper_init()
113 KUNIT_FAIL(test, "Damage cannot be outside rounded plane src."); in check_damage_clip()
126 /* Plane src same as fb size. */ in drm_test_damage_iter_no_damage()
133 KUNIT_EXPECT_EQ_MSG(test, num_hits, 1, "Should return plane src as damage."); in drm_test_damage_iter_no_damage()
144 /* Plane src has fractional part. */ in drm_test_damage_iter_no_damage_fractional_src()
[all …]
/linux/drivers/gpu/drm/loongson/
H A Dlsdc_drv.h135 /* primary plane hardware related ops */
140 void (*update_fb_addr)(struct lsdc_primary *plane, u64 addr);
141 void (*update_fb_stride)(struct lsdc_primary *plane, u32 stride);
142 void (*update_fb_format)(struct lsdc_primary *plane,
152 /* cursor plane hardware related ops */
157 void (*update_bo_addr)(struct lsdc_cursor *plane, u64 addr);
158 void (*update_cfg)(struct lsdc_cursor *plane,
161 void (*update_position)(struct lsdc_cursor *plane, int x, int y);
215 struct drm_plane *plane,
219 struct drm_plane *plane,
[all …]
/linux/drivers/gpu/drm/sti/
H A Dsti_plane.h62 * STI plane structure
64 * @plane: drm plane it is bound to (if any)
65 * @desc: plane type & id
66 * @status: to know the status of the plane
76 const char *sti_plane_to_str(struct sti_plane *plane);
77 void sti_plane_update_fps(struct sti_plane *plane,
81 void sti_plane_init_property(struct sti_plane *plane,

12345678910>>...15