Commit 4b641670 authored by Jessica Zhang's avatar Jessica Zhang Committed by Dmitry Baryshkov
Browse files

drm: Add solid fill pixel source



Add "SOLID_FILL" as a valid pixel source. If the pixel_source property is
set to "SOLID_FILL", it will display data from the drm_plane "solid_fill"
blob property.

Reviewed-by: default avatarDmitry Baryshkov <dmitry.baryshkov@linaro.org>
Acked-by: default avatarPekka Paalanen <pekka.paalanen@collabora.com>
Acked-by: default avatarHarry Wentland <harry.wentland@amd.com>
Acked-by: default avatarSebastian Wick <sebastian@sebastianwick.net>
Signed-off-by: default avatarJessica Zhang <quic_jesszhan@quicinc.com>
Signed-off-by: default avatarDmitry Baryshkov <dmitry.baryshkov@linaro.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20231027-solid-fill-v7-3-780188bfa7b2@quicinc.com
parent 85863a4e
Loading
Loading
Loading
Loading
+9 −1
Original line number Diff line number Diff line
@@ -204,6 +204,9 @@
 *	"FB":
 *		Framebuffer source set by the "FB_ID" property.
 *
 *	"SOLID_FILL":
 *		Solid fill color source set by the "solid_fill" property.
 *
 * solid_fill:
 *	solid_fill is set up with drm_plane_create_solid_fill_property(). It
 *	contains pixel data that drivers can use to fill a plane.
@@ -642,6 +645,7 @@ EXPORT_SYMBOL(drm_plane_create_blend_mode_property);
static const struct drm_prop_enum_list drm_pixel_source_enum_list[] = {
	{ DRM_PLANE_PIXEL_SOURCE_NONE, "NONE" },
	{ DRM_PLANE_PIXEL_SOURCE_FB, "FB" },
	{ DRM_PLANE_PIXEL_SOURCE_SOLID_FILL, "SOLID_FILL" },
};

/**
@@ -666,6 +670,9 @@ static const struct drm_prop_enum_list drm_pixel_source_enum_list[] = {
 * "FB":
 *	Framebuffer pixel source
 *
 * "SOLID_FILL":
 * 	Solid fill color pixel source
 *
 * Returns:
 * Zero on success, negative errno on failure.
 */
@@ -675,7 +682,8 @@ int drm_plane_create_pixel_source_property(struct drm_plane *plane,
	struct drm_device *dev = plane->dev;
	struct drm_property *prop;
	static const unsigned int valid_source_mask = BIT(DRM_PLANE_PIXEL_SOURCE_FB) |
						      BIT(DRM_PLANE_PIXEL_SOURCE_NONE);
						      BIT(DRM_PLANE_PIXEL_SOURCE_NONE) |
						      BIT(DRM_PLANE_PIXEL_SOURCE_SOLID_FILL);
	int i;

	/* FB is supported by default */
+1 −0
Original line number Diff line number Diff line
@@ -43,6 +43,7 @@ enum drm_scaling_filter {
enum drm_plane_pixel_source {
	DRM_PLANE_PIXEL_SOURCE_NONE,
	DRM_PLANE_PIXEL_SOURCE_FB,
	DRM_PLANE_PIXEL_SOURCE_SOLID_FILL,
	DRM_PLANE_PIXEL_SOURCE_MAX
};