/kernel/linux/linux-5.10/drivers/gpu/drm/ |
D | drm_plane.c | 40 * 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 …]
|
D | drm_blend.c | 6 * 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 …]
|
D | drm_damage_helper.c | 40 * FB_DAMAGE_CLIPS is an optional plane property which provides a means to 41 * specify a list of damage rectangles on a plane in framebuffer coordinates of 42 * the framebuffer attached to the plane. In current context damage is the area 43 * of plane framebuffer that has changed since last plane update (also called 45 * framebuffer attached during last plane update or not. 52 * ignore damage clips property and in that case driver will do a full plane 54 * inside damage clips will be updated to plane. For efficiency driver can do 59 * framebuffer (since last plane update) can result in incorrect rendering. 62 * array of &drm_mode_rect. Unlike plane &drm_plane_state.src coordinates, 63 * damage clips are not in 16.16 fixed point. Similar to plane src in [all …]
|
/kernel/linux/linux-5.10/drivers/gpu/drm/i915/display/ |
D | intel_atomic_plane.c | 25 * 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-5.10/drivers/gpu/drm/msm/disp/dpu1/ |
D | dpu_plane.h | 18 * 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 …]
|
D | dpu_plane.c | 28 #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/virtio/ |
D | virtgpu_plane.c | 70 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/mediatek/ |
D | mtk_drm_plane.c | 34 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-5.10/drivers/gpu/drm/nouveau/dispnv04/ |
D | overlay.c | 113 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-5.10/include/drm/ |
D | drm_plane.h | 39 * 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-5.10/drivers/gpu/drm/i915/gvt/ |
D | fb_decoder.c | 194 * 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-5.10/drivers/gpu/drm/omapdrm/ |
D | omap_plane.c | 15 * 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-5.10/drivers/gpu/drm/rcar-du/ |
D | rcar_du_plane.c | 26 * 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 …]
|
D | rcar_du_vsp.c | 86 * Ensure that the plane source configuration takes effect by requesting in rcar_du_vsp_enable() 148 static void rcar_du_vsp_plane_setup(struct rcar_du_vsp_plane *plane) in rcar_du_vsp_plane_setup() argument 151 to_rcar_vsp_plane_state(plane->plane.state); in rcar_du_vsp_plane_setup() 153 struct drm_framebuffer *fb = plane->plane.state->fb; in rcar_du_vsp_plane_setup() 180 vsp1_du_atomic_update(plane->vsp->vsp, crtc->vsp_pipe, in rcar_du_vsp_plane_setup() 181 plane->index, &cfg); in rcar_du_vsp_plane_setup() 220 static int rcar_du_vsp_plane_prepare_fb(struct drm_plane *plane, in rcar_du_vsp_plane_prepare_fb() argument 224 struct rcar_du_vsp *vsp = to_rcar_vsp_plane(plane)->vsp; in rcar_du_vsp_plane_prepare_fb() 229 * plane is not visible, as it will not be displayed. in rcar_du_vsp_plane_prepare_fb() 238 return drm_gem_fb_prepare_fb(plane, state); in rcar_du_vsp_plane_prepare_fb() [all …]
|
/kernel/linux/linux-5.10/drivers/gpu/drm/arm/display/komeda/ |
D | komeda_plane.c | 20 struct komeda_plane *kplane = to_kplane(st->plane); in komeda_plane_init_data_flow() 32 st->plane->name, st->normalized_zpos, in komeda_plane_init_data_flow() 66 * @plane: DRM plane 67 * @state: the plane state object 73 komeda_plane_atomic_check(struct drm_plane *plane, in komeda_plane_atomic_check() argument 76 struct komeda_plane *kplane = to_kplane(plane); in komeda_plane_atomic_check() 89 DRM_DEBUG_ATOMIC("Cannot update plane on a disabled CRTC.\n"); in komeda_plane_atomic_check() 113 /* plane doesn't represent a real HW, so there is no HW update for plane. 117 komeda_plane_atomic_update(struct drm_plane *plane, in komeda_plane_atomic_update() argument 127 static void komeda_plane_destroy(struct drm_plane *plane) in komeda_plane_destroy() argument [all …]
|
/kernel/linux/linux-5.10/drivers/gpu/drm/vkms/ |
D | vkms_plane.c | 20 vkms_plane_duplicate_state(struct drm_plane *plane) in vkms_plane_duplicate_state() argument 38 __drm_atomic_helper_plane_duplicate_state(plane, in vkms_plane_duplicate_state() 44 static void vkms_plane_destroy_state(struct drm_plane *plane, in vkms_plane_destroy_state() argument 65 static void vkms_plane_reset(struct drm_plane *plane) in vkms_plane_reset() argument 69 if (plane->state) in vkms_plane_reset() 70 vkms_plane_destroy_state(plane, plane->state); in vkms_plane_reset() 78 plane->state = &vkms_state->base; in vkms_plane_reset() 79 plane->state->plane = plane; in vkms_plane_reset() 91 static void vkms_plane_atomic_update(struct drm_plane *plane, in vkms_plane_atomic_update() argument 95 struct drm_framebuffer *fb = plane->state->fb; in vkms_plane_atomic_update() [all …]
|
/kernel/linux/linux-5.10/drivers/gpu/drm/sun4i/ |
D | sun4i_layer.c | 18 static void sun4i_backend_layer_reset(struct drm_plane *plane) in sun4i_backend_layer_reset() argument 20 struct sun4i_layer *layer = plane_to_sun4i_layer(plane); in sun4i_backend_layer_reset() 23 if (plane->state) { in sun4i_backend_layer_reset() 24 state = state_to_sun4i_layer_state(plane->state); in sun4i_backend_layer_reset() 29 plane->state = NULL; in sun4i_backend_layer_reset() 34 __drm_atomic_helper_plane_reset(plane, &state->state); in sun4i_backend_layer_reset() 35 plane->state->zpos = layer->id; in sun4i_backend_layer_reset() 40 sun4i_backend_layer_duplicate_state(struct drm_plane *plane) in sun4i_backend_layer_duplicate_state() argument 42 struct sun4i_layer_state *orig = state_to_sun4i_layer_state(plane->state); in sun4i_backend_layer_duplicate_state() 49 __drm_atomic_helper_plane_duplicate_state(plane, ©->state); in sun4i_backend_layer_duplicate_state() [all …]
|
/kernel/linux/linux-5.10/drivers/video/fbdev/omap2/omapfb/dss/ |
D | dispc.h | 339 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 …]
|
/kernel/linux/linux-5.10/drivers/gpu/drm/omapdrm/dss/ |
D | dispc.h | 342 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 …]
|
/kernel/linux/linux-5.10/drivers/gpu/drm/sti/ |
D | sti_plane.c | 19 const char *sti_plane_to_str(struct sti_plane *plane) in sti_plane_to_str() argument 21 switch (plane->desc) { in sti_plane_to_str() 35 return "<UNKNOWN PLANE>"; in sti_plane_to_str() 41 void sti_plane_update_fps(struct sti_plane *plane, in sti_plane_update_fps() argument 45 struct drm_plane_state *state = plane->drm_plane.state; in sti_plane_update_fps() 53 fps = &plane->fps_info; in sti_plane_update_fps() 74 snprintf(plane->fps_info.fps_str, FPS_LENGTH, in sti_plane_update_fps() 76 plane->drm_plane.name, in sti_plane_update_fps() 81 sti_plane_to_str(plane)); in sti_plane_update_fps() 89 snprintf(plane->fps_info.fips_str, in sti_plane_update_fps() [all …]
|
/kernel/linux/linux-5.10/drivers/gpu/drm/atmel-hlcdc/ |
D | atmel_hlcdc_plane.c | 22 * Atmel HLCDC Plane state structure. 24 * @base: DRM plane state 25 * @crtc_x: x position of the plane relative to the CRTC 26 * @crtc_y: y position of the plane relative to the CRTC 27 * @crtc_w: visible width of the plane 28 * @crtc_h: visible height of the plane 272 atmel_hlcdc_plane_scaler_set_phicoeff(struct atmel_hlcdc_plane *plane, in atmel_hlcdc_plane_scaler_set_phicoeff() argument 279 atmel_hlcdc_layer_write_cfg(&plane->layer, cfg_offs + i, in atmel_hlcdc_plane_scaler_set_phicoeff() 283 void atmel_hlcdc_plane_setup_scaler(struct atmel_hlcdc_plane *plane, in atmel_hlcdc_plane_setup_scaler() argument 286 const struct atmel_hlcdc_layer_desc *desc = plane->layer.desc; in atmel_hlcdc_plane_setup_scaler() [all …]
|
/kernel/linux/linux-5.10/drivers/gpu/drm/tegra/ |
D | plane.c | 15 #include "plane.h" 17 static void tegra_plane_destroy(struct drm_plane *plane) in tegra_plane_destroy() argument 19 struct tegra_plane *p = to_tegra_plane(plane); in tegra_plane_destroy() 21 drm_plane_cleanup(plane); in tegra_plane_destroy() 25 static void tegra_plane_reset(struct drm_plane *plane) in tegra_plane_reset() argument 27 struct tegra_plane *p = to_tegra_plane(plane); in tegra_plane_reset() 31 if (plane->state) in tegra_plane_reset() 32 __drm_atomic_helper_plane_destroy_state(plane->state); in tegra_plane_reset() 34 kfree(plane->state); in tegra_plane_reset() 35 plane->state = NULL; in tegra_plane_reset() [all …]
|
D | hub.c | 24 #include "plane.h" 61 static inline unsigned int tegra_plane_offset(struct tegra_plane *plane, in tegra_plane_offset() argument 66 return plane->offset + offset; in tegra_plane_offset() 71 return plane->offset + offset; in tegra_plane_offset() 76 return plane->offset + offset; in tegra_plane_offset() 79 dev_WARN(plane->dc->dev, "invalid offset: %x\n", offset); in tegra_plane_offset() 81 return plane->offset + offset; in tegra_plane_offset() 84 static inline u32 tegra_plane_readl(struct tegra_plane *plane, in tegra_plane_readl() argument 87 return tegra_dc_readl(plane->dc, tegra_plane_offset(plane, offset)); in tegra_plane_readl() 90 static inline void tegra_plane_writel(struct tegra_plane *plane, u32 value, in tegra_plane_writel() argument [all …]
|
/kernel/linux/linux-5.10/Documentation/gpu/ |
D | afbc.rst | 87 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 …]
|
/kernel/linux/linux-5.10/drivers/gpu/drm/msm/disp/mdp5/ |
D | mdp5_plane.c | 22 static int mdp5_plane_mode_set(struct drm_plane *plane, 26 static struct mdp5_kms *get_kms(struct drm_plane *plane) in get_kms() argument 28 struct msm_drm_private *priv = plane->dev->dev_private; in get_kms() 37 static void mdp5_plane_destroy(struct drm_plane *plane) in mdp5_plane_destroy() argument 39 struct mdp5_plane *mdp5_plane = to_mdp5_plane(plane); in mdp5_plane_destroy() 41 drm_plane_cleanup(plane); in mdp5_plane_destroy() 47 struct drm_plane *plane) in mdp5_plane_install_rotation_property() argument 49 drm_plane_create_rotation_property(plane, in mdp5_plane_install_rotation_property() 58 static void mdp5_plane_install_properties(struct drm_plane *plane, in mdp5_plane_install_properties() argument 61 struct drm_device *dev = plane->dev; in mdp5_plane_install_properties() [all …]
|