[Intel-gfx] [PATCH] drm/i915: fix sanitize_enable_ppgtt for full PPGTT
Jesse Barnes
jbarnes at virtuousgeek.org
Thu Jun 26 17:20:36 CEST 2014
On Thu, 26 Jun 2014 17:59:48 +0300
Ville Syrjälä <ville.syrjala at linux.intel.com> wrote:
> On Wed, Jun 25, 2014 at 03:45:33PM -0700, Jesse Barnes wrote:
> > Apparently trinary logic is hard. We were falling through all the forced
> > cases and simply enabling aliasing PPGTT or not based on hardware,
> > rather than full PPGTT if available.
> >
> > References: https://bugs.freedesktop.org/show_bug.cgi?id=80083
> > Signed-off-by: Jesse Barnes <jbarnes at virtuousgeek.org>
> > ---
> > drivers/gpu/drm/i915/i915_gem_gtt.c | 8 +++++++-
> > 1 file changed, 7 insertions(+), 1 deletion(-)
> >
> > diff --git a/drivers/gpu/drm/i915/i915_gem_gtt.c b/drivers/gpu/drm/i915/i915_gem_gtt.c
> > index a4153ee..86521a7 100644
> > --- a/drivers/gpu/drm/i915/i915_gem_gtt.c
> > +++ b/drivers/gpu/drm/i915/i915_gem_gtt.c
> > @@ -69,7 +69,13 @@ static int sanitize_enable_ppgtt(struct drm_device *dev, int enable_ppgtt)
> > return 0;
> > }
> >
> > - return HAS_ALIASING_PPGTT(dev) ? 1 : 0;
> > + /* Fall through to auto-detect */
> > + if (HAS_PPGTT(dev))
> > + return 2;
> > + else if (HAS_ALIASING_PPGTT(dev))
> > + return 1;
> > +
> > + return 0;
>
> I don't get it. This would just enable full ppgtt by default. But full
> ppgtt is still a bit broken so I don't think we want this.
>
> The dmesg in the bug shows that ppgtt was forced off by the PCI revision
> check, so that part seems to have worked. Looks like the tests doesn't
> expect the batches to be accepted by the kernel, but the cmd parser is
> bypassed when ppgtt is disabled, so the test fails.
Yeah and I was testing on a platform that had PPGTT support, and
figured I had screwed up the PPGTT enable. But I guess not, and we can
expect these tests to fail until we have the command parser enabled
everywhere.
--
Jesse Barnes, Intel Open Source Technology Center
More information about the Intel-gfx
mailing list