[REBASED,1/2] drm/i915: Move intel_add_dsi_properties to intel_dsi

Submitted by Jani Nikula on June 10, 2019, 7:45 p.m.

Details

Message ID 20190610194515.7030-1-jani.nikula@intel.com
State New
Headers show
Series "Series without cover letter" ( rev: 1 ) in Intel GFX

Not browsing as part of any series.

Commit Message

Jani Nikula June 10, 2019, 7:45 p.m.
From: Vandita Kulkarni <vandita.kulkarni@intel.com>

Since intel_add_dsi_properties will be used by other
platforms too move it out of platform specific file.

Signed-off-by: Vandita Kulkarni <vandita.kulkarni@intel.com>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
 drivers/gpu/drm/i915/intel_dsi.c | 32 ++++++++++++++++++++++++
 drivers/gpu/drm/i915/intel_dsi.h |  3 +++
 drivers/gpu/drm/i915/vlv_dsi.c   | 42 +-------------------------------
 3 files changed, 36 insertions(+), 41 deletions(-)

Patch hide | download patch | download mbox

diff --git a/drivers/gpu/drm/i915/intel_dsi.c b/drivers/gpu/drm/i915/intel_dsi.c
index 5fec02aceaed..26124a8fe531 100644
--- a/drivers/gpu/drm/i915/intel_dsi.c
+++ b/drivers/gpu/drm/i915/intel_dsi.c
@@ -116,6 +116,12 @@  intel_dsi_get_panel_orientation(struct intel_connector *connector)
 	struct drm_i915_private *dev_priv = to_i915(connector->base.dev);
 	enum drm_panel_orientation orientation;
 
+	if (IS_VALLEYVIEW(dev_priv) || IS_CHERRYVIEW(dev_priv)) {
+		orientation = vlv_dsi_get_hw_panel_orientation(connector);
+		if (orientation != DRM_MODE_PANEL_ORIENTATION_UNKNOWN)
+			return orientation;
+	}
+
 	orientation = dev_priv->vbt.dsi.orientation;
 	if (orientation != DRM_MODE_PANEL_ORIENTATION_UNKNOWN)
 		return orientation;
@@ -126,3 +132,29 @@  intel_dsi_get_panel_orientation(struct intel_connector *connector)
 
 	return DRM_MODE_PANEL_ORIENTATION_NORMAL;
 }
+
+void intel_dsi_add_properties(struct intel_connector *connector)
+{
+	struct drm_i915_private *dev_priv = to_i915(connector->base.dev);
+
+	if (connector->panel.fixed_mode) {
+		u32 allowed_scalers;
+
+		allowed_scalers = BIT(DRM_MODE_SCALE_ASPECT) |
+					BIT(DRM_MODE_SCALE_FULLSCREEN);
+		if (!HAS_GMCH(dev_priv))
+			allowed_scalers |= BIT(DRM_MODE_SCALE_CENTER);
+
+		drm_connector_attach_scaling_mode_property(&connector->base,
+								allowed_scalers);
+
+		connector->base.state->scaling_mode = DRM_MODE_SCALE_ASPECT;
+
+		connector->base.display_info.panel_orientation =
+			intel_dsi_get_panel_orientation(connector);
+		drm_connector_init_panel_orientation_property(
+				&connector->base,
+				connector->panel.fixed_mode->hdisplay,
+				connector->panel.fixed_mode->vdisplay);
+	}
+}
diff --git a/drivers/gpu/drm/i915/intel_dsi.h b/drivers/gpu/drm/i915/intel_dsi.h
index 6d20434636cd..11f7bfb28299 100644
--- a/drivers/gpu/drm/i915/intel_dsi.h
+++ b/drivers/gpu/drm/i915/intel_dsi.h
@@ -162,6 +162,7 @@  int intel_dsi_bitrate(const struct intel_dsi *intel_dsi);
 int intel_dsi_tlpx_ns(const struct intel_dsi *intel_dsi);
 enum drm_panel_orientation
 intel_dsi_get_panel_orientation(struct intel_connector *connector);
