On 28/07/2023 20:02, Jessica Zhang wrote:
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.

Signed-off-by: Jessica Zhang <quic_jessz...@quicinc.com>
---
  drivers/gpu/drm/drm_blend.c | 10 +++++++++-
  include/drm/drm_plane.h     |  1 +
  2 files changed, 10 insertions(+), 1 deletion(-)

Reviewed-by: Dmitry Baryshkov <dmitry.barysh...@linaro.org>


diff --git a/drivers/gpu/drm/drm_blend.c b/drivers/gpu/drm/drm_blend.c
index c632dfcd8a9b..34b1fd3e2310 100644
--- a/drivers/gpu/drm/drm_blend.c
+++ b/drivers/gpu/drm/drm_blend.c
@@ -200,6 +200,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.
@@ -657,6 +660,9 @@ EXPORT_SYMBOL(drm_plane_create_blend_mode_property);
   * "FB":
   *    Framebuffer pixel source
   *
+ * "SOLID_FILL":
+ *     Solid fill color pixel source
+ *
   * Returns:
   * Zero on success, negative errno on failure.
   */
@@ -668,8 +674,10 @@ int drm_plane_create_pixel_source_property(struct 
drm_plane *plane,
        static const struct drm_prop_enum_list enum_list[] = {
                { DRM_PLANE_PIXEL_SOURCE_NONE, "NONE" },
                { DRM_PLANE_PIXEL_SOURCE_FB, "FB" },
+               { DRM_PLANE_PIXEL_SOURCE_SOLID_FILL, "SOLID_FILL" },
        };
-       static const unsigned int valid_source_mask = 
BIT(DRM_PLANE_PIXEL_SOURCE_FB);
+       static const unsigned int valid_source_mask = 
BIT(DRM_PLANE_PIXEL_SOURCE_FB) |
+                                                     
BIT(DRM_PLANE_PIXEL_SOURCE_SOLID_FILL);
        int i;
/* FB is supported by default */
diff --git a/include/drm/drm_plane.h b/include/drm/drm_plane.h
index abf1458fa099..234fee3d5a95 100644
--- a/include/drm/drm_plane.h
+++ b/include/drm/drm_plane.h
@@ -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
  };

--
With best wishes
Dmitry

Reply via email to