With nonblocking unpin there can be many cursor pins before they're cleared by the next page flip. Fix this by extending pin_count to the full 32-bit to prevent a WARN_ON(vma->pin_count == DRM_I915_GEM_OBJECT_MAX_PIN_COUNT) Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reported-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Fixes: a6747b7304a9 ("drm/i915: Make unpin async.") --- drivers/gpu/drm/i915/i915_gem_gtt.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/i915/i915_gem_gtt.h b/drivers/gpu/drm/i915/i915_gem_gtt.h index 62be77cac5cd..1d43cc290f71 100644 --- a/drivers/gpu/drm/i915/i915_gem_gtt.h +++ b/drivers/gpu/drm/i915/i915_gem_gtt.h @@ -218,8 +218,8 @@ struct i915_vma { * * In the worst case this is 1 + 1 + 1 + 2*2 = 7. That would fit into 3 * bits with absolutely no headroom. So use 4 bits. */ - unsigned int pin_count:4; -#define DRM_I915_GEM_OBJECT_MAX_PIN_COUNT 0xf + unsigned int pin_count; +#define DRM_I915_GEM_OBJECT_MAX_PIN_COUNT UINT_MAX }; struct i915_page_dma { -- 2.5.5 _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx