mirror of
https://github.com/torvalds/linux.git
synced 2026-04-18 14:53:58 -04:00
drm: Introduce solid fill DRM plane property
Document and add support for solid_fill property to drm_plane. In
addition, add support for setting and getting the values for solid_fill.
To enable solid fill planes, userspace must assign a property blob to
the "solid_fill" plane property containing the following information:
struct drm_mode_solid_fill {
u32 r, g, b, pad;
};
Acked-by: Harry Wentland <harry.wentland@amd.com>
Acked-by: Sebastian Wick <sebastian@sebastianwick.net>
Signed-off-by: Jessica Zhang <quic_jesszhan@quicinc.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20231027-solid-fill-v7-2-780188bfa7b2@quicinc.com
This commit is contained in:
committed by
Dmitry Baryshkov
parent
e50e5fed41
commit
85863a4e16
@@ -254,6 +254,11 @@ void __drm_atomic_helper_plane_state_reset(struct drm_plane_state *plane_state,
|
||||
plane_state->pixel_blend_mode = DRM_MODE_BLEND_PREMULTI;
|
||||
plane_state->pixel_source = DRM_PLANE_PIXEL_SOURCE_FB;
|
||||
|
||||
if (plane_state->solid_fill_blob) {
|
||||
drm_property_blob_put(plane_state->solid_fill_blob);
|
||||
plane_state->solid_fill_blob = NULL;
|
||||
}
|
||||
|
||||
if (plane->color_encoding_property) {
|
||||
if (!drm_object_property_get_default_value(&plane->base,
|
||||
plane->color_encoding_property,
|
||||
@@ -350,6 +355,9 @@ void __drm_atomic_helper_plane_duplicate_state(struct drm_plane *plane,
|
||||
if (state->fb)
|
||||
drm_framebuffer_get(state->fb);
|
||||
|
||||
if (state->solid_fill_blob)
|
||||
drm_property_blob_get(state->solid_fill_blob);
|
||||
|
||||
state->fence = NULL;
|
||||
state->commit = NULL;
|
||||
state->fb_damage_clips = NULL;
|
||||
@@ -399,6 +407,7 @@ void __drm_atomic_helper_plane_destroy_state(struct drm_plane_state *state)
|
||||
drm_crtc_commit_put(state->commit);
|
||||
|
||||
drm_property_blob_put(state->fb_damage_clips);
|
||||
drm_property_blob_put(state->solid_fill_blob);
|
||||
}
|
||||
EXPORT_SYMBOL(__drm_atomic_helper_plane_destroy_state);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user