[PATCH v4 04/14] drm/i915/gvt: Detect 64K gtt entry by IPS bit of PDE
Du, Changbin
changbin.du at intel.com
Mon May 7 03:03:55 UTC 2018
On Mon, May 07, 2018 at 10:56:27AM +0800, Zhenyu Wang wrote:
> On 2018.05.04 17:50:30 +0800, changbin.du at intel.com wrote:
> >
> > @@ -934,6 +944,20 @@ static int ppgtt_invalidate_spt(struct intel_vgpu_ppgtt_spt *spt)
> > return ret;
> > }
> >
> > +static bool vgpu_ips_enabled(struct intel_vgpu *vgpu)
> > +{
> > + if (INTEL_GEN(vgpu->gvt->dev_priv) == 9) {
> > + u32 ips = vgpu_vreg_t(vgpu, GEN8_GAMW_ECO_DEV_RW_IA) &
> > + GAMW_ECO_ENABLE_64K_IPS_FIELD;
> > +
> > + return ips == GAMW_ECO_ENABLE_64K_IPS_FIELD;
>
> Should 64K will always be required to enable for all engines or we
> should only check if any engine has 64K ppgtt enabled?
>
64K ppgtt is not controlled by special per-engine flag. It is controlled by a global
flag and IPS bit in PDE.
>
> > + } else if (INTEL_GEN(vgpu->gvt->dev_priv) >= 10) {
> > + /* 64K paging only controlled by IPS bit in PTE now. */
> > + return true;
> > + } else
> > + return false;
> > +}
> > +
> > static int ppgtt_populate_spt(struct intel_vgpu_ppgtt_spt *spt);
> >
> > static struct intel_vgpu_ppgtt_spt *ppgtt_populate_spt_by_guest_entry(
>
> --
> Open Source Technology Center, Intel ltd.
>
> $gpg --keyserver wwwkeys.pgp.net --recv-keys 4D781827
--
Thanks,
Changbin Du
More information about the intel-gvt-dev
mailing list