diff mbox series

drm/i915: Nuke drm_crtc_state and use intel_atomic_state instead

Message ID 20190411230254.6357-1-manasi.d.navare@intel.com (mailing list archive)
State New, archived
Headers show
Series drm/i915: Nuke drm_crtc_state and use intel_atomic_state instead | expand

Commit Message

Navare, Manasi April 11, 2019, 11:02 p.m. UTC
This is one of the patches to start replacing drm pointers
and use the intel_atomic_state and intel_crtc to derive
the necessary intel state variables required for the intel
modeset functions.

Suggested-by: Ville Syrjala <ville.syrjala@linux.intel.com>
Cc: Ville Syrjala <ville.syrjala@linux.intel.com>
Signed-off-by: Manasi Navare <manasi.d.navare@intel.com>
---
 drivers/gpu/drm/i915/intel_display.c | 38 +++++++++++++---------------
 1 file changed, 18 insertions(+), 20 deletions(-)

Comments

Ville Syrjälä April 12, 2019, 6:11 a.m. UTC | #1
On Thu, Apr 11, 2019 at 04:02:54PM -0700, Manasi Navare wrote:
> This is one of the patches to start replacing drm pointers
> and use the intel_atomic_state and intel_crtc to derive
> the necessary intel state variables required for the intel
> modeset functions.
> 
> Suggested-by: Ville Syrjala <ville.syrjala@linux.intel.com>
> Cc: Ville Syrjala <ville.syrjala@linux.intel.com>
> Signed-off-by: Manasi Navare <manasi.d.navare@intel.com>
> ---
>  drivers/gpu/drm/i915/intel_display.c | 38 +++++++++++++---------------
>  1 file changed, 18 insertions(+), 20 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
> index f29a348e8d71..062b9e86a987 100644
> --- a/drivers/gpu/drm/i915/intel_display.c
> +++ b/drivers/gpu/drm/i915/intel_display.c
> @@ -125,8 +125,8 @@ static void vlv_prepare_pll(struct intel_crtc *crtc,
>  			    const struct intel_crtc_state *pipe_config);
>  static void chv_prepare_pll(struct intel_crtc *crtc,
>  			    const struct intel_crtc_state *pipe_config);
> -static void intel_begin_crtc_commit(struct drm_crtc *, struct drm_crtc_state *);
> -static void intel_finish_crtc_commit(struct drm_crtc *, struct drm_crtc_state *);
> +static void intel_begin_crtc_commit(struct intel_crtc *, struct intel_atomic_state *);
> +static void intel_finish_crtc_commit(struct intel_crtc *, struct intel_atomic_state *);
>  static void intel_crtc_init_scalers(struct intel_crtc *crtc,
>  				    struct intel_crtc_state *crtc_state);
>  static void skylake_pfit_enable(const struct intel_crtc_state *crtc_state);
> @@ -13273,14 +13273,14 @@ static void intel_update_crtc(struct drm_crtc *crtc,
>  	else if (new_plane_state)
>  		intel_fbc_enable(intel_crtc, pipe_config, new_plane_state);
>  
> -	intel_begin_crtc_commit(crtc, old_crtc_state);
> +	intel_begin_crtc_commit(intel_crtc, to_intel_atomic_state(state));
>  
>  	if (INTEL_GEN(dev_priv) >= 9)
>  		skl_update_planes_on_crtc(to_intel_atomic_state(state), intel_crtc);
>  	else
>  		i9xx_update_planes_on_crtc(to_intel_atomic_state(state), intel_crtc);
>  
> -	intel_finish_crtc_commit(crtc, old_crtc_state);
> +	intel_finish_crtc_commit(intel_crtc, to_intel_atomic_state(state));
>  }
>  
>  static void intel_update_crtcs(struct drm_atomic_state *state)
> @@ -14070,18 +14070,16 @@ skl_max_scale(const struct intel_crtc_state *crtc_state,
>  	return max_scale;
>  }
>  
> -static void intel_begin_crtc_commit(struct drm_crtc *crtc,
> -				    struct drm_crtc_state *old_crtc_state)
> +static void intel_begin_crtc_commit(struct intel_crtc *crtc,
> +				    struct intel_atomic_state *state)

Flip the arguments around to be consistent with existing code.

