Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 36e16c49 authored by Zhi Wang's avatar Zhi Wang Committed by Chris Wilson
Browse files

drm/i915: Factor out setup_private_pat()



Factor out setup_private_pat() for introducing the following patches.

Signed-off-by: default avatarZhi Wang <zhi.a.wang@intel.com>
Cc: Ben Widawsky <benjamin.widawsky@intel.com>
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Cc: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Reviewed-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: default avatarBen Widawsky <benjamin.widawsky@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/1505202148-22959-1-git-send-email-zhi.a.wang@intel.com


Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
parent c3881128
Loading
Loading
Loading
Loading
+12 −8
Original line number Diff line number Diff line
@@ -2918,6 +2918,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;
@@ -2950,14 +2960,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;
@@ -2978,6 +2980,8 @@ static int gen8_gmch_probe(struct i915_ggtt *ggtt)

	ggtt->invalidate = gen6_ggtt_invalidate;

	setup_private_pat(dev_priv);

	return ggtt_probe_common(ggtt, size);
}