+void intel_dsi_add_properties(struct intel_connector *connector);
 
 /* vlv_dsi.c */
 void vlv_dsi_wait_for_fifo_empty(struct intel_dsi *intel_dsi, enum port port);
@@ -173,6 +174,8 @@  struct intel_dsi_host *intel_dsi_host_init(struct intel_dsi *intel_dsi,
 					   const struct mipi_dsi_host_ops *funcs,
 					   enum port port);
 void vlv_dsi_init(struct drm_i915_private *dev_priv);
+enum drm_panel_orientation
+vlv_dsi_get_hw_panel_orientation(struct intel_connector *connector);
 
 /* vlv_dsi_pll.c */
 int vlv_dsi_pll_compute(struct intel_encoder *encoder,
diff --git a/drivers/gpu/drm/i915/vlv_dsi.c b/drivers/gpu/drm/i915/vlv_dsi.c
index e272d826210a..9f911623d685 100644
--- a/drivers/gpu/drm/i915/vlv_dsi.c
+++ b/drivers/gpu/drm/i915/vlv_dsi.c
@@ -1591,7 +1591,7 @@  static const struct drm_connector_funcs intel_dsi_connector_funcs = {
 	.atomic_duplicate_state = intel_digital_connector_duplicate_state,
 };
 
-static enum drm_panel_orientation
+enum drm_panel_orientation
 vlv_dsi_get_hw_panel_orientation(struct intel_connector *connector)
 {
 	struct drm_i915_private *dev_priv = to_i915(connector->base.dev);
@@ -1629,46 +1629,6 @@  vlv_dsi_get_hw_panel_orientation(struct intel_connector *connector)
 	return orientation;
 }
 
-static enum drm_panel_orientation
-vlv_dsi_get_panel_orientation(struct intel_connector *connector)
-{
-	struct drm_i915_private *dev_priv = to_i915(connector->base.dev);
-	enum drm_panel_orientation orientation;
-
-	if (IS_VALLEYVIEW(dev_priv) || IS_CHERRYVIEW(dev_priv)) {
-		orientation = vlv_dsi_get_hw_panel_orientation(connector);
-		if (orientation != DRM_MODE_PANEL_ORIENTATION_UNKNOWN)
-			return orientation;
-	}
-
-	return intel_dsi_get_panel_orientation(connector);
-}
-
-static void intel_dsi_add_properties(struct intel_connector *connector)
-{
-	struct drm_i915_private *dev_priv = to_i915(connector->base.dev);
-
-	if (connector->panel.fixed_mode) {
-		u32 allowed_scalers;
-
-		allowed_scalers = BIT(DRM_MODE_SCALE_ASPECT) | BIT(DRM_MODE_SCALE_FULLSCREEN);
-		if (!HAS_GMCH(dev_priv))
-			allowed_scalers |= BIT(DRM_MODE_SCALE_CENTER);
-
-		drm_connector_attach_scaling_mode_property(&connector->base,
-								allowed_scalers);
-
-		connector->base.state->scaling_mode = DRM_MODE_SCALE_ASPECT;
-
-		connector->base.display_info.panel_orientation =
-			vlv_dsi_get_panel_orientation(connector);
-		drm_connector_init_panel_orientation_property(
-				&connector->base,
-				connector->panel.fixed_mode->hdisplay,
-				connector->panel.fixed_mode->vdisplay);
-	}
-}
-
 #define NS_KHZ_RATIO		1000000
 
 #define PREPARE_CNT_MAX		0x3F

Comments

On Mon, Jun 10, 2019 at 10:45:14PM +0300, Jani Nikula wrote:
> From: Vandita Kulkarni <vandita.kulkarni@intel.com>
> 
> Since intel_add_dsi_properties will be used by other
> platforms too move it out of platform specific file.
> 
> Signed-off-by: Vandita Kulkarni <vandita.kulkarni@intel.com>
> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
> ---
>  drivers/gpu/drm/i915/intel_dsi.c | 32 ++++++++++++++++++++++++
>  drivers/gpu/drm/i915/intel_dsi.h |  3 +++
>  drivers/gpu/drm/i915/vlv_dsi.c   | 42 +-------------------------------
>  3 files changed, 36 insertions(+), 41 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/intel_dsi.c b/drivers/gpu/drm/i915/intel_dsi.c
> index 5fec02aceaed..26124a8fe531 100644
> --- a/drivers/gpu/drm/i915/intel_dsi.c
> +++ b/drivers/gpu/drm/i915/intel_dsi.c
> @@ -116,6 +116,12 @@ intel_dsi_get_panel_orientation(struct intel_connector *connector)
>  	struct drm_i915_private *dev_priv = to_i915(connector->base.dev);
>  	enum drm_panel_orientation orientation;
>  
> +	if (IS_VALLEYVIEW(dev_priv) || IS_CHERRYVIEW(dev_priv)) {
> +		orientation = vlv_dsi_get_hw_panel_orientation(connector);
> +		if (orientation != DRM_MODE_PANEL_ORIENTATION_UNKNOWN)
> +			return orientation;
> +	}
> +
>  	orientation = dev_priv->vbt.dsi.orientation;
>  	if (orientation != DRM_MODE_PANEL_ORIENTATION_UNKNOWN)
>  		return orientation;
> @@ -126,3 +132,29 @@ intel_dsi_get_panel_orientation(struct intel_connector *connector)
>  
>  	return DRM_MODE_PANEL_ORIENTATION_NORMAL;
>  }
> +
> +void intel_dsi_add_properties(struct intel_connector *connector)
> +{
> +	struct drm_i915_private *dev_priv = to_i915(connector->base.dev);
> +
> +	if (connector->panel.fixed_mode) {
> +		u32 allowed_scalers;
> +
> +		allowed_scalers = BIT(DRM_MODE_SCALE_ASPECT) |
> +					BIT(DRM_MODE_SCALE_FULLSCREEN);
> +		if (!HAS_GMCH(dev_priv))
> +			allowed_scalers |= BIT(DRM_MODE_SCALE_CENTER);
> +
> +		drm_connector_attach_scaling_mode_property(&connector->base,
> +								allowed_scalers);
> +
> +		connector->base.state->scaling_mode = DRM_MODE_SCALE_ASPECT;
> +
> +		connector->base.display_info.panel_orientation =
> +			intel_dsi_get_panel_orientation(connector);
> +		drm_connector_init_panel_orientation_property(
> +				&connector->base,
> +				connector->panel.fixed_mode->hdisplay,
> +				connector->panel.fixed_mode->vdisplay);

I think I'd rather just duplicate the required parts in the icl code.
That way we don't have to have VLV/CHV specific stuff in the generic
code.

> +	}
> +}
> diff --git a/drivers/gpu/drm/i915/intel_dsi.h b/drivers/gpu/drm/i915/intel_dsi.h
> index 6d20434636cd..11f7bfb28299 100644
> --- a/drivers/gpu/drm/i915/intel_dsi.h
> +++ b/drivers/gpu/drm/i915/intel_dsi.h
> @@ -162,6 +162,7 @@ int intel_dsi_bitrate(const struct intel_dsi *intel_dsi);
>  int intel_dsi_tlpx_ns(const struct intel_dsi *intel_dsi);
>  enum drm_panel_orientation
>  intel_dsi_get_panel_orientation(struct intel_connector *connector);
> +void intel_dsi_add_properties(struct intel_connector *connector);
>  
>  /* vlv_dsi.c */
>  void vlv_dsi_wait_for_fifo_empty(struct intel_dsi *intel_dsi, enum port port);
> @@ -173,6 +174,8 @@ struct intel_dsi_host *intel_dsi_host_init(struct intel_dsi *intel_dsi,
>  					   const struct mipi_dsi_host_ops *funcs,
>  					   enum port port);
>  void vlv_dsi_init(struct drm_i915_private *dev_priv);
> +enum drm_panel_orientation
> +vlv_dsi_get_hw_panel_orientation(struct intel_connector *connector);
>  
>  /* vlv_dsi_pll.c */
>  int vlv_dsi_pll_compute(struct intel_encoder *encoder,
> diff --git a/drivers/gpu/drm/i915/vlv_dsi.c b/drivers/gpu/drm/i915/vlv_dsi.c
> index e272d826210a..9f911623d685 100644
> --- a/drivers/gpu/drm/i915/vlv_dsi.c
> +++ b/drivers/gpu/drm/i915/vlv_dsi.c
> @@ -1591,7 +1591,7 @@ static const struct drm_connector_funcs intel_dsi_connector_funcs = {
>  	.atomic_duplicate_state = intel_digital_connector_duplicate_state,
>  };
>  
> -static enum drm_panel_orientation
> +enum drm_panel_orientation
>  vlv_dsi_get_hw_panel_orientation(struct intel_connector *connector)
>  {
>  	struct drm_i915_private *dev_priv = to_i915(connector->base.dev);
> @@ -1629,46 +1629,6 @@ vlv_dsi_get_hw_panel_orientation(struct intel_connector *connector)
>  	return orientation;
>  }
>  
> -static enum drm_panel_orientation
> -vlv_dsi_get_panel_orientation(struct intel_connector *connector)
> -{
> -	struct drm_i915_private *dev_priv = to_i915(connector->base.dev);
> -	enum drm_panel_orientation orientation;
> -
> -	if (IS_VALLEYVIEW(dev_priv) || IS_CHERRYVIEW(dev_priv)) {
> -		orientation = vlv_dsi_get_hw_panel_orientation(connector);
> -		if (orientation != DRM_MODE_PANEL_ORIENTATION_UNKNOWN)
> -			return orientation;
> -	}
> -
> -	return intel_dsi_get_panel_orientation(connector);
> -}
> -
> -static void intel_dsi_add_properties(struct intel_connector *connector)
> -{
> -	struct drm_i915_private *dev_priv = to_i915(connector->base.dev);
> -
> -	if (connector->panel.fixed_mode) {
> -		u32 allowed_scalers;
> -
> -		allowed_scalers = BIT(DRM_MODE_SCALE_ASPECT) | BIT(DRM_MODE_SCALE_FULLSCREEN);
> -		if (!HAS_GMCH(dev_priv))
> -			allowed_scalers |= BIT(DRM_MODE_SCALE_CENTER);
> -
> -		drm_connector_attach_scaling_mode_property(&connector->base,
> -								allowed_scalers);
> -
> -		connector->base.state->scaling_mode = DRM_MODE_SCALE_ASPECT;
> -
> -		connector->base.display_info.panel_orientation =
> -			vlv_dsi_get_panel_orientation(connector);
> -		drm_connector_init_panel_orientation_property(
> -				&connector->base,
> -				connector->panel.fixed_mode->hdisplay,
> -				connector->panel.fixed_mode->vdisplay);
> -	}
> -}
> -
>  #define NS_KHZ_RATIO		1000000
>  
>  #define PREPARE_CNT_MAX		0x3F
> -- 
> 2.20.1
> 
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
> -----Original Message-----

> From: Intel-gfx <intel-gfx-bounces@lists.freedesktop.org> On Behalf Of Ville

> Syrjälä

> Sent: Tuesday, June 11, 2019 5:52 PM

> To: Nikula, Jani <jani.nikula@intel.com>

> Cc: intel-gfx@lists.freedesktop.org

> Subject: Re: [Intel-gfx] [REBASED PATCH 1/2] drm/i915: Move

> intel_add_dsi_properties to intel_dsi

> 

> On Mon, Jun 10, 2019 at 10:45:14PM +0300, Jani Nikula wrote:

> > From: Vandita Kulkarni <vandita.kulkarni@intel.com>

> >

> > Since intel_add_dsi_properties will be used by other platforms too

> > move it out of platform specific file.

> >

> > Signed-off-by: Vandita Kulkarni <vandita.kulkarni@intel.com>

> > Signed-off-by: Jani Nikula <jani.nikula@intel.com>

> > ---

> >  drivers/gpu/drm/i915/intel_dsi.c | 32 ++++++++++++++++++++++++

> > drivers/gpu/drm/i915/intel_dsi.h |  3 +++

> >  drivers/gpu/drm/i915/vlv_dsi.c   | 42 +-------------------------------

> >  3 files changed, 36 insertions(+), 41 deletions(-)

> >

> > diff --git a/drivers/gpu/drm/i915/intel_dsi.c

> > b/drivers/gpu/drm/i915/intel_dsi.c

> > index 5fec02aceaed..26124a8fe531 100644

> > --- a/drivers/gpu/drm/i915/intel_dsi.c

> > +++ b/drivers/gpu/drm/i915/intel_dsi.c

> > @@ -116,6 +116,12 @@ intel_dsi_get_panel_orientation(struct

> intel_connector *connector)

> >  	struct drm_i915_private *dev_priv = to_i915(connector->base.dev);

> >  	enum drm_panel_orientation orientation;

> >

> > +	if (IS_VALLEYVIEW(dev_priv) || IS_CHERRYVIEW(dev_priv)) {

> > +		orientation = vlv_dsi_get_hw_panel_orientation(connector);

> > +		if (orientation !=

> DRM_MODE_PANEL_ORIENTATION_UNKNOWN)

> > +			return orientation;

> > +	}

> > +

> >  	orientation = dev_priv->vbt.dsi.orientation;

> >  	if (orientation != DRM_MODE_PANEL_ORIENTATION_UNKNOWN)

> >  		return orientation;

> > @@ -126,3 +132,29 @@ intel_dsi_get_panel_orientation(struct

> > intel_connector *connector)

> >

> >  	return DRM_MODE_PANEL_ORIENTATION_NORMAL;

> >  }

