Re: [PATCH 2/2] drm/i915/fbc: Use lockdep_assert_held()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> -----Original Message-----
> From: Intel-gfx <intel-gfx-bounces@xxxxxxxxxxxxxxxxxxxxx> On Behalf Of Ville
> Syrjala
> Sent: Monday, June 20, 2022 9:29 PM
> To: intel-gfx@xxxxxxxxxxxxxxxxxxxxx
> Subject:  [PATCH 2/2] drm/i915/fbc: Use lockdep_assert_held()
> 
> From: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx>
> 
> Replace the mutex_is_locked() stuff with lockdep_assert_held() since that's what
> it's there for.
> 
> Asoo sprinkle these around so that we have more or less mirrored coverate for
> the enable vs. disable instead of the current situation where the asserts seem to
> be more or less randomly thrown around.
> 

Reviewed-by: Mika Kahola <mika.kahola@xxxxxxxxx>

> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx>
> ---
>  drivers/gpu/drm/i915/display/intel_fbc.c | 17 ++++++++++-------
>  1 file changed, 10 insertions(+), 7 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_fbc.c
> b/drivers/gpu/drm/i915/display/intel_fbc.c
> index 77669e03b9f7..db1c0eb508fa 100644
> --- a/drivers/gpu/drm/i915/display/intel_fbc.c
> +++ b/drivers/gpu/drm/i915/display/intel_fbc.c
> @@ -669,6 +669,7 @@ static void intel_fbc_nuke(struct intel_fbc *fbc)  {
>  	struct drm_i915_private *i915 = fbc->i915;
> 
> +	lockdep_assert_held(&fbc->lock);
>  	drm_WARN_ON(&i915->drm, fbc->flip_pending);
> 
>  	trace_intel_fbc_nuke(fbc->state.plane);
> @@ -678,6 +679,8 @@ static void intel_fbc_nuke(struct intel_fbc *fbc)
> 
>  static void intel_fbc_activate(struct intel_fbc *fbc)  {
> +	lockdep_assert_held(&fbc->lock);
> +
>  	intel_fbc_hw_activate(fbc);
>  	intel_fbc_nuke(fbc);
> 
> @@ -686,9 +689,7 @@ static void intel_fbc_activate(struct intel_fbc *fbc)
> 
>  static void intel_fbc_deactivate(struct intel_fbc *fbc, const char *reason)  {
> -	struct drm_i915_private *i915 = fbc->i915;
> -
> -	drm_WARN_ON(&i915->drm, !mutex_is_locked(&fbc->lock));
> +	lockdep_assert_held(&fbc->lock);
> 
>  	if (fbc->active)
>  		intel_fbc_hw_deactivate(fbc);
> @@ -1220,6 +1221,8 @@ static bool __intel_fbc_pre_update(struct
> intel_atomic_state *state,
>  	struct intel_fbc *fbc = plane->fbc;
>  	bool need_vblank_wait = false;
> 
> +	lockdep_assert_held(&fbc->lock);
> +
>  	fbc->flip_pending = true;
> 
>  	if (intel_fbc_can_flip_nuke(state, crtc, plane)) @@ -1277,7 +1280,7 @@
> static void __intel_fbc_disable(struct intel_fbc *fbc)
>  	struct drm_i915_private *i915 = fbc->i915;
>  	struct intel_plane *plane = fbc->state.plane;
> 
> -	drm_WARN_ON(&i915->drm, !mutex_is_locked(&fbc->lock));
> +	lockdep_assert_held(&fbc->lock);
>  	drm_WARN_ON(&i915->drm, fbc->active);
> 
>  	drm_dbg_kms(&i915->drm, "Disabling FBC on [PLANE:%d:%s]\n", @@ -
> 1292,9 +1295,7 @@ static void __intel_fbc_disable(struct intel_fbc *fbc)
> 
>  static void __intel_fbc_post_update(struct intel_fbc *fbc)  {
> -	struct drm_i915_private *i915 = fbc->i915;
> -
> -	drm_WARN_ON(&i915->drm, !mutex_is_locked(&fbc->lock));
> +	lockdep_assert_held(&fbc->lock);
> 
>  	fbc->flip_pending = false;
> 
> @@ -1430,6 +1431,8 @@ static void __intel_fbc_enable(struct
> intel_atomic_state *state,
>  		intel_atomic_get_new_plane_state(state, plane);
>  	struct intel_fbc *fbc = plane->fbc;
> 
> +	lockdep_assert_held(&fbc->lock);
> +
>  	if (fbc->state.plane) {
>  		if (fbc->state.plane != plane)
>  			return;
> --
> 2.35.1





[Index of Archives]     [AMD Graphics]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux