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@xxxxxxxxx> --- 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