> > +

> > +void intel_dsi_add_properties(struct intel_connector *connector) {

> > +	struct drm_i915_private *dev_priv = to_i915(connector->base.dev);

> > +

> > +	if (connector->panel.fixed_mode) {

> > +		u32 allowed_scalers;

> > +

> > +		allowed_scalers = BIT(DRM_MODE_SCALE_ASPECT) |

> > +					BIT(DRM_MODE_SCALE_FULLSCREEN);

> > +		if (!HAS_GMCH(dev_priv))

> > +			allowed_scalers |= BIT(DRM_MODE_SCALE_CENTER);

> > +

> > +		drm_connector_attach_scaling_mode_property(&connector-

> >base,

> > +

> 	allowed_scalers);

> > +

> > +		connector->base.state->scaling_mode =

> DRM_MODE_SCALE_ASPECT;

> > +

> > +		connector->base.display_info.panel_orientation =

> > +			intel_dsi_get_panel_orientation(connector);

> > +		drm_connector_init_panel_orientation_property(

> > +				&connector->base,

> > +				connector->panel.fixed_mode->hdisplay,

> > +				connector->panel.fixed_mode->vdisplay);

> 

> I think I'd rather just duplicate the required parts in the icl code.

> That way we don't have to have VLV/CHV specific stuff in the generic code.

Okay, will make the change.
Thanks
Vandita

> 

> > +	}

> > +}

