Commit c83125bb authored by Stuart Summers's avatar Stuart Summers Committed by Ramalingam C
Browse files

drm/i915: Add has_64k_pages flag



Add a new platform flag, has_64k_pages, to mark the requirement of 64K
GTT page sizes or larger for device local memory access.

Also implies that we require or at least support the compact PT layout
for the ppGTT when using 64K GTT pages.

v2: More explanation for the flag [Thomas]

Signed-off-by: default avatarStuart Summers <stuart.summers@intel.com>
Signed-off-by: default avatarRamalingam C <ramalingam.c@intel.com>
Reviewed-by: default avatarLucas De Marchi <lucas.demarchi@intel.com>
Reviewed-by: default avatarAndi Shyti <andi.shyti@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20211208141613.7251-2-ramalingam.c@intel.com
parent 20cddfcc
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -1717,6 +1717,14 @@ IS_SUBPLATFORM(const struct drm_i915_private *i915,
#define HAS_MSLICES(dev_priv) \
	(INTEL_INFO(dev_priv)->has_mslices)

/*
 * Set this flag, when platform requires 64K GTT page sizes or larger for
 * device local memory access. Also this flag implies that we require or
 * at least support the compact PT layout for the ppGTT when using the 64K
 * GTT pages.
 */
#define HAS_64K_PAGES(dev_priv) (INTEL_INFO(dev_priv)->has_64k_pages)

#define HAS_IPC(dev_priv)		 (INTEL_INFO(dev_priv)->display.has_ipc)

#define HAS_REGION(i915, i) (INTEL_INFO(i915)->memory_regions & (i))
+2 −0
Original line number Diff line number Diff line
@@ -1015,6 +1015,7 @@ static const struct intel_device_info xehpsdv_info = {
	DGFX_FEATURES,
	PLATFORM(INTEL_XEHPSDV),
	.display = { },
	.has_64k_pages = 1,
	.pipe_mask = 0,
	.platform_engine_mask =
		BIT(RCS0) | BIT(BCS0) |
@@ -1033,6 +1034,7 @@ static const struct intel_device_info dg2_info = {
	.graphics.rel = 55,
	.media.rel = 55,
	PLATFORM(INTEL_DG2),
	.has_64k_pages = 1,
	.platform_engine_mask =
		BIT(RCS0) | BIT(BCS0) |
		BIT(VECS0) | BIT(VECS1) |
+1 −0
Original line number Diff line number Diff line
@@ -123,6 +123,7 @@ enum intel_ppgtt_type {
	func(is_dgfx); \
	/* Keep has_* in alphabetical order */ \
	func(has_64bit_reloc); \
	func(has_64k_pages); \
	func(gpu_reset_clobbers_display); \
	func(has_reset_engine); \
	func(has_global_mocs); \