[PATCH v15 1/5] drm/i915: Factor out setup_private_pat()
Chris Wilson
chris at chris-wilson.co.uk
Tue Sep 12 10:00:00 UTC 2017
Quoting Zhi Wang (2017-09-12 08:42:24)
> Factor out setup_private_pat() for introducing the following patches.
>
> Signed-off-by: Zhi Wang <zhi.a.wang at intel.com>
> Cc: Ben Widawsky <benjamin.widawsky at intel.com>
> Cc: Rodrigo Vivi <rodrigo.vivi at intel.com>
> Cc: Chris Wilson <chris at chris-wilson.co.uk>
> Cc: Joonas Lahtinen <joonas.lahtinen at linux.intel.com>
> Reviewed-by: Chris Wilson <chris at chris-wilson.co.uk>
> Reviewed-by: Ben Widawsky <benjamin.widawsky at intel.com>
> ---
> drivers/gpu/drm/i915/i915_gem_gtt.c | 20 ++++++++++++--------
> 1 file changed, 12 insertions(+), 8 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/i915_gem_gtt.c b/drivers/gpu/drm/i915/i915_gem_gtt.c
> index c33c2f9..2fc0656 100644
> --- a/drivers/gpu/drm/i915/i915_gem_gtt.c
> +++ b/drivers/gpu/drm/i915/i915_gem_gtt.c
> @@ -2915,6 +2915,16 @@ static void gen6_gmch_remove(struct i915_address_space *vm)
> cleanup_scratch_page(vm);
> }
>
> +static void setup_private_pat(struct drm_i915_private *dev_priv)
> +{
> + if (INTEL_GEN(dev_priv) >= 10)
> + cnl_setup_private_ppat(dev_priv);
> + else if (IS_CHERRYVIEW(dev_priv) || IS_GEN9_LP(dev_priv))
> + chv_setup_private_ppat(dev_priv);
> + else
> + bdw_setup_private_ppat(dev_priv);
> +}
> +
> static int gen8_gmch_probe(struct i915_ggtt *ggtt)
> {
> struct drm_i915_private *dev_priv = ggtt->base.i915;
> @@ -2947,14 +2957,6 @@ static int gen8_gmch_probe(struct i915_ggtt *ggtt)
> }
>
> ggtt->base.total = (size / sizeof(gen8_pte_t)) << PAGE_SHIFT;
> -
> - if (INTEL_GEN(dev_priv) >= 10)
> - cnl_setup_private_ppat(dev_priv);
> - else if (IS_CHERRYVIEW(dev_priv) || IS_GEN9_LP(dev_priv))
> - chv_setup_private_ppat(dev_priv);
> - else
> - bdw_setup_private_ppat(dev_priv);
> -
> ggtt->base.cleanup = gen6_gmch_remove;
> ggtt->base.bind_vma = ggtt_bind_vma;
> ggtt->base.unbind_vma = ggtt_unbind_vma;
> @@ -2975,6 +2977,8 @@ static int gen8_gmch_probe(struct i915_ggtt *ggtt)
>
> ggtt->invalidate = gen6_ggtt_invalidate;
>
> + setup_private_pat(dev_priv);
> +
I've pushed this patch so you don't have to keep sending it with every
revision ;)
Looking at it, we should move setup_private_pat() out of gmch_probe, but
it should be a separate step as here we do want to keep the patch
mechanically simple.
-Chris
More information about the intel-gvt-dev
mailing list