> > diff --git a/drivers/gpu/drm/i915/intel_dsi.h

> > b/drivers/gpu/drm/i915/intel_dsi.h

> > index 6d20434636cd..11f7bfb28299 100644

> > --- a/drivers/gpu/drm/i915/intel_dsi.h

> > +++ b/drivers/gpu/drm/i915/intel_dsi.h

> > @@ -162,6 +162,7 @@ int intel_dsi_bitrate(const struct intel_dsi

> > *intel_dsi);  int intel_dsi_tlpx_ns(const struct intel_dsi

> > *intel_dsi);  enum drm_panel_orientation

> > intel_dsi_get_panel_orientation(struct intel_connector *connector);

> > +void intel_dsi_add_properties(struct intel_connector *connector);

> >

> >  /* vlv_dsi.c */

> >  void vlv_dsi_wait_for_fifo_empty(struct intel_dsi *intel_dsi, enum

> > port port); @@ -173,6 +174,8 @@ struct intel_dsi_host

> *intel_dsi_host_init(struct intel_dsi *intel_dsi,

> >  					   const struct mipi_dsi_host_ops

> *funcs,

> >  					   enum port port);

> >  void vlv_dsi_init(struct drm_i915_private *dev_priv);

> > +enum drm_panel_orientation

> > +vlv_dsi_get_hw_panel_orientation(struct intel_connector *connector);

