[Intel-gfx] [PATCH] drm/i915/gt: Ensure 'ENABLE_BOOT_FETCH' is enabled before ppGTT
Chris Wilson
chris at chris-wilson.co.uk
Thu Feb 13 18:07:38 UTC 2020
Quoting Ville Syrjälä (2020-02-13 17:57:56)
> On Thu, Feb 13, 2020 at 03:47:59PM +0000, Chris Wilson wrote:
> > Cryptic notes in bspec say that "The MBC Driver Boot Enable bit in MBCTL
> > register must be set before this register is written to upon boot up
> > (including S3 exit)."
> >
> > We tried adding it to our list of verified workarounds, but our
> > self checks spot that the bit does not stick. It's only meant to be
> > cleared after a FLR. As it fails our verification, just blindly apply
> > the bit prior to loading the ppGTT.
> >
> > Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
> > cc: Mika Kuoppala <mika.kuoppala at linux.intel.com>
> > ---
> > drivers/gpu/drm/i915/gt/intel_ring_submission.c | 3 +++
> > 1 file changed, 3 insertions(+)
> >
> > diff --git a/drivers/gpu/drm/i915/gt/intel_ring_submission.c b/drivers/gpu/drm/i915/gt/intel_ring_submission.c
> > index f70b903a98bc..e41a329d435a 100644
> > --- a/drivers/gpu/drm/i915/gt/intel_ring_submission.c
> > +++ b/drivers/gpu/drm/i915/gt/intel_ring_submission.c
> > @@ -642,6 +642,9 @@ static void set_pp_dir(struct intel_engine_cs *engine)
> > if (vm) {
> > struct i915_ppgtt *ppgtt = i915_vm_to_ppgtt(vm);
> >
> > + intel_uncore_rmw(engine->uncore, GEN6_MBCTL,
> > + 0, GEN6_MBCTL_ENABLE_BOOT_FETCH)
>
> Wasn't setting this bit implicated in some regressions long ago?
commit 3414caf63421762e57b26aa999e5187b42ee1606
Author: Jesse Barnes <jbarnes at virtuousgeek.org>
Date: Wed Aug 21 08:08:55 2013 -0700
drm/i915: drop WaMbcDriverBootEnable workaround
Turns out the BIOS will do this for us as needed, and if we try to do it
again we risk hangs or other bad behavior.
Note that this seems to break libva on ChromeOS after resumes (but
strangely _not_ after booting up).
This essentially reverts
commit b4ae3f22d238617ca11610b29fde16cf8c0bc6e0
Author: Jesse Barnes <jbarnes at virtuousgeek.org>
Date: Thu Jun 14 11:04:48 2012 -0700
drm/i915: load boot context at driver init time
and
commit b3bf076697a68a8577f4a5f7407de0bb2b3b56ac
Author: Paulo Zanoni <paulo.r.zanoni at intel.com>
Date: Tue Nov 20 13:27:44 2012 -0200
drm/i915: implement WaMbcDriverBootEnable on Haswell
Signed-off-by: Jesse Barnes <jbarnes at virtuousgeek.org>
Reported-and-Tested-by: Stéphane Marchesin <marcheu at chromium.org>
More information about the Intel-gfx
mailing list