summaryrefslogtreecommitdiff
path: root/drivers/gpu
diff options
context:
space:
mode:
authorDmitry Baryshkov <dmitry.baryshkov@linaro.org>2023-12-04 16:13:53 +0300
committerDmitry Baryshkov <dmitry.baryshkov@linaro.org>2023-12-04 22:33:09 +0300
commite5fba1ada1c1d676438138d815acd8f427a1eaf0 (patch)
treebc8644a897bb2b060bab8fc054126b3f8ecc0d43 /drivers/gpu
parent5fb1ad3f5725c5c4d1a0c24ba4f82f239dc6878d (diff)
downloadlinux-e5fba1ada1c1d676438138d815acd8f427a1eaf0.tar.xz
Revert "drm: Introduce solid fill DRM plane property"
This reverts commit 85863a4e16e77079ee14865905ddc3ef9483a640. Although the Solid Fill planes patchset got all reviews and acknowledgements, it doesn't fulfill requirements for the new uABI. It has neither corresponding open-source userspace implementation nor the IGT tests coverage. Reverting this patchset until userspace obligations are fulfilled. Acked-by: Simon Ser <contact@emersion.fr> Acked-by: Maxime Ripard <mripard@kernel.org> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> Link: https://patchwork.freedesktop.org/patch/msgid/20231204131455.19023-7-dmitry.baryshkov@linaro.org
Diffstat (limited to 'drivers/gpu')
-rw-r--r--drivers/gpu/drm/drm_atomic_state_helper.c9
-rw-r--r--drivers/gpu/drm/drm_atomic_uapi.c26
-rw-r--r--drivers/gpu/drm/drm_blend.c30
3 files changed, 0 insertions, 65 deletions
diff --git a/drivers/gpu/drm/drm_atomic_state_helper.c b/drivers/gpu/drm/drm_atomic_state_helper.c
index f6c76cea8be4..311b04edf742 100644
--- a/drivers/gpu/drm/drm_atomic_state_helper.c
+++ b/drivers/gpu/drm/drm_atomic_state_helper.c
@@ -254,11 +254,6 @@ 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,
@@ -355,9 +350,6 @@ 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;
@@ -407,7 +399,6 @@ 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);
diff --git a/drivers/gpu/drm/drm_atomic_uapi.c b/drivers/gpu/drm/drm_atomic_uapi.c
index d7ae8e2c0265..bd7140531948 100644
--- a/drivers/gpu/drm/drm_atomic_uapi.c
+++ b/drivers/gpu/drm/drm_atomic_uapi.c
@@ -316,20 +316,6 @@ drm_atomic_set_crtc_for_connector(struct drm_connector_state *conn_state,
}
EXPORT_SYMBOL(drm_atomic_set_crtc_for_connector);
-static void drm_atomic_set_solid_fill_prop(struct drm_plane_state *state)
-{
- struct drm_mode_solid_fill *user_info;
-
- if (!state->solid_fill_blob)
- return;
-
- user_info = (struct drm_mode_solid_fill *)state->solid_fill_blob->data;
-
- state->solid_fill.r = user_info->r;
- state->solid_fill.g = user_info->g;
- state->solid_fill.b = user_info->b;
-}
-
static void set_out_fence_for_crtc(struct drm_atomic_state *state,
struct drm_crtc *crtc, s32 __user *fence_ptr)
{
@@ -578,15 +564,6 @@ static int drm_atomic_plane_set_property(struct drm_plane *plane,
state->src_h = val;
} else if (property == plane->pixel_source_property) {
state->pixel_source = val;
- } else if (property == plane->solid_fill_property) {
- ret = drm_atomic_replace_property_blob_from_id(dev,
- &state->solid_fill_blob,
- val, sizeof(struct drm_mode_solid_fill),
- -1, &replaced);
- if (ret)
- return ret;
-
- drm_atomic_set_solid_fill_prop(state);
} else if (property == plane->alpha_property) {
state->alpha = val;
} else if (property == plane->blend_mode_property) {
@@ -677,9 +654,6 @@ drm_atomic_plane_get_property(struct drm_plane *plane,
*val = state->src_h;
} else if (property == plane->pixel_source_property) {
*val = state->pixel_source;
- } else if (property == plane->solid_fill_property) {
- *val = state->solid_fill_blob ?
- state->solid_fill_blob->base.id : 0;
} else if (property == plane->alpha_property) {
*val = state->alpha;
} else if (property == plane->blend_mode_property) {
diff --git a/drivers/gpu/drm/drm_blend.c b/drivers/gpu/drm/drm_blend.c
index 665c5d9b056f..fce734cdb85b 100644
--- a/drivers/gpu/drm/drm_blend.c
+++ b/drivers/gpu/drm/drm_blend.c
@@ -204,10 +204,6 @@
* "FB":
* Framebuffer source set by the "FB_ID" 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.
- *
* Note that all the property extensions described here apply either to the
* plane or the CRTC (e.g. for the background color, which currently is not
* exposed and assumed to be black).
@@ -713,29 +709,3 @@ int drm_plane_create_pixel_source_property(struct drm_plane *plane,
return 0;
}
EXPORT_SYMBOL(drm_plane_create_pixel_source_property);
-
-/**
- * drm_plane_create_solid_fill_property - create a new solid_fill property
- * @plane: drm plane
- *
- * This creates a new property blob that holds pixel data for solid fill planes.
- * The property is exposed to userspace as a property blob called "solid_fill".
- *
- * For information on what the blob contains, see `drm_mode_solid_fill`.
- */
-int drm_plane_create_solid_fill_property(struct drm_plane *plane)
-{
- struct drm_property *prop;
-
- prop = drm_property_create(plane->dev,
- DRM_MODE_PROP_ATOMIC | DRM_MODE_PROP_BLOB,
- "solid_fill", 0);
- if (!prop)
- return -ENOMEM;
-
- drm_object_attach_property(&plane->base, prop, 0);
- plane->solid_fill_property = prop;
-
- return 0;
-}
-EXPORT_SYMBOL(drm_plane_create_solid_fill_property);