[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <AANLkTim4kL9OjBDiQQ1MBfOCzThxmDonBic11N45NKxj@mail.gmail.com>
Date: Tue, 1 Feb 2011 10:46:17 -0800
From: Hugh Dickins <hughd@...gle.com>
To: Jesse Barnes <jbarnes@...tuousgeek.org>
Cc: Chris Wilson <chris@...is-wilson.co.uk>,
Mario Kleiner <mario.kleiner@...bingen.mpg.de>,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH] drm/i915: Suppress spurious vblank interrupts
On Tue, Feb 1, 2011 at 10:08 AM, Jesse Barnes <jbarnes@...tuousgeek.org> wrote:
> On Tue, 1 Feb 2011 09:46:43 -0800
> Jesse Barnes <jbarnes@...tuousgeek.org> wrote:
>>
>> Are you still seeing underruns during normal activity?
Yes. That is, I see the "pipe a underrun" messages when I set drm
debug 7: I'm unaware of any ill-effect from them, unless they are
indeed a factor in my unflushed text issue.
>> I wonder if the
>> ones you were seeing before were only reported at 60Hz due to vblank
>> interrupt processing. If we failed to clear the underrun status, we'd
>> report one every time we got a vblank interrupt (since the underruns
>> don't report interrupts by themselves).
I was surprised that i915_driver_irq_handler "Clear the PIPE(A|B)STAT
regs" writes back precisely the pipea_stats it reads in, I'd have
expected to clear something there (and did earlier experiment with
writing back 0: black screen at boot!). But assumed the protocol is
such that it acknowledges the status bits by writing same back.
>>
>> If so, that may just be a red herring in this case.
>
> More random questions arise from the info provided:
> - why are we ending up in the flip code at all? fvwm shouldn't
> trigger that path...
Right. I haven't double-checked the logic, but I believe it's because
of bits set in the underrunning pipea_stats. I did one time modify
the underrun message to print out pipea_stats, over five seconds most
(265) values were 0x80440207
(there were also 14 occurrences of 0x80440007, 5 of 0x80440004 and 3
of 0x80440204).
> - what's with all the underruns? it looks like we *do* ack those
> flags as needed, so apparently they're valid, but they indicate a
> serious problem with the display pipeline; maybe self-refresh
> shouldn't be enabled on your system (that would increase memory
> latency and potentially cause underruns), running with
> i915.powersave=0 would disable that feature
I just tried i915.powersave=0 but the underruns still appeared. I
then tried earlier kernels, and was surprised to find no underruns
with 2.6.34, 2.6.36: the underruns appeared with 2.6.37.
>
> The lack of text really does sound like a render cache flushing
> problem, but the other issues are worrying as well, and could be
> compounding things. And the last time I saw the issue, it was related
> to compositing and required an X server fix. But supposedly you're not
> using compositing, so...
That's right.
Hugh
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists