On 12/15/2014 2:28 PM, Daniel Vetter wrote:
On Mon, Dec 15, 2014 at 03:22:08PM +0100, Daniel Vetter wrote:On Mon, Dec 15, 2014 at 12:47:14PM +0000, Michel Thierry wrote:On 12/15/2014 10:11 AM, Daniel Vetter wrote:On Thu, Dec 11, 2014 at 12:07:18PM +0000, Michel Thierry wrote:When execlists submission is enabled, try full ppgtt by default. Note, this patch considers that execlist support has been enabled by default on Gen8. Signed-off-by: Michel Thierry <michel.thierry@xxxxxxxxx> --- drivers/gpu/drm/i915/i915_gem_gtt.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/drivers/gpu/drm/i915/i915_gem_gtt.c b/drivers/gpu/drm/i915/i915_gem_gtt.c index 171f6ea..4ed3904 100644 --- a/drivers/gpu/drm/i915/i915_gem_gtt.c +++ b/drivers/gpu/drm/i915/i915_gem_gtt.c @@ -40,8 +40,8 @@ static int sanitize_enable_ppgtt(struct drm_device *dev, int enable_ppgtt) has_aliasing_ppgtt = INTEL_INFO(dev)->gen >= 6; has_full_ppgtt = INTEL_INFO(dev)->gen >= 7; - if (IS_GEN8(dev)) - has_full_ppgtt = false; /* XXX why? */ + if (IS_GEN8(dev) && !i915.enable_execlists) + has_full_ppgtt = false; /* Only enforce with execlists */Imo this has outlived it's usefulness - enable_ppgtt is an unsafe parameter so everyone setting it themselves gets what they need. Afair this was just because of the execlist depency on gen8 for ppgtt. -DanielNot sure if I'm following you up on this... The aim was to change the default value to _full_ only when execlists are also enable (after Thomas' patch). In gen8, we don't want to have full ppgtt with legacy ring submission.Yeah I gotten confused. The comment is a bit misleading thought, maybe "Full ppgtt needs execlist since otherwise the ctx switch can hang"?Actually I wasnt' confused: gen8+ has full ppgtt, like gen7. It's broken without execlist though, so what we should do is just change the default below. Otherwise if a user explicitly sets execlist=0 and ppgtt=2 we won't obey that, which doesn't make sense - for isolating bugs this might be a valid testcase (even when we know there's problems). So your patch should do two things: - Generally allow full ppgtt on gen8 - the current restriction doesn't make sense. - Switch the default to full ppgtt when execlist is enabled on gen8+, leave the default to aliasing/disabled everywhere else as is. -Daniel
Thanks for clarifying. I'll send a new patch. -Michel
Attachment:
smime.p7s
Description: S/MIME Cryptographic Signature
_______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/intel-gfx