[3/5] drm/komeda: remove img_enhancement property
diff mbox series

Message ID 20190705121006.26085-3-daniel.vetter@ffwll.ch
State New
Headers show
Series
  • [1/5] drm/komeda: Remove clock ratio property
Related show

Commit Message

Daniel Vetter July 5, 2019, 12:10 p.m. UTC
Properties are uapi like anything else, with all the usual rules
regarding review, testcases, open source userspace ... Furthermore
driver-private kms properties are highly discouraged, over the past
few years we've realized we need to make a serious effort at better
standardizing this stuff.

Again this probably needs multiple pieces to solve this properly:

- Instead of expecting userspace to compute this (and duplicating
  modeset code), the kernel driver should compute when it's possible
  to enable this better up/downscale mode (assuming I understood
  Liviu correctly on what this does) automatically.

- If this is needed for validation then you want a debugfs file to
  force this one way or the other, or alternatively  use
  ->atomic_print_state to dump such hidden driver-private state.
  Depends upon how you do your validation ofc.

Fixes: 42b6f118f6d1 ("drm/komeda: Add image enhancement support")
Cc: Lowry Li (Arm Technology China) <lowry.li@arm.com>
Cc: James Qian Wang (Arm Technology China) <james.qian.wang@arm.com>
Cc: Liviu Dudau <liviu.dudau@arm.com>
Cc: Mali DP Maintainers <malidp@foss.arm.com>
Cc: Brian Starkey <brian.starkey@arm.com>
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
---
 .../gpu/drm/arm/display/komeda/komeda_kms.h   |  2 --
 .../gpu/drm/arm/display/komeda/komeda_plane.c | 19 ++-----------------
 2 files changed, 2 insertions(+), 19 deletions(-)

Comments

james qian wang (Arm Technology China) July 9, 2019, 8:08 a.m. UTC | #1
On Fri, Jul 05, 2019 at 02:10:04PM +0200, Daniel Vetter wrote:
> Properties are uapi like anything else, with all the usual rules
> regarding review, testcases, open source userspace ... Furthermore
> driver-private kms properties are highly discouraged, over the past
> few years we've realized we need to make a serious effort at better
> standardizing this stuff.
> 
> Again this probably needs multiple pieces to solve this properly:
> 
> - Instead of expecting userspace to compute this (and duplicating
>   modeset code), the kernel driver should compute when it's possible
>   to enable this better up/downscale mode (assuming I understood
>   Liviu correctly on what this does) automatically.
> 
> - If this is needed for validation then you want a debugfs file to
>   force this one way or the other, or alternatively  use
>   ->atomic_print_state to dump such hidden driver-private state.
>   Depends upon how you do your validation ofc.
> 
> Fixes: 42b6f118f6d1 ("drm/komeda: Add image enhancement support")
> Cc: Lowry Li (Arm Technology China) <lowry.li@arm.com>
> Cc: James Qian Wang (Arm Technology China) <james.qian.wang@arm.com>
> Cc: Liviu Dudau <liviu.dudau@arm.com>
> Cc: Mali DP Maintainers <malidp@foss.arm.com>
> Cc: Brian Starkey <brian.starkey@arm.com>
> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>

Hi Daniel:
Thank you for the patch!

Reviewed-by: James Qian Wang (Arm Technology China) <james.qian.wang@arm.com>