>  {
> -	struct drm_device *dev = crtc->dev;
> +	struct drm_device *dev = crtc->base.dev;

That can be killed as well.

>  	struct drm_i915_private *dev_priv = to_i915(dev);
> -	struct intel_crtc *intel_crtc = to_intel_crtc(crtc);
>  	struct intel_crtc_state *old_intel_cstate =

Please rename to old_crtc_state, and similarly for new_crtc_state.

> -		to_intel_crtc_state(old_crtc_state);
> -	struct intel_atomic_state *old_intel_state =
> -		to_intel_atomic_state(old_crtc_state->state);
> +		intel_atomic_get_old_crtc_state(state,
> +						crtc);

Too many newlines.

>  	struct intel_crtc_state *intel_cstate =
> -		intel_atomic_get_new_crtc_state(old_intel_state, intel_crtc);
> +		intel_atomic_get_new_crtc_state(state, crtc);
>  	bool modeset = needs_modeset(&intel_cstate->base);
>  
>  	/* Perform vblank evasion around commit operation */
> @@ -14101,7 +14099,7 @@ static void intel_begin_crtc_commit(struct drm_crtc *crtc,
>  
>  out:
>  	if (dev_priv->display.atomic_update_watermarks)
> -		dev_priv->display.atomic_update_watermarks(old_intel_state,
> +		dev_priv->display.atomic_update_watermarks(state,
>  							   intel_cstate);
>  }
>  
> @@ -14121,21 +14119,21 @@ void intel_crtc_arm_fifo_underrun(struct intel_crtc *crtc,
>  	}
>  }
>  
> -static void intel_finish_crtc_commit(struct drm_crtc *crtc,
> -				     struct drm_crtc_state *old_crtc_state)
> +static void intel_finish_crtc_commit(struct intel_crtc *crtc,
> +				     struct intel_atomic_state *state)
>  {
> -	struct intel_crtc *intel_crtc = to_intel_crtc(crtc);
> -	struct intel_atomic_state *old_intel_state =
> -		to_intel_atomic_state(old_crtc_state->state);
> +	struct drm_crtc_state *old_crtc_state =

Pls convert this to intel type as well.

> +		&intel_atomic_get_old_crtc_state(state,
> +						crtc)->base;
>  	struct intel_crtc_state *new_crtc_state =
> -		intel_atomic_get_new_crtc_state(old_intel_state, intel_crtc);
> +		intel_atomic_get_new_crtc_state(state, crtc);
>  
>  	intel_pipe_update_end(new_crtc_state);
>  
>  	if (new_crtc_state->update_pipe &&
>  	    !needs_modeset(&new_crtc_state->base) &&
>  	    old_crtc_state->mode.private_flags & I915_MODE_FLAG_INHERITED)
> -		intel_crtc_arm_fifo_underrun(intel_crtc, new_crtc_state);
> +		intel_crtc_arm_fifo_underrun(crtc, new_crtc_state);
>  }
>  
>  /**
> -- 
> 2.19.1
Navare, Manasi April 12, 2019, 7:58 p.m. UTC | #2
On Fri, Apr 12, 2019 at 09:11:58AM +0300, Ville Syrjälä wrote:
> On Thu, Apr 11, 2019 at 04:02:54PM -0700, Manasi Navare wrote:
> > This is one of the patches to start replacing drm pointers
> > and use the intel_atomic_state and intel_crtc to derive
> > the necessary intel state variables required for the intel
> > modeset functions.
> > 
> > Suggested-by: Ville Syrjala <ville.syrjala@linux.intel.com>
> > Cc: Ville Syrjala <ville.syrjala@linux.intel.com>
> > Signed-off-by: Manasi Navare <manasi.d.navare@intel.com>
> > ---
> >  drivers/gpu/drm/i915/intel_display.c | 38 +++++++++++++---------------
> >  1 file changed, 18 insertions(+), 20 deletions(-)
> > 
> > diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
> > index f29a348e8d71..062b9e86a987 100644
> > --- a/drivers/gpu/drm/i915/intel_display.c
> > +++ b/drivers/gpu/drm/i915/intel_display.c
> > @@ -125,8 +125,8 @@ static void vlv_prepare_pll(struct intel_crtc *crtc,
> >  			    const struct intel_crtc_state *pipe_config);
> >  static void chv_prepare_pll(struct intel_crtc *crtc,
> >  			    const struct intel_crtc_state *pipe_config);
> > -static void intel_begin_crtc_commit(struct drm_crtc *, struct drm_crtc_state *);
> > -static void intel_finish_crtc_commit(struct drm_crtc *, struct drm_crtc_state *);
> > +static void intel_begin_crtc_commit(struct intel_crtc *, struct intel_atomic_state *);
> > +static void intel_finish_crtc_commit(struct intel_crtc *, struct intel_atomic_state *);
> >  static void intel_crtc_init_scalers(struct intel_crtc *crtc,
> >  				    struct intel_crtc_state *crtc_state);
> >  static void skylake_pfit_enable(const struct intel_crtc_state *crtc_state);
> > @@ -13273,14 +13273,14 @@ static void intel_update_crtc(struct drm_crtc *crtc,
> >  	else if (new_plane_state)
> >  		intel_fbc_enable(intel_crtc, pipe_config, new_plane_state);
> >  
> > -	intel_begin_crtc_commit(crtc, old_crtc_state);
> > +	intel_begin_crtc_commit(intel_crtc, to_intel_atomic_state(state));
> >  
> >  	if (INTEL_GEN(dev_priv) >= 9)
> >  		skl_update_planes_on_crtc(to_intel_atomic_state(state), intel_crtc);
> >  	else
> >  		i9xx_update_planes_on_crtc(to_intel_atomic_state(state), intel_crtc);
> >  
> > -	intel_finish_crtc_commit(crtc, old_crtc_state);
> > +	intel_finish_crtc_commit(intel_crtc, to_intel_atomic_state(state));
> >  }
> >  
> >  static void intel_update_crtcs(struct drm_atomic_state *state)
> > @@ -14070,18 +14070,16 @@ skl_max_scale(const struct intel_crtc_state *crtc_state,
> >  	return max_scale;
> >  }
> >  
> > -static void intel_begin_crtc_commit(struct drm_crtc *crtc,
> > -				    struct drm_crtc_state *old_crtc_state)
> > +static void intel_begin_crtc_commit(struct intel_crtc *crtc,
> > +				    struct intel_atomic_state *state)
> 
> Flip the arguments around to be consistent with existing code.

But most functions have the modeset object (crtc, plane etc) as the first argument
then the state.
Do you still want to flip the arguments?

Manasi

> 
> >  {
> > -	struct drm_device *dev = crtc->dev;
> > +	struct drm_device *dev = crtc->base.dev;
> 
> That can be killed as well.
> 
> >  	struct drm_i915_private *dev_priv = to_i915(dev);
> > -	struct intel_crtc *intel_crtc = to_intel_crtc(crtc);
> >  	struct intel_crtc_state *old_intel_cstate =
> 
> Please rename to old_crtc_state, and similarly for new_crtc_state.
> 
> > -		to_intel_crtc_state(old_crtc_state);
> > -	struct intel_atomic_state *old_intel_state =
> > -		to_intel_atomic_state(old_crtc_state->state);
> > +		intel_atomic_get_old_crtc_state(state,
> > +						crtc);
> 
> Too many newlines.
> 
> >  	struct intel_crtc_state *intel_cstate =
> > -		intel_atomic_get_new_crtc_state(old_intel_state, intel_crtc);
> > +		intel_atomic_get_new_crtc_state(state, crtc);
> >  	bool modeset = needs_modeset(&intel_cstate->base);
> >  
> >  	/* Perform vblank evasion around commit operation */
> > @@ -14101,7 +14099,7 @@ static void intel_begin_crtc_commit(struct drm_crtc *crtc,
> >  
> >  out:
> >  	if (dev_priv->display.atomic_update_watermarks)
> > -		dev_priv->display.atomic_update_watermarks(old_intel_state,
> > +		dev_priv->display.atomic_update_watermarks(state,
> >  							   intel_cstate);
> >  }
> >  
> > @@ -14121,21 +14119,21 @@ void intel_crtc_arm_fifo_underrun(struct intel_crtc *crtc,
> >  	}
> >  }
> >  
> > -static void intel_finish_crtc_commit(struct drm_crtc *crtc,
> > -				     struct drm_crtc_state *old_crtc_state)
> > +static void intel_finish_crtc_commit(struct intel_crtc *crtc,
> > +				     struct intel_atomic_state *state)
> >  {
> > -	struct intel_crtc *intel_crtc = to_intel_crtc(crtc);
> > -	struct intel_atomic_state *old_intel_state =
> > -		to_intel_atomic_state(old_crtc_state->state);
> > +	struct drm_crtc_state *old_crtc_state =
> 
> Pls convert this to intel type as well.
> 
> > +		&intel_atomic_get_old_crtc_state(state,
> > +						crtc)->base;
> >  	struct intel_crtc_state *new_crtc_state =
> > -		intel_atomic_get_new_crtc_state(old_intel_state, intel_crtc);
> > +		intel_atomic_get_new_crtc_state(state, crtc);
> >  
> >  	intel_pipe_update_end(new_crtc_state);
> >  
> >  	if (new_crtc_state->update_pipe &&
> >  	    !needs_modeset(&new_crtc_state->base) &&
> >  	    old_crtc_state->mode.private_flags & I915_MODE_FLAG_INHERITED)
> > -		intel_crtc_arm_fifo_underrun(intel_crtc, new_crtc_state);
> > +		intel_crtc_arm_fifo_underrun(crtc, new_crtc_state);
> >  }
> >  
> >  /**
> > -- 
> > 2.19.1
> 
> -- 
> Ville Syrjälä
> Intel
diff mbox series

Patch

diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index f29a348e8d71..062b9e86a987 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -125,8 +125,8 @@  static void vlv_prepare_pll(struct intel_crtc *crtc,
 			    const struct intel_crtc_state *pipe_config);
 static void chv_prepare_pll(struct intel_crtc *crtc,
 			    const struct intel_crtc_state *pipe_config);
-static void intel_begin_crtc_commit(struct drm_crtc *, struct drm_crtc_state *);
-static void intel_finish_crtc_commit(struct drm_crtc *, struct drm_crtc_state *);
+static void intel_begin_crtc_commit(struct intel_crtc *, struct intel_atomic_state *);
+static void intel_finish_crtc_commit(struct intel_crtc *, struct intel_atomic_state *);
 static void intel_crtc_init_scalers(struct intel_crtc *crtc,
 				    struct intel_crtc_state *crtc_state);
 static void skylake_pfit_enable(const struct intel_crtc_state *crtc_state);
@@ -13273,14 +13273,14 @@  static void intel_update_crtc(struct drm_crtc *crtc,
 	else if (new_plane_state)
 		intel_fbc_enable(intel_crtc, pipe_config, new_plane_state);
 
-	intel_begin_crtc_commit(crtc, old_crtc_state);
+	intel_begin_crtc_commit(intel_crtc, to_intel_atomic_state(state));
 
 	if (INTEL_GEN(dev_priv) >= 9)
 		skl_update_planes_on_crtc(to_intel_atomic_state(state), intel_crtc);
 	else
 		i9xx_update_planes_on_crtc(to_intel_atomic_state(state), intel_crtc);
 
-	intel_finish_crtc_commit(crtc, old_crtc_state);
+	intel_finish_crtc_commit(intel_crtc, to_intel_atomic_state(state));
 }
 
 static void intel_update_crtcs(struct drm_atomic_state *state)
@@ -14070,18 +14070,16 @@  skl_max_scale(const struct intel_crtc_state *crtc_state,
 	return max_scale;
 }
 
-static void intel_begin_crtc_commit(struct drm_crtc *crtc,
-				    struct drm_crtc_state *old_crtc_state)
+static void intel_begin_crtc_commit(struct intel_crtc *crtc,
+				    struct intel_atomic_state *state)
 {
-	struct drm_device *dev = crtc->dev;
+	struct drm_device *dev = crtc->base.dev;
 	struct drm_i915_private *dev_priv = to_i915(dev);
-	struct intel_crtc *intel_crtc = to_intel_crtc(crtc);
 	struct intel_crtc_state *old_intel_cstate =
-		to_intel_crtc_state(old_crtc_state);
-	struct intel_atomic_state *old_intel_state =
-		to_intel_atomic_state(old_crtc_state->state);
+		intel_atomic_get_old_crtc_state(state,
+						crtc);
 	struct intel_crtc_state *intel_cstate =
-		intel_atomic_get_new_crtc_state(old_intel_state, intel_crtc);
+		intel_atomic_get_new_crtc_state(state, crtc);
 	bool modeset = needs_modeset(&intel_cstate->base);
 
 	/* Perform vblank evasion around commit operation */
@@ -14101,7 +14099,7 @@  static void intel_begin_crtc_commit(struct drm_crtc *crtc,
 
 out:
 	if (dev_priv->display.atomic_update_watermarks)
-		dev_priv->display.atomic_update_watermarks(old_intel_state,
+		dev_priv->display.atomic_update_watermarks(state,
 							   intel_cstate);
 }
 
@@ -14121,21 +14119,21 @@  void intel_crtc_arm_fifo_underrun(struct intel_crtc *crtc,
 	}
 }
 
-static void intel_finish_crtc_commit(struct drm_crtc *crtc,
-				     struct drm_crtc_state *old_crtc_state)
+static void intel_finish_crtc_commit(struct intel_crtc *crtc,
+				     struct intel_atomic_state *state)
 {
-	struct intel_crtc *intel_crtc = to_intel_crtc(crtc);
-	struct intel_atomic_state *old_intel_state =
-		to_intel_atomic_state(old_crtc_state->state);
+	struct drm_crtc_state *old_crtc_state =
+		&intel_atomic_get_old_crtc_state(state,
+						crtc)->base;
 	struct intel_crtc_state *new_crtc_state =
-		intel_atomic_get_new_crtc_state(old_intel_state, intel_crtc);
+		intel_atomic_get_new_crtc_state(state, crtc);
 
 	intel_pipe_update_end(new_crtc_state);
 
 	if (new_crtc_state->update_pipe &&
 	    !needs_modeset(&new_crtc_state->base) &&
 	    old_crtc_state->mode.private_flags & I915_MODE_FLAG_INHERITED)
-		intel_crtc_arm_fifo_underrun(intel_crtc, new_crtc_state);
+		intel_crtc_arm_fifo_underrun(crtc, new_crtc_state);
 }
 
 /**