Message ID | 20190411083034.28311-1-mika.kuoppala@linux.intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | drm/i915: Disable read only ppgtt support for gen11 | expand |
Quoting Mika Kuoppala (2019-04-11 09:30:34) > On gen11 writing to read only ppgtt page causes a gpu hang. > This behaviour is different than with previous gen where > read only ppgtt access is supported. On those, the write > is just dropped without visible side effects. > > Disable ro ppgtt support on gen11 until a solution can > be found to bring it into line with its predecessors. > > References: HSDES#1807136187 > References: https://bugzilla.freedesktop.org/show_bug.cgi?id=108569 > Cc: Chris Wilson <chris@chris-wilson.co.uk> > Signed-off-by: Mika Kuoppala <mika.kuoppala@linux.intel.com> Acked-by: Chris Wilson <chris@chris-wilson.co.uk> Lets see if I remembered to stick those vm->has_read_only checks everywhere we needed them (and remembered to exercise them -- a bit of a catch 22, if I forgot the check, I probably forgot the test as well). Thanks, -Chris
On Thu, Apr 11, 2019 at 11:30:34AM +0300, Mika Kuoppala wrote: > On gen11 writing to read only ppgtt page causes a gpu hang. > This behaviour is different than with previous gen where > read only ppgtt access is supported. On those, the write > is just dropped without visible side effects. > > Disable ro ppgtt support on gen11 until a solution can > be found to bring it into line with its predecessors. > > References: HSDES#1807136187 > References: https://bugzilla.freedesktop.org/show_bug.cgi?id=108569 > Cc: Chris Wilson <chris@chris-wilson.co.uk> > Signed-off-by: Mika Kuoppala <mika.kuoppala@linux.intel.com> > --- > drivers/gpu/drm/i915/i915_gem_gtt.c | 9 +++++++-- > 1 file changed, 7 insertions(+), 2 deletions(-) > > diff --git a/drivers/gpu/drm/i915/i915_gem_gtt.c b/drivers/gpu/drm/i915/i915_gem_gtt.c > index 736c845eb77f..caae8cdafc1a 100644 > --- a/drivers/gpu/drm/i915/i915_gem_gtt.c > +++ b/drivers/gpu/drm/i915/i915_gem_gtt.c > @@ -1548,8 +1548,13 @@ static struct i915_hw_ppgtt *gen8_ppgtt_create(struct drm_i915_private *i915) > > ppgtt_init(i915, ppgtt); > > - /* From bdw, there is support for read-only pages in the PPGTT. */ > - ppgtt->vm.has_read_only = true; > + /* > + * From bdw, there is hw support for read-only pages in the PPGTT. > + * > + * Gen11 has HSDES#:1807136187 unresolved. Disable ro support > + * for now. > + */ > + ppgtt->vm.has_read_only = INTEL_GEN(i915) != 11; I believe it is safest to use < 11, no?! > > /* There are only few exceptions for gen >=6. chv and bxt. > * And we are not sure about the latter so play safe for now. > -- > 2.17.1 > > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Quoting Rodrigo Vivi (2019-04-11 20:47:48) > On Thu, Apr 11, 2019 at 11:30:34AM +0300, Mika Kuoppala wrote: > > On gen11 writing to read only ppgtt page causes a gpu hang. > > This behaviour is different than with previous gen where > > read only ppgtt access is supported. On those, the write > > is just dropped without visible side effects. > > > > Disable ro ppgtt support on gen11 until a solution can > > be found to bring it into line with its predecessors. > > > > References: HSDES#1807136187 > > References: https://bugzilla.freedesktop.org/show_bug.cgi?id=108569 > > Cc: Chris Wilson <chris@chris-wilson.co.uk> > > Signed-off-by: Mika Kuoppala <mika.kuoppala@linux.intel.com> > > --- > > drivers/gpu/drm/i915/i915_gem_gtt.c | 9 +++++++-- > > 1 file changed, 7 insertions(+), 2 deletions(-) > > > > diff --git a/drivers/gpu/drm/i915/i915_gem_gtt.c b/drivers/gpu/drm/i915/i915_gem_gtt.c > > index 736c845eb77f..caae8cdafc1a 100644 > > --- a/drivers/gpu/drm/i915/i915_gem_gtt.c > > +++ b/drivers/gpu/drm/i915/i915_gem_gtt.c > > @@ -1548,8 +1548,13 @@ static struct i915_hw_ppgtt *gen8_ppgtt_create(struct drm_i915_private *i915) > > > > ppgtt_init(i915, ppgtt); > > > > - /* From bdw, there is support for read-only pages in the PPGTT. */ > > - ppgtt->vm.has_read_only = true; > > + /* > > + * From bdw, there is hw support for read-only pages in the PPGTT. > > + * > > + * Gen11 has HSDES#:1807136187 unresolved. Disable ro support > > + * for now. > > + */ > > + ppgtt->vm.has_read_only = INTEL_GEN(i915) != 11; > > I believe it is safest to use < 11, no?! No. It's an issue in Icelake. -Chris
diff --git a/drivers/gpu/drm/i915/i915_gem_gtt.c b/drivers/gpu/drm/i915/i915_gem_gtt.c index 736c845eb77f..caae8cdafc1a 100644 --- a/drivers/gpu/drm/i915/i915_gem_gtt.c +++ b/drivers/gpu/drm/i915/i915_gem_gtt.c @@ -1548,8 +1548,13 @@ static struct i915_hw_ppgtt *gen8_ppgtt_create(struct drm_i915_private *i915) ppgtt_init(i915, ppgtt); - /* From bdw, there is support for read-only pages in the PPGTT. */ - ppgtt->vm.has_read_only = true; + /* + * From bdw, there is hw support for read-only pages in the PPGTT. + * + * Gen11 has HSDES#:1807136187 unresolved. Disable ro support + * for now. + */ + ppgtt->vm.has_read_only = INTEL_GEN(i915) != 11; /* There are only few exceptions for gen >=6. chv and bxt. * And we are not sure about the latter so play safe for now.
On gen11 writing to read only ppgtt page causes a gpu hang. This behaviour is different than with previous gen where read only ppgtt access is supported. On those, the write is just dropped without visible side effects. Disable ro ppgtt support on gen11 until a solution can be found to bring it into line with its predecessors. References: HSDES#1807136187 References: https://bugzilla.freedesktop.org/show_bug.cgi?id=108569 Cc: Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by: Mika Kuoppala <mika.kuoppala@linux.intel.com> --- drivers/gpu/drm/i915/i915_gem_gtt.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-)