Home
last modified time | relevance | path

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

12345678910>>...60

/kernel/linux/linux-5.10/drivers/gpu/drm/
Ddrm_plane.c40 * A plane represents an image source that can be blended with or overlayed on
42 * &drm_framebuffer object. The plane itself specifies the cropping and scaling
44 * pipeline, represented by &drm_crtc. A plane can also have additional
48 * To create a plane, a KMS drivers allocates and zeroes an instances of
53 * primary plane per CRTC to avoid surprising userspace too much. See enum
55 * plane types. Special planes are associated with their CRTC by calling
58 * The type of a plane is exposed in the immutable "type" enumeration property,
86 static int create_in_format_blob(struct drm_device *dev, struct drm_plane *plane) in create_in_format_blob() argument
95 formats_size = sizeof(__u32) * plane->format_count; in create_in_format_blob()
102 sizeof(struct drm_format_modifier) * plane->modifier_count; in create_in_format_blob()
[all …]
Ddrm_blend.c6 * DRM core plane blending related functions
41 * The basic plane composition model supported by standard plane properties only
49 * For the atomic ioctl the following standard (atomic) properties on the plane object
50 * encode the basic plane composition model:
77 * Mode object ID of the &drm_framebuffer this plane should scan out.
79 * Mode object ID of the &drm_crtc this plane should be connected to.
96 * plane-wide opacity, from transparent (0) to opaque (0xffff). It can be
99 * pre-multiplied by the global alpha associated to the plane.
110 * Signals that a drm plane is rotated <degrees> degrees in counter
114 * Signals that the contents of a drm plane is reflected along the
[all …]
/kernel/linux/linux-6.6/drivers/gpu/drm/
Ddrm_plane.c41 * A plane represents an image source that can be blended with or overlaid on
43 * &drm_framebuffer object. The plane itself specifies the cropping and scaling
45 * pipeline, represented by &drm_crtc. A plane can also have additional
51 * which are not covered by a plane will be black, and alpha blending of any
54 * To create a plane, a KMS drivers allocates and zeroes an instances of
58 * Each plane has a type, see enum drm_plane_type. A plane can be compatible
61 * Each CRTC must have a unique primary plane userspace can attach to enable
63 * primary plane to each CRTC at the same time. Primary planes can still be
68 * relies on the driver to set the primary and optionally the cursor plane used
70 * drivers must provide one primary plane per CRTC to avoid surprising legacy
[all …]
Ddrm_gem_atomic_helper.c21 * synchronization helpers, and plane state and framebuffer BO mappings
24 * Before scanout, a plane's framebuffer needs to be synchronized with
27 * struct &drm_plane_helper.prepare_fb . It sets the plane's fence from
48 * and provide struct drm_shadow_plane_state, which stores the plane's mapping
53 * These macros set up the plane and plane-helper callbacks to point to the
71 * from the plane state. Use to_drm_shadow_plane_state() to upcast from
76 * void driver_plane_atomic_update(struct drm_plane *plane,
79 * struct drm_plane_state *plane_state = plane->state;
114 * Plane Helpers
119 * @plane: Plane
[all …]
Ddrm_blend.c6 * DRM core plane blending related functions
41 * The basic plane composition model supported by standard plane properties only
49 * For the atomic ioctl the following standard (atomic) properties on the plane object
50 * encode the basic plane composition model:
77 * Mode object ID of the &drm_framebuffer this plane should scan out.
79 * Mode object ID of the &drm_crtc this plane should be connected to.
96 * plane-wide opacity, from transparent (0) to opaque (0xffff). It can be
99 * pre-multiplied by the global alpha associated to the plane.
110 * Signals that a drm plane is rotated <degrees> degrees in counter
114 * Signals that the contents of a drm plane is reflected along the
[all …]
/kernel/linux/linux-5.10/drivers/gpu/drm/i915/display/
Dintel_atomic_plane.c25 * DOC: atomic plane helpers
27 * The functions here are used by the atomic plane helper functions to
28 * implement legacy plane updates (i.e., drm_plane->update_plane() and
29 * drm_plane->disable_plane()). This allows plane updates to use the
30 * atomic state infrastructure and perform plane updates as separate
46 struct intel_plane *plane) in intel_plane_state_reset() argument
50 __drm_atomic_helper_plane_state_reset(&plane_state->uapi, &plane->base); in intel_plane_state_reset()
58 struct intel_plane *plane; in intel_plane_alloc() local
60 plane = kzalloc(sizeof(*plane), GFP_KERNEL); in intel_plane_alloc()
61 if (!plane) in intel_plane_alloc()
[all …]
/kernel/linux/linux-6.6/drivers/gpu/drm/virtio/
Dvirtgpu_plane.c70 drm_plane_state *virtio_gpu_plane_duplicate_state(struct drm_plane *plane) in virtio_gpu_plane_duplicate_state() argument
74 if (WARN_ON(!plane->state)) in virtio_gpu_plane_duplicate_state()
81 __drm_atomic_helper_plane_duplicate_state(plane, &new->base); in virtio_gpu_plane_duplicate_state()
94 static int virtio_gpu_plane_atomic_check(struct drm_plane *plane, in virtio_gpu_plane_atomic_check() argument
98 plane); in virtio_gpu_plane_atomic_check()
100 plane); in virtio_gpu_plane_atomic_check()
101 bool is_cursor = plane->type == DRM_PLANE_TYPE_CURSOR; in virtio_gpu_plane_atomic_check()
109 * Ignore damage clips if the framebuffer attached to the plane's state in virtio_gpu_plane_atomic_check()
110 * has changed since the last plane update (page-flip). In this case, a in virtio_gpu_plane_atomic_check()
111 * full plane update should happen because uploads are done per-buffer. in virtio_gpu_plane_atomic_check()
[all …]
/kernel/linux/linux-5.10/drivers/gpu/drm/msm/disp/dpu1/
Ddpu_plane.h18 * struct dpu_plane_state: Define dpu extension of drm plane state object
19 * @base: base drm plane state object
28 * @plane_fetch_bw: calculated BW per plane
29 * @plane_clk: calculated clk per plane
49 * struct dpu_multirect_plane_states: Defines multirect pair of drm plane states
50 * @r0: drm plane configured on rect 0
51 * @r1: drm plane configured on rect 1
62 * dpu_plane_pipe - return sspp identifier for the given plane
63 * @plane: Pointer to DRM plane object
64 * Returns: sspp identifier of the given plane
[all …]
Ddpu_plane.c28 #define DPU_DEBUG_PLANE(pl, fmt, ...) DPU_DEBUG("plane%d " fmt,\
31 #define DPU_ERROR_PLANE(pl, fmt, ...) DPU_ERROR("plane%d " fmt,\
81 * struct dpu_plane - local dpu plane structure
86 * @revalidate: force revalidation of all the plane properties
127 static struct dpu_kms *_dpu_plane_get_kms(struct drm_plane *plane) in _dpu_plane_get_kms() argument
129 struct msm_drm_private *priv = plane->dev->dev_private; in _dpu_plane_get_kms()
135 * _dpu_plane_calc_bw - calculate bandwidth required for a plane
136 * @Plane: Pointer to drm plane.
137 * Result: Updates calculated bandwidth in the plane state.
141 static void _dpu_plane_calc_bw(struct drm_plane *plane, in _dpu_plane_calc_bw() argument
[all …]
/kernel/linux/linux-5.10/drivers/gpu/drm/mediatek/
Dmtk_drm_plane.c34 static void mtk_plane_reset(struct drm_plane *plane) in mtk_plane_reset() argument
38 if (plane->state) { in mtk_plane_reset()
39 __drm_atomic_helper_plane_destroy_state(plane->state); in mtk_plane_reset()
41 state = to_mtk_plane_state(plane->state); in mtk_plane_reset()
47 plane->state = &state->base; in mtk_plane_reset()
50 state->base.plane = plane; in mtk_plane_reset()
54 static struct drm_plane_state *mtk_plane_duplicate_state(struct drm_plane *plane) in mtk_plane_duplicate_state() argument
56 struct mtk_plane_state *old_state = to_mtk_plane_state(plane->state); in mtk_plane_duplicate_state()
63 __drm_atomic_helper_plane_duplicate_state(plane, &state->base); in mtk_plane_duplicate_state()
65 WARN_ON(state->base.plane != plane); in mtk_plane_duplicate_state()
[all …]
/kernel/linux/linux-6.6/drivers/gpu/drm/i915/display/
Dintel_atomic_plane.c25 * DOC: atomic plane helpers
27 * The functions here are used by the atomic plane helper functions to
28 * implement legacy plane updates (i.e., drm_plane->update_plane() and
29 * drm_plane->disable_plane()). This allows plane updates to use the
30 * atomic state infrastructure and perform plane updates as separate
51 struct intel_plane *plane) in intel_plane_state_reset() argument
55 __drm_atomic_helper_plane_state_reset(&plane_state->uapi, &plane->base); in intel_plane_state_reset()
63 struct intel_plane *plane; in intel_plane_alloc() local
65 plane = kzalloc(sizeof(*plane), GFP_KERNEL); in intel_plane_alloc()
66 if (!plane) in intel_plane_alloc()
[all …]
Di9xx_plane.c22 /* Primary plane formats for gen <= 3 */
30 /* Primary plane formats for ivb (no fp16 due to hw issue) */
40 /* Primary plane formats for gen >= 4, except ivb */
51 /* Primary plane formats for vlv/chv */
135 static bool i9xx_plane_has_windowing(struct intel_plane *plane) in i9xx_plane_has_windowing() argument
137 struct drm_i915_private *dev_priv = to_i915(plane->base.dev); in i9xx_plane_has_windowing()
138 enum i9xx_plane_id i9xx_plane = plane->i9xx_plane; in i9xx_plane_has_windowing()
155 to_i915(plane_state->uapi.plane->dev); in i9xx_plane_ctl()
227 to_i915(plane_state->uapi.plane->dev); in i9xx_check_plane_surface()
257 * When using an X-tiled surface the plane starts to in i9xx_check_plane_surface()
[all …]
/kernel/linux/linux-5.10/drivers/gpu/drm/virtio/
Dvirtgpu_plane.c70 static void virtio_gpu_plane_destroy(struct drm_plane *plane) in virtio_gpu_plane_destroy() argument
72 drm_plane_cleanup(plane); in virtio_gpu_plane_destroy()
73 kfree(plane); in virtio_gpu_plane_destroy()
85 static int virtio_gpu_plane_atomic_check(struct drm_plane *plane, in virtio_gpu_plane_atomic_check() argument
88 bool is_cursor = plane->type == DRM_PLANE_TYPE_CURSOR; in virtio_gpu_plane_atomic_check()
129 static void virtio_gpu_primary_plane_update(struct drm_plane *plane, in virtio_gpu_primary_plane_update() argument
132 struct drm_device *dev = plane->dev; in virtio_gpu_primary_plane_update()
138 if (plane->state->crtc) in virtio_gpu_primary_plane_update()
139 output = drm_crtc_to_virtio_gpu_output(plane->state->crtc); in virtio_gpu_primary_plane_update()
145 if (!plane->state->fb || !output->crtc.state->active) { in virtio_gpu_primary_plane_update()
[all …]
/kernel/linux/linux-5.10/drivers/gpu/drm/nouveau/dispnv04/
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 …]
/kernel/linux/linux-6.6/drivers/gpu/drm/nouveau/dispnv04/
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 …]
/kernel/linux/linux-6.6/include/drm/
Ddrm_plane.h44 * struct drm_plane_state - mutable plane state
53 /** @plane: backpointer to the plane */
54 struct drm_plane *plane; member
88 * Left position of visible portion of plane on crtc, signed dest
96 * Upper position of visible portion of plane on crtc, signed dest
101 /** @crtc_w: width of visible portion of plane on crtc */
102 /** @crtc_h: height of visible portion of plane on crtc */
106 * @src_x: left position of visible portion of plane within plane (in
111 * @src_y: upper position of visible portion of plane within plane (in
115 /** @src_w: width of visible portion of plane (in 16.16) */
[all …]
/kernel/linux/linux-5.10/include/drm/
Ddrm_plane.h39 * struct drm_plane_state - mutable plane state
48 /** @plane: backpointer to the plane */
49 struct drm_plane *plane; member
85 * Left position of visible portion of plane on crtc, signed dest
93 * Upper position of visible portion of plane on crtc, signed dest
98 /** @crtc_w: width of visible portion of plane on crtc */
99 /** @crtc_h: height of visible portion of plane on crtc */
103 * @src_x: left position of visible portion of plane within plane (in
108 * @src_y: upper position of visible portion of plane within plane (in
112 /** @src_w: width of visible portion of plane (in 16.16) */
[all …]
/kernel/linux/linux-6.6/drivers/gpu/drm/i915/gvt/
Dfb_decoder.c195 * intel_vgpu_decode_primary_plane - Decode primary plane
197 * @plane: primary plane to save decoded info
198 * This function is called for decoding plane
204 struct intel_vgpu_primary_plane_format *plane) in intel_vgpu_decode_primary_plane() argument
215 plane->enabled = !!(val & DISP_ENABLE); in intel_vgpu_decode_primary_plane()
216 if (!plane->enabled) in intel_vgpu_decode_primary_plane()
220 plane->tiled = val & PLANE_CTL_TILED_MASK; in intel_vgpu_decode_primary_plane()
232 plane->bpp = skl_pixel_formats[fmt].bpp; in intel_vgpu_decode_primary_plane()
233 plane->drm_format = skl_pixel_formats[fmt].drm_format; in intel_vgpu_decode_primary_plane()
235 plane->tiled = val & DISP_TILED; in intel_vgpu_decode_primary_plane()
[all …]
/kernel/linux/linux-5.10/drivers/gpu/drm/i915/gvt/
Dfb_decoder.c194 * intel_vgpu_decode_primary_plane - Decode primary plane
196 * @plane: primary plane to save decoded info
197 * This function is called for decoding plane
203 struct intel_vgpu_primary_plane_format *plane) in intel_vgpu_decode_primary_plane() argument
214 plane->enabled = !!(val & DISPLAY_PLANE_ENABLE); in intel_vgpu_decode_primary_plane()
215 if (!plane->enabled) in intel_vgpu_decode_primary_plane()
219 plane->tiled = val & PLANE_CTL_TILED_MASK; in intel_vgpu_decode_primary_plane()
231 plane->bpp = skl_pixel_formats[fmt].bpp; in intel_vgpu_decode_primary_plane()
232 plane->drm_format = skl_pixel_formats[fmt].drm_format; in intel_vgpu_decode_primary_plane()
234 plane->tiled = val & DISPPLANE_TILED; in intel_vgpu_decode_primary_plane()
[all …]
/kernel/linux/linux-6.6/drivers/gpu/drm/loongson/
Dlsdc_plane.c50 static int lsdc_primary_atomic_check(struct drm_plane *plane, in lsdc_primary_atomic_check() argument
53 struct drm_plane_state *new_plane_state = drm_atomic_get_new_plane_state(state, plane); in lsdc_primary_atomic_check()
69 static void lsdc_primary_atomic_update(struct drm_plane *plane, in lsdc_primary_atomic_update() argument
72 struct lsdc_primary *primary = to_lsdc_primary(plane); in lsdc_primary_atomic_update()
74 struct drm_plane_state *old_plane_state = drm_atomic_get_old_plane_state(state, plane); in lsdc_primary_atomic_update()
75 struct drm_plane_state *new_plane_state = drm_atomic_get_new_plane_state(state, plane); in lsdc_primary_atomic_update()
89 static void lsdc_primary_atomic_disable(struct drm_plane *plane, in lsdc_primary_atomic_disable() argument
97 drm_dbg(plane->dev, "%s disabled\n", plane->name); in lsdc_primary_atomic_disable()
100 static int lsdc_plane_prepare_fb(struct drm_plane *plane, in lsdc_plane_prepare_fb() argument
115 drm_err(plane->dev, "bo %p reserve failed\n", lbo); in lsdc_plane_prepare_fb()
[all …]
/kernel/linux/linux-5.10/drivers/gpu/drm/omapdrm/
Domap_plane.c15 * plane funcs
26 static int omap_plane_prepare_fb(struct drm_plane *plane, in omap_plane_prepare_fb() argument
35 static void omap_plane_cleanup_fb(struct drm_plane *plane, in omap_plane_cleanup_fb() argument
42 static void omap_plane_atomic_update(struct drm_plane *plane, in omap_plane_atomic_update() argument
45 struct omap_drm_private *priv = plane->dev->dev_private; in omap_plane_atomic_update()
46 struct omap_plane *omap_plane = to_omap_plane(plane); in omap_plane_atomic_update()
47 struct drm_plane_state *state = plane->state; in omap_plane_atomic_update()
77 dev_err(plane->dev->dev, "Failed to setup plane %s\n", in omap_plane_atomic_update()
86 static void omap_plane_atomic_disable(struct drm_plane *plane, in omap_plane_atomic_disable() argument
89 struct omap_drm_private *priv = plane->dev->dev_private; in omap_plane_atomic_disable()
[all …]
/kernel/linux/linux-6.6/drivers/gpu/drm/omapdrm/
Domap_plane.c18 * plane funcs
45 static int omap_plane_prepare_fb(struct drm_plane *plane, in omap_plane_prepare_fb() argument
51 drm_gem_plane_helper_prepare_fb(plane, new_state); in omap_plane_prepare_fb()
56 static void omap_plane_cleanup_fb(struct drm_plane *plane, in omap_plane_cleanup_fb() argument
63 static void omap_plane_atomic_update(struct drm_plane *plane, in omap_plane_atomic_update() argument
66 struct omap_drm_private *priv = plane->dev->dev_private; in omap_plane_atomic_update()
68 plane); in omap_plane_atomic_update()
70 plane); in omap_plane_atomic_update()
90 DBG("[PLANE:%d:%s] no overlay attached", plane->base.id, plane->name); in omap_plane_atomic_update()
95 DBG("%s, crtc=%p fb=%p", plane->name, new_state->crtc, in omap_plane_atomic_update()
[all …]
/kernel/linux/linux-6.6/drivers/gpu/drm/renesas/rcar-du/
Drcar_du_plane.c27 * Atomic hardware plane allocator
29 * The hardware plane allocator is solely based on the atomic plane states
35 * the allocated hardware plane(s) for each KMS plane. The allocator then loops
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.
56 * as the extra hardware plane will be freed when committing, but doing in rcar_du_plane_needs_realloc()
86 * VSPD1. VSPD0 feeds DU0/1 plane 0, and VSPD1 feeds either DU2 plane 0 or
87 * DU0/1 plane 1.
89 * Allocate the correct fixed plane when sourcing frames from VSPD0 or VSPD1,
96 static int rcar_du_plane_hwalloc(struct rcar_du_plane *plane, in rcar_du_plane_hwalloc() argument
[all …]
/kernel/linux/linux-5.10/drivers/gpu/drm/rcar-du/
Drcar_du_plane.c26 * Atomic hardware plane allocator
28 * The hardware plane allocator is solely based on the atomic plane states
34 * the allocated hardware plane(s) for each KMS plane. The allocator then loops
35 * over all plane states to compute the free planes bitmask, allocates hardware
36 * planes based on that bitmask, and stores the result back in the plane states.
55 * as the extra hardware plane will be freed when committing, but doing in rcar_du_plane_needs_realloc()
85 * VSPD1. VSPD0 feeds DU0/1 plane 0, and VSPD1 feeds either DU2 plane 0 or
86 * DU0/1 plane 1.
88 * Allocate the correct fixed plane when sourcing frames from VSPD0 or VSPD1,
95 static int rcar_du_plane_hwalloc(struct rcar_du_plane *plane, in rcar_du_plane_hwalloc() argument
[all …]
/kernel/linux/linux-6.6/drivers/gpu/drm/mediatek/
Dmtk_drm_plane.c30 static void mtk_plane_reset(struct drm_plane *plane) in mtk_plane_reset() argument
34 if (plane->state) { in mtk_plane_reset()
35 __drm_atomic_helper_plane_destroy_state(plane->state); in mtk_plane_reset()
37 state = to_mtk_plane_state(plane->state); in mtk_plane_reset()
45 __drm_atomic_helper_plane_reset(plane, &state->base); in mtk_plane_reset()
47 state->base.plane = plane; in mtk_plane_reset()
52 static struct drm_plane_state *mtk_plane_duplicate_state(struct drm_plane *plane) in mtk_plane_duplicate_state() argument
54 struct mtk_plane_state *old_state = to_mtk_plane_state(plane->state); in mtk_plane_duplicate_state()
61 __drm_atomic_helper_plane_duplicate_state(plane, &state->base); in mtk_plane_duplicate_state()
63 WARN_ON(state->base.plane != plane); in mtk_plane_duplicate_state()
[all …]

12345678910>>...60