* [PATCH] drm/i915: fix sanitize_enable_ppgtt for full PPGTT
@ 2014-06-25 22:45 Jesse Barnes
2014-06-26 14:59 ` Ville Syrjälä
0 siblings, 1 reply; 3+ messages in thread
From: Jesse Barnes @ 2014-06-25 22:45 UTC (permalink / raw)
To: intel-gfx
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@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;
}
--
1.9.1
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH] drm/i915: fix sanitize_enable_ppgtt for full PPGTT
2014-06-25 22:45 [PATCH] drm/i915: fix sanitize_enable_ppgtt for full PPGTT Jesse Barnes
@ 2014-06-26 14:59 ` Ville Syrjälä
2014-06-26 15:20 ` Jesse Barnes
0 siblings, 1 reply; 3+ messages in thread
From: Ville Syrjälä @ 2014-06-26 14:59 UTC (permalink / raw)
To: Jesse Barnes; +Cc: intel-gfx
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@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.
--
Ville Syrjälä
Intel OTC
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] drm/i915: fix sanitize_enable_ppgtt for full PPGTT
2014-06-26 14:59 ` Ville Syrjälä
@ 2014-06-26 15:20 ` Jesse Barnes
0 siblings, 0 replies; 3+ messages in thread
From: Jesse Barnes @ 2014-06-26 15:20 UTC (permalink / raw)
To: Ville Syrjälä; +Cc: intel-gfx
On Thu, 26 Jun 2014 17:59:48 +0300
Ville Syrjälä <ville.syrjala@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@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
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2014-06-26 15:20 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-06-25 22:45 [PATCH] drm/i915: fix sanitize_enable_ppgtt for full PPGTT Jesse Barnes
2014-06-26 14:59 ` Ville Syrjälä
2014-06-26 15:20 ` Jesse Barnes
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.