[PATCH 2/7] drm/i915/vblank: fix context imbalance warnings
Rodrigo Vivi
rodrigo.vivi at intel.com
Thu Aug 22 21:38:43 UTC 2024
On Thu, Aug 22, 2024 at 07:04:50PM +0300, Jani Nikula wrote:
> When building for xe, we get the context imbalance warning as the actual
> locking/unlocking is not compiled:
>
> ../drivers/gpu/drm/i915/display/intel_vblank.c:306:13: warning: context imbalance in 'intel_vblank_section_enter' - wrong count at exit
> ../drivers/gpu/drm/i915/display/intel_vblank.c:314:13: warning: context imbalance in 'intel_vblank_section_exit' - wrong count at exit
>
> Fix by adding separata stubs for xe without __acquires/__releases
> annotation.
>
> Signed-off-by: Jani Nikula <jani.nikula at intel.com>
Reviewed-by: Rodrigo Vivi <rodrigo.vivi at intel.com>
> ---
> drivers/gpu/drm/i915/display/intel_vblank.c | 14 ++++++++++----
> 1 file changed, 10 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_vblank.c b/drivers/gpu/drm/i915/display/intel_vblank.c
> index 551e9ca9bb99..2073e8075af4 100644
> --- a/drivers/gpu/drm/i915/display/intel_vblank.c
> +++ b/drivers/gpu/drm/i915/display/intel_vblank.c
> @@ -303,21 +303,27 @@ int intel_crtc_scanline_to_hw(struct intel_crtc *crtc, int scanline)
> * all register accesses to the same cacheline to be serialized,
> * otherwise they may hang.
> */
> +#ifdef I915
> static void intel_vblank_section_enter(struct drm_i915_private *i915)
> __acquires(i915->uncore.lock)
> {
> -#ifdef I915
> spin_lock(&i915->uncore.lock);
> -#endif
> }
>
> static void intel_vblank_section_exit(struct drm_i915_private *i915)
> __releases(i915->uncore.lock)
> {
> -#ifdef I915
> spin_unlock(&i915->uncore.lock);
> -#endif
> }
> +#else
> +static void intel_vblank_section_enter(struct drm_i915_private *i915)
> +{
> +}
> +
> +static void intel_vblank_section_exit(struct drm_i915_private *i915)
> +{
> +}
> +#endif
>
> static bool i915_get_crtc_scanoutpos(struct drm_crtc *_crtc,
> bool in_vblank_irq,
> --
> 2.39.2
>
More information about the Intel-gfx
mailing list