that error in kern.log occurs in two places:

ap...@april-laptop:~/linux-2.6.28$ find . -name \*.c|xargs grep 'trying to get 
vblank count for disabled pipe'
./drivers/gpu/drm/i915/i915_irq.c:              DRM_ERROR("trying to get vblank 
count for disabled pipe %d\n", pipe);
./drivers/gpu/drm/i915/i915_irq.c:              DRM_ERROR("trying to get vblank 
count for disabled pipe %d\n", pipe);

here's the two occurences:

/* Called from drm generic code, passed a 'crtc', which
 * we use as a pipe index
 */
u32 i915_get_vblank_counter(struct drm_device *dev, int pipe)
{
        drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private;
        unsigned long high_frame;
        unsigned long low_frame;
        u32 high1, high2, low, count;

        high_frame = pipe ? PIPEBFRAMEHIGH : PIPEAFRAMEHIGH;
        low_frame = pipe ? PIPEBFRAMEPIXEL : PIPEAFRAMEPIXEL;

        if (!i915_pipe_enabled(dev, pipe)) {
                DRM_ERROR("trying to get vblank count for disabled pipe %d\n", 
pipe);
                return 0;
        }

        /*
         * High & low register fields aren't synchronized, so make sure
         * we get a low value that's stable across two reads of the high
         * register.
         */
        do {
                high1 = ((I915_READ(high_frame) & PIPE_FRAME_HIGH_MASK) >>
                         PIPE_FRAME_HIGH_SHIFT);
                low =  ((I915_READ(low_frame) & PIPE_FRAME_LOW_MASK) >>
                        PIPE_FRAME_LOW_SHIFT);
                high2 = ((I915_READ(high_frame) & PIPE_FRAME_HIGH_MASK) >>
                         PIPE_FRAME_HIGH_SHIFT);
        } while (high1 != high2);

        count = (high1 << 8) | low;

        return count;
}

u32 gm45_get_vblank_counter(struct drm_device *dev, int pipe)
{
        drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private;
        int reg = pipe ? PIPEB_FRMCOUNT_GM45 : PIPEA_FRMCOUNT_GM45;

        if (!i915_pipe_enabled(dev, pipe)) {
                DRM_ERROR("trying to get vblank count for disabled pipe %d\n", 
pipe);
                return 0;
        }

        return I915_READ(reg);
}

-- 
[Gateway ML6720] computer freezes when suspending
https://bugs.launchpad.net/bugs/353887
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to