> >

> >  /* vlv_dsi_pll.c */

> >  int vlv_dsi_pll_compute(struct intel_encoder *encoder, diff --git

> > a/drivers/gpu/drm/i915/vlv_dsi.c b/drivers/gpu/drm/i915/vlv_dsi.c

> > index e272d826210a..9f911623d685 100644

> > --- a/drivers/gpu/drm/i915/vlv_dsi.c

> > +++ b/drivers/gpu/drm/i915/vlv_dsi.c

> > @@ -1591,7 +1591,7 @@ static const struct drm_connector_funcs

> intel_dsi_connector_funcs = {

> >  	.atomic_duplicate_state = intel_digital_connector_duplicate_state,

> >  };

> >

> > -static enum drm_panel_orientation

> > +enum drm_panel_orientation

> >  vlv_dsi_get_hw_panel_orientation(struct intel_connector *connector)

> > {

> >  	struct drm_i915_private *dev_priv = to_i915(connector->base.dev);

> @@

> > -1629,46 +1629,6 @@ vlv_dsi_get_hw_panel_orientation(struct

> intel_connector *connector)

> >  	return orientation;

> >  }

> >

> > -static enum drm_panel_orientation

> > -vlv_dsi_get_panel_orientation(struct intel_connector *connector) -{

> > -	struct drm_i915_private *dev_priv = to_i915(connector->base.dev);

> > -	enum drm_panel_orientation orientation;

> > -

> > -	if (IS_VALLEYVIEW(dev_priv) || IS_CHERRYVIEW(dev_priv)) {

> > -		orientation = vlv_dsi_get_hw_panel_orientation(connector);

> > -		if (orientation !=

> DRM_MODE_PANEL_ORIENTATION_UNKNOWN)

> > -			return orientation;

> > -	}

> > -

> > -	return intel_dsi_get_panel_orientation(connector);

> > -}

> > -

> > -static void intel_dsi_add_properties(struct intel_connector

> > *connector) -{

> > -	struct drm_i915_private *dev_priv = to_i915(connector->base.dev);

> > -

> > -	if (connector->panel.fixed_mode) {

> > -		u32 allowed_scalers;

> > -

> > -		allowed_scalers = BIT(DRM_MODE_SCALE_ASPECT) |

> BIT(DRM_MODE_SCALE_FULLSCREEN);

> > -		if (!HAS_GMCH(dev_priv))

> > -			allowed_scalers |= BIT(DRM_MODE_SCALE_CENTER);

> > -

> > -		drm_connector_attach_scaling_mode_property(&connector-

> >base,

> > -

> 	allowed_scalers);

> > -

> > -		connector->base.state->scaling_mode =

> DRM_MODE_SCALE_ASPECT;

> > -

> > -		connector->base.display_info.panel_orientation =

> > -			vlv_dsi_get_panel_orientation(connector);

> > -		drm_connector_init_panel_orientation_property(

> > -				&connector->base,

> > -				connector->panel.fixed_mode->hdisplay,

> > -				connector->panel.fixed_mode->vdisplay);

> > -	}

> > -}

> > -

> >  #define NS_KHZ_RATIO		1000000

> >

> >  #define PREPARE_CNT_MAX		0x3F

> > --

> > 2.20.1

> >

> > _______________________________________________

> > Intel-gfx mailing list

> > Intel-gfx@lists.freedesktop.org

> > https://lists.freedesktop.org/mailman/listinfo/intel-gfx

> 

> --

> Ville Syrjälä

> Intel

> _______________________________________________

> Intel-gfx mailing list

> Intel-gfx@lists.freedesktop.org

> https://lists.freedesktop.org/mailman/listinfo/intel-gfx