On 27/01/2022 09:37, Thomas Hellström (Intel) wrote:
On 1/26/22 18:11, Robert Beckett wrote:
On 26/01/2022 13:49, Thomas Hellström (Intel) wrote:
On 1/25/22 20:35, Robert Beckett wrote:
From: Ramalingam C <ramalingam.c@xxxxxxxxx>
Add a new platform flag, needs_compact_pt, to mark the requirement of
compact pt layout support for the ppGTT when using 64K GTT pages.
With this flag has_64k_pages will only indicate requirement of 64K
GTT page sizes or larger for device local memory access.
Suggested-by: Matthew Auld <matthew.auld@xxxxxxxxx>
Signed-off-by: Ramalingam C <ramalingam.c@xxxxxxxxx>
Signed-off-by: Robert Beckett <bob.beckett@xxxxxxxxxxxxx>
---
drivers/gpu/drm/i915/i915_drv.h | 10 +++++++---
drivers/gpu/drm/i915/i915_pci.c | 2 ++
drivers/gpu/drm/i915/intel_device_info.h | 1 +
3 files changed, 10 insertions(+), 3 deletions(-)
diff --git a/drivers/gpu/drm/i915/i915_drv.h
b/drivers/gpu/drm/i915/i915_drv.h
index 44c1f98144b4..1258b7779705 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -1512,12 +1512,16 @@ IS_SUBPLATFORM(const struct drm_i915_private
*i915,
/*
* 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.
Why do we remove these comment lines?
Because HAS_64K_PAGES now means just 64K page, it no longer means also
requires compact pt.
This is to support other products that will have 64K but not have the
PDE non-sharing restriction in future.
Those lines moved to the next change NEEDS_COMPACT_PT, which is now
separate.
Yes, NEEDS_COMPACT_PT indicates that compact is *required* but does
"HAS_64K_PAGES" still mean compact is supported? That information is lost.
Not any more.
I discussed the ambiguity of the original wording with mauld on irc.
We came to the conclusion that HAS_64K_PAGES should mean just that, that
the hw has support for 64K pages, and says nothing about compact-pt at all.
NEEDS_COMPACT_PT means that the hw has compact-pt support and the driver
is required to use it as it is a hw limitation.
There will be other devices that can support compact-pt but do not
mandate its use. In this case, the current code would not use them, but
there is potential for some future opportunistic use of that in the
driver if desired (currently expected to include accelerated
move/clear). If any opportunistic use is added to the driver, a new flag
can be added along with the code that uses it to indicate compact-pt
availability that is not mandatory (HAS_COMPACT_PT most likely), but as
there is no code requiring it currently it should not be added yet, and
the comments left as this patch does.
/Thomas