> ---
>  .../gpu/drm/arm/display/komeda/komeda_kms.h   |  2 --
>  .../gpu/drm/arm/display/komeda/komeda_plane.c | 19 ++-----------------
>  2 files changed, 2 insertions(+), 19 deletions(-)
> 
> diff --git a/drivers/gpu/drm/arm/display/komeda/komeda_kms.h b/drivers/gpu/drm/arm/display/komeda/komeda_kms.h
> index c545cb963d40..fb2adc233760 100644
> --- a/drivers/gpu/drm/arm/display/komeda/komeda_kms.h
> +++ b/drivers/gpu/drm/arm/display/komeda/komeda_kms.h
> @@ -34,8 +34,6 @@ struct komeda_plane {
>  	 */
>  	struct komeda_layer *layer;
>  
> -	/** @prop_img_enhancement: for on/off image enhancement */
> -	struct drm_property *prop_img_enhancement;
>  	/** @prop_layer_split: for on/off layer_split */
>  	struct drm_property *prop_layer_split;
>  };
> diff --git a/drivers/gpu/drm/arm/display/komeda/komeda_plane.c b/drivers/gpu/drm/arm/display/komeda/komeda_plane.c
> index 04b122f28fb6..23db38650a46 100644
> --- a/drivers/gpu/drm/arm/display/komeda/komeda_plane.c
> +++ b/drivers/gpu/drm/arm/display/komeda/komeda_plane.c
> @@ -197,9 +197,7 @@ komeda_plane_atomic_get_property(struct drm_plane *plane,
>  	struct komeda_plane *kplane = to_kplane(plane);
>  	struct komeda_plane_state *st = to_kplane_st(state);
>  
> -	if (property == kplane->prop_img_enhancement)
> -		*val = st->img_enhancement;
> -	else if (property == kplane->prop_layer_split)
> +	if (property == kplane->prop_layer_split)
>  		*val = st->layer_split;
>  	else
>  		return -EINVAL;
> @@ -216,9 +214,7 @@ komeda_plane_atomic_set_property(struct drm_plane *plane,
>  	struct komeda_plane *kplane = to_kplane(plane);
>  	struct komeda_plane_state *st = to_kplane_st(state);
>  
> -	if (property == kplane->prop_img_enhancement)
> -		st->img_enhancement = !!val;
> -	else if (property == kplane->prop_layer_split)
> +	if (property == kplane->prop_layer_split)
>  		st->layer_split = !!val;
>  	else
>  		return -EINVAL;
> @@ -258,17 +254,6 @@ komeda_plane_create_layer_properties(struct komeda_plane *kplane,
>  	struct drm_plane *plane = &kplane->base;
>  	struct drm_property *prop = NULL;
>  
> -	/* property: layer image_enhancement */
> -	if (layer->base.supported_outputs & KOMEDA_PIPELINE_SCALERS) {
> -		prop = drm_property_create_bool(drm, DRM_MODE_PROP_ATOMIC,
> -						"img_enhancement");
> -		if (!prop)
> -			return -ENOMEM;
> -
> -		drm_object_attach_property(&plane->base, prop, 0);
> -		kplane->prop_img_enhancement = prop;
> -	}
> -
>  	/* property: layer split */
>  	if (layer->right) {
>  		prop = drm_property_create_bool(drm, DRM_MODE_PROP_ATOMIC,
> -- 
> 2.20.1

Patch
diff mbox series

diff --git a/drivers/gpu/drm/arm/display/komeda/komeda_kms.h b/drivers/gpu/drm/arm/display/komeda/komeda_kms.h
index c545cb963d40..fb2adc233760 100644
--- a/drivers/gpu/drm/arm/display/komeda/komeda_kms.h
+++ b/drivers/gpu/drm/arm/display/komeda/komeda_kms.h
@@ -34,8 +34,6 @@  struct komeda_plane {
 	 */
 	struct komeda_layer *layer;
 
-	/** @prop_img_enhancement: for on/off image enhancement */
-	struct drm_property *prop_img_enhancement;
 	/** @prop_layer_split: for on/off layer_split */
 	struct drm_property *prop_layer_split;
 };
diff --git a/drivers/gpu/drm/arm/display/komeda/komeda_plane.c b/drivers/gpu/drm/arm/display/komeda/komeda_plane.c
index 04b122f28fb6..23db38650a46 100644
--- a/drivers/gpu/drm/arm/display/komeda/komeda_plane.c
+++ b/drivers/gpu/drm/arm/display/komeda/komeda_plane.c
@@ -197,9 +197,7 @@  komeda_plane_atomic_get_property(struct drm_plane *plane,
 	struct komeda_plane *kplane = to_kplane(plane);
 	struct komeda_plane_state *st = to_kplane_st(state);
 
-	if (property == kplane->prop_img_enhancement)
-		*val = st->img_enhancement;
-	else if (property == kplane->prop_layer_split)
+	if (property == kplane->prop_layer_split)
 		*val = st->layer_split;
 	else
 		return -EINVAL;
@@ -216,9 +214,7 @@  komeda_plane_atomic_set_property(struct drm_plane *plane,
 	struct komeda_plane *kplane = to_kplane(plane);
 	struct komeda_plane_state *st = to_kplane_st(state);
 
-	if (property == kplane->prop_img_enhancement)
-		st->img_enhancement = !!val;
-	else if (property == kplane->prop_layer_split)
+	if (property == kplane->prop_layer_split)
 		st->layer_split = !!val;
 	else
 		return -EINVAL;
@@ -258,17 +254,6 @@  komeda_plane_create_layer_properties(struct komeda_plane *kplane,
 	struct drm_plane *plane = &kplane->base;
 	struct drm_property *prop = NULL;
 
-	/* property: layer image_enhancement */
-	if (layer->base.supported_outputs & KOMEDA_PIPELINE_SCALERS) {
-		prop = drm_property_create_bool(drm, DRM_MODE_PROP_ATOMIC,
-						"img_enhancement");
-		if (!prop)
-			return -ENOMEM;
-
-		drm_object_attach_property(&plane->base, prop, 0);
-		kplane->prop_img_enhancement = prop;
-	}
-
 	/* property: layer split */
 	if (layer->right) {
 		prop = drm_property_create_bool(drm, DRM_MODE_PROP_ATOMIC,