From: Daniel Vetter <daniel@ffwll.ch>
To: Keith Packard <keithp@keithp.com>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>,
intel-gfx <intel-gfx@lists.freedesktop.org>,
Eugeni Dodonov <eugeni.dodonov@intel.com>,
stable@kernel.org
Subject: Re: [PATCH] drm/i915: paper over missed irq issues with force wake vodoo
Date: Sat, 14 Jan 2012 01:31:40 +0100 [thread overview]
Message-ID: <20120114003140.GG3843@phenom.ffwll.local> (raw)
In-Reply-To: <86k44v3zy8.fsf@sumi.keithp.com>
On Fri, Jan 13, 2012 at 04:11:43PM -0800, Keith Packard wrote:
> On Sat, 14 Jan 2012 00:52:31 +0100, Daniel Vetter <daniel@ffwll.ch> wrote:
> > acc101d drm/i915: Hold gt_lock across forcewake register reads
> >
> > Imo this is a simple cleanup (reading forcewake-protected registers isn't
> > really a fast-path for us), so material for -next.
>
> The 'optimization' is just a side benefit. The fix is to prevent reads
> From happening without forcewake being set.
I still fail to see how you can sneak a read in there without forcewake
being asserted. And assuming I haven't understood you the last time around
we've discussed this, you've agreed.
>
> > 0f0e134 drm/i915: Hold gt_lock during reset
> >
> > I still don't see what race you're trying to protect here, after all the
> > gpu just died, things are confusing anyway (and anyone accessing the gpu
> > in such a state should take that into account). Currently that's no one
> > afaics. So imo at most -next material.
>
> These two patches work together to ensure that no-one reads from the GPU
> without forcewake being set correctly, even across reset. Mostly, I
> changed the code to make it obvious that the whole read operation was
> now atomic; before, I had to read a lot of code to convince myself that
> the read couldn't happen without forcewake being set, except under the
> reset condition. Forcing me to read code closely to prove it correct
> doesn't make me happy. Having a spinlock held over the entire
> section makes the whole thing obviously correct to even casual inspection.
>
> So, I'd like these to go into -next so that when I read this code next
> year, I won't have to figure all of this out again.
Agreed, it's not the most obvious code around ;-)
> > 176b987 drm/i915: Move reset forcewake processing to gen6_do_reset
> >
> > Again this is imo just a cleanup. Furthermore the commit msg is lying a
> > bit because it fails to mention the fix to use the forcewake function
> > pointer. So the cleanup is imo for -next and the bugfix is really old,
> > see:
>
> Yes, I didn't even notice that I'd fixed that bug when I moved the code...
>
> The bugfix is, however required, and needs to be in -fixes.
Yeah, I've silently implied that.
> So, I think for -fixes we get:
>
> 1) The forcewake spinlock patch.
>
> 2) The bugfix to the reset path.
>
> 3) forcewake while waiting for interrupts for IVB only, not for SNB,
> with updated commit message.
>
> This minimizes the potential for regressions in SNB (by not affecting it
> at all) while fixing the IVB issues.
>
> For -next, we should have
>
> 1) forcewake for interrupts on IVB and SNB
>
> 2) Removal of the HWSTAM hacks
>
> 3) The spinlock cleanups that make me happy
>
> I'd love to hear back from some SNB owners that the forcewake IRQ issue
> resolves problems and doesn't cause any regressions. If so, we can
> reconsider it for 3.3. If it doesn't fix anything, then I don't think it
> should go into 3.3.
Sounds like a good merge plan. I'll wrestle the patch to add the IS_IVB
check and the documentation reference.
-Daniel
--
Daniel Vetter
Mail: daniel@ffwll.ch
Mobile: +41 (0)79 365 57 48
next prev parent reply other threads:[~2012-01-14 0:29 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-01-04 16:52 [PATCH] drm/i915: paper over missed irq issues with force wake vodoo Daniel Vetter
2012-01-04 18:15 ` Eugeni Dodonov
2012-01-04 18:40 ` Daniel Vetter
2012-01-05 2:27 ` Keith Packard
2012-01-05 11:13 ` Daniel Vetter
2012-01-05 11:23 ` Eugeni Dodonov
2012-01-05 22:11 ` [PATCH] drm/i915: rip out the HWSTAM missed irq workaround Daniel Vetter
2012-01-05 23:29 ` Ben Widawsky
2012-01-06 16:03 ` Eugeni Dodonov
2012-01-09 22:00 ` Keith Packard
2012-01-09 23:39 ` Daniel Vetter
2012-01-10 2:09 ` Keith Packard
2012-01-10 7:58 ` Daniel Vetter
2012-01-18 0:24 ` Ben Widawsky
2012-01-10 12:20 ` [PATCH] drm/i915: paper over missed irq issues with force wake vodoo Daniel Vetter
2012-01-11 0:51 ` Eric Anholt
2012-01-11 4:44 ` Keith Packard
2012-01-11 6:21 ` Ben Widawsky
2012-01-11 9:59 ` Daniel Vetter
2012-01-11 5:41 ` Kenneth Graunke
2012-01-13 16:42 ` Keith Packard
2012-01-13 23:52 ` Daniel Vetter
2012-01-13 23:55 ` Daniel Vetter
2012-01-14 0:11 ` Keith Packard
2012-01-14 0:31 ` Daniel Vetter [this message]
2012-01-14 0:50 ` Keith Packard
2012-01-14 12:12 ` Daniel Vetter
2012-01-15 6:35 ` Keith Packard
2012-01-15 15:03 ` Daniel Vetter
2012-01-16 0:06 ` Keith Packard
2012-01-05 23:29 ` Ben Widawsky
2012-01-08 13:01 ` Daniel Vetter
2012-01-09 5:09 ` Keith Packard
2012-01-06 20:56 ` Keith Packard
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20120114003140.GG3843@phenom.ffwll.local \
--to=daniel@ffwll.ch \
--cc=daniel.vetter@ffwll.ch \
--cc=eugeni.dodonov@intel.com \
--cc=intel-gfx@lists.freedesktop.org \
--cc=keithp@keithp.com \
--cc=stable@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.