CHROMIUM: HACK: drm/i915: Don't warn on pin_count < 0
authorSean Paul <seanpaul@chromium.org>
Fri, 18 Jan 2013 16:37:00 +0000 (11:37 -0500)
committerChromeBot <chrome-bot@google.com>
Sat, 19 Jan 2013 14:22:16 +0000 (06:22 -0800)
We've had some warnings on resume with an external monitor connected
where the pin_count for the fb's fence register is less than zero. After
some analysis, we're unpinning it twice on resume, once via set_base on
mode_set and then again when we do an rmfb from userspace.

The warning isn't terribly interesting when pin_count is less than zero,
and the relevant code has been refactored upstream such that it's likely
not an issue any longer.

This hack avoids warning when pin count is negative.

BUG=chrome-os-partner:12670
TEST=Tested manually with link connected to DP display. Idle
suspend/resume and check the logs for WARNING.

Change-Id: Idba3e75e48d085faa5bff5f7f165eaef595829be
Signed-off-by: Sean Paul <seanpaul@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/41639
Reviewed-by: Mandeep Singh Baines <msb@chromium.org>
Reviewed-by: Stéphane Marchesin <marcheu@chromium.org>
drivers/gpu/drm/i915/i915_gem.c

index 686e5f1..df30942 100644 (file)
@@ -2407,7 +2407,7 @@ i915_gem_object_put_fence(struct drm_i915_gem_object *obj)
        if (obj->fence_reg != I915_FENCE_REG_NONE) {
                struct drm_i915_private *dev_priv = obj->base.dev->dev_private;
 
-               WARN_ON(dev_priv->fence_regs[obj->fence_reg].pin_count);
+               WARN_ON(dev_priv->fence_regs[obj->fence_reg].pin_count > 0);
                i915_gem_clear_fence_reg(obj->base.dev,
                                         &dev_priv->fence_regs[obj->fence_reg]);