diff mbox series

[2/5] drm/komeda: remove slave_planes property

Message ID 20190705121006.26085-2-daniel.vetter@ffwll.ch (mailing list archive)
State New, archived
Headers show
Series [1/5] drm/komeda: Remove clock ratio property | expand

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:

- To make plane configuration less surprising to userspace you
  propably need to virtualize planes, and reorder which logical plane
  you map to which physical one dynamically. Instead of exposing a
  komeda-specific limitation to userspace and expecting them to dtrt.
  I think msm and rcar-du do that already (and others), if you need
  people to chat with or example code.

- If this is needed for validation, again ->atomic_print_state and the
  infrastructure around that is your friend.

Fixes: 3b9dfa4ef28c ("drm/komeda: Add slave pipeline 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_crtc.c  | 24 -------------------
 .../gpu/drm/arm/display/komeda/komeda_kms.h   |  3 ---
 2 files changed, 27 deletions(-)

Comments

James Qian Wang July 9, 2019, 8:07 a.m. UTC | #1
On Fri, Jul 05, 2019 at 02:10:03PM +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:
> 
> - To make plane configuration less surprising to userspace you
>   propably need to virtualize planes, and reorder which logical plane
>   you map to which physical one dynamically. Instead of exposing a
>   komeda-specific limitation to userspace and expecting them to dtrt.
>   I think msm and rcar-du do that already (and others), if you need
>   people to chat with or example code.
> 
> - If this is needed for validation, again ->atomic_print_state and the
>   infrastructure around that is your friend.
> 
> Fixes: 3b9dfa4ef28c ("drm/komeda: Add slave pipeline 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_crtc.c  | 24 -------------------
>  .../gpu/drm/arm/display/komeda/komeda_kms.h   |  3 ---
>  2 files changed, 27 deletions(-)
> 
> diff --git a/drivers/gpu/drm/arm/display/komeda/komeda_crtc.c b/drivers/gpu/drm/arm/display/komeda/komeda_crtc.c
> index e852dc27f1b8..f4400788ab94 100644
> --- a/drivers/gpu/drm/arm/display/komeda/komeda_crtc.c
> +++ b/drivers/gpu/drm/arm/display/komeda/komeda_crtc.c
> @@ -499,26 +499,6 @@ int komeda_kms_setup_crtcs(struct komeda_kms_dev *kms,
>  	return 0;
>  }
>  
> -static int komeda_crtc_create_slave_planes_property(struct komeda_crtc *kcrtc)
> -{
> -	struct drm_crtc *crtc = &kcrtc->base;
> -	struct drm_property *prop;
> -
> -	if (kcrtc->slave_planes == 0)
> -		return 0;
> -
> -	prop = drm_property_create_range(crtc->dev, DRM_MODE_PROP_IMMUTABLE,
> -					 "slave_planes", 0, U32_MAX);
> -	if (!prop)
> -		return -ENOMEM;
> -
> -	drm_object_attach_property(&crtc->base, prop, kcrtc->slave_planes);
> -
> -	kcrtc->slave_planes_property = prop;
> -
> -	return 0;
> -}
> -
>  static struct drm_plane *
>  get_crtc_primary(struct komeda_kms_dev *kms, struct komeda_crtc *crtc)
>  {
> @@ -555,10 +535,6 @@ static int komeda_crtc_add(struct komeda_kms_dev *kms,
>  
>  	crtc->port = kcrtc->master->of_output_port;
>  
> -	err = komeda_crtc_create_slave_planes_property(kcrtc);
> -	if (err)
> -		return err;
> -
>  	return err;
>  }
>  
> diff --git a/drivers/gpu/drm/arm/display/komeda/komeda_kms.h b/drivers/gpu/drm/arm/display/komeda/komeda_kms.h
> index 2775f34bf4ab..c545cb963d40 100644
> --- a/drivers/gpu/drm/arm/display/komeda/komeda_kms.h
> +++ b/drivers/gpu/drm/arm/display/komeda/komeda_kms.h
> @@ -94,9 +94,6 @@ struct komeda_crtc {
>  
>  	/** @disable_done: this flip_done is for tracing the disable */
>  	struct completion *disable_done;
> -
> -	/** @slave_planes_property: property for slaves of the planes */
> -	struct drm_property *slave_planes_property;
>  };
>  
>  /**
> -- 
> 2.20.1
diff mbox series

Patch

diff --git a/drivers/gpu/drm/arm/display/komeda/komeda_crtc.c b/drivers/gpu/drm/arm/display/komeda/komeda_crtc.c
index e852dc27f1b8..f4400788ab94 100644
--- a/drivers/gpu/drm/arm/display/komeda/komeda_crtc.c
+++ b/drivers/gpu/drm/arm/display/komeda/komeda_crtc.c
@@ -499,26 +499,6 @@  int komeda_kms_setup_crtcs(struct komeda_kms_dev *kms,
 	return 0;
 }
 
-static int komeda_crtc_create_slave_planes_property(struct komeda_crtc *kcrtc)
-{
-	struct drm_crtc *crtc = &kcrtc->base;
-	struct drm_property *prop;
-
-	if (kcrtc->slave_planes == 0)
-		return 0;
-
-	prop = drm_property_create_range(crtc->dev, DRM_MODE_PROP_IMMUTABLE,
-					 "slave_planes", 0, U32_MAX);
-	if (!prop)
-		return -ENOMEM;
-
-	drm_object_attach_property(&crtc->base, prop, kcrtc->slave_planes);
-
-	kcrtc->slave_planes_property = prop;
-
-	return 0;
-}
-
 static struct drm_plane *
 get_crtc_primary(struct komeda_kms_dev *kms, struct komeda_crtc *crtc)
 {
@@ -555,10 +535,6 @@  static int komeda_crtc_add(struct komeda_kms_dev *kms,
 
 	crtc->port = kcrtc->master->of_output_port;
 
-	err = komeda_crtc_create_slave_planes_property(kcrtc);
-	if (err)
-		return err;
-
 	return err;
 }
 
diff --git a/drivers/gpu/drm/arm/display/komeda/komeda_kms.h b/drivers/gpu/drm/arm/display/komeda/komeda_kms.h
index 2775f34bf4ab..c545cb963d40 100644
--- a/drivers/gpu/drm/arm/display/komeda/komeda_kms.h
+++ b/drivers/gpu/drm/arm/display/komeda/komeda_kms.h
@@ -94,9 +94,6 @@  struct komeda_crtc {
 
 	/** @disable_done: this flip_done is for tracing the disable */
 	struct completion *disable_done;
-
-	/** @slave_planes_property: property for slaves of the planes */
-	struct drm_property *slave_planes_property;
 };
 
 /**