Re: [Intel-gfx] [PATCH 3.0-rc3] i915: Fix gen6 (SNB) GPU stalling

From: Eric Anholt
Date: Wed Jun 15 2011 - 12:38:44 EST


On Wed, 15 Jun 2011 13:04:51 +0800, Daniel J Blueman <daniel.blueman@xxxxxxxxx> wrote:
> The render HWSTAM is tweaked in preinstall, but we need to tweak the
> blitter HWSTAM (new to gen6).

This still doesn't *really* make sense -- HWSTAM is supposed to be
masking updates to the status page's copy of the IIR, which we never
read, and not be involved in masking updates to the MMIO I[IS]R. So it
seems to me that this is just happening to get lucky and serialize in
the hardware for the way that we do actually read IIR (through MMIO).
And hey, we should be using the status page copy instead of MMIO some
day anyway, so that's more reason to do this patch even if we don't like
workarounds.

> To me, it makes sense to reset the blitter HWSTAM register to what the
> driver expects, in case anything before the i915 module loads and
> adjusts it for a particular purpose (including debug); the render
> HWSTAM is set this way too. I could add a comment to both perhaps?
>
> Updating the blitter HWSTAM in the postinstall was a marginally safer
> choice, as there'll not be any potential race with a blitter user
> interrupt getting emitted before we're ready (which wouldn't have been
> tested), but the risk is probably so low that it could just go into
> the preinstall.

The GPU is idle before our driver shows up, so there's no risk (there's
a bunch of leftover paranoia in the driver from the DRI1 days, none of
which ever made much sense).

Attachment: pgp00000.pgp
Description: PGP signature