Intel-XE Archive on lore.kernel.org
 help / color / mirror / Atom feed
diff for duplicates of <cover.1720515376.git.akshata.jahagirdar@intel.com>

diff --git a/a/content_digest b/N1/content_digest
index 6f1de24..52b1fff 100644
--- a/a/content_digest
+++ b/N1/content_digest
@@ -1,6 +1,6 @@
  "From\0Akshata Jahagirdar <akshata.jahagirdar@intel.com>\0"
  "Subject\0[PATCH 0/6] Implement compression support on BMG\0"
- "Date\0Wed, 10 Jul 2024 00:53:44 -0700\0"
+ "Date\0Wed, 10 Jul 2024 01:17:04 -0700\0"
  "To\0intel-xe@lists.freedesktop.org\0"
  "Cc\0lucas.demarchi@intel.com"
   lucas.demarchi@gmail.com
@@ -33,4 +33,4 @@
  "-- \n"
  2.34.1
 
-230343cb81a65859f7706bbd97cf14acb7faf08e9f83c596744cca9badfadd18
+22dce58b0c7dd9d5d74e71c5a65d4aa496ab6950600490b90935c2c37dc70805

diff --git a/a/content_digest b/N2/content_digest
index 6f1de24..3981806 100644
--- a/a/content_digest
+++ b/N2/content_digest
@@ -1,6 +1,6 @@
  "From\0Akshata Jahagirdar <akshata.jahagirdar@intel.com>\0"
  "Subject\0[PATCH 0/6] Implement compression support on BMG\0"
- "Date\0Wed, 10 Jul 2024 00:53:44 -0700\0"
+ "Date\0Thu, 11 Jul 2024 04:27:04 -0700\0"
  "To\0intel-xe@lists.freedesktop.org\0"
  "Cc\0lucas.demarchi@intel.com"
   lucas.demarchi@gmail.com
@@ -33,4 +33,4 @@
  "-- \n"
  2.34.1
 
-230343cb81a65859f7706bbd97cf14acb7faf08e9f83c596744cca9badfadd18
+6f32a0277cfe75c22f06cbda26994f38599a92c5b644c5febcbfb8cf64512148

diff --git a/a/content_digest b/N3/content_digest
index 6f1de24..1ece586 100644
--- a/a/content_digest
+++ b/N3/content_digest
@@ -1,9 +1,8 @@
  "From\0Akshata Jahagirdar <akshata.jahagirdar@intel.com>\0"
  "Subject\0[PATCH 0/6] Implement compression support on BMG\0"
- "Date\0Wed, 10 Jul 2024 00:53:44 -0700\0"
+ "Date\0Thu, 11 Jul 2024 05:42:58 -0700\0"
  "To\0intel-xe@lists.freedesktop.org\0"
- "Cc\0lucas.demarchi@intel.com"
-  lucas.demarchi@gmail.com
+ "Cc\0akshatajahagirdar6@gmail.com"
  " Akshata Jahagirdar <akshata.jahagirdar@intel.com>\0"
  "\00:1\0"
  "b\0"
@@ -33,4 +32,4 @@
  "-- \n"
  2.34.1
 
-230343cb81a65859f7706bbd97cf14acb7faf08e9f83c596744cca9badfadd18
+860ceea9d5cf91632e67d6e923c8897c92876cee149ba958e447be795d9560d4

diff --git a/a/content_digest b/N4/content_digest
index 6f1de24..ec628af 100644
--- a/a/content_digest
+++ b/N4/content_digest
@@ -1,9 +1,8 @@
  "From\0Akshata Jahagirdar <akshata.jahagirdar@intel.com>\0"
  "Subject\0[PATCH 0/6] Implement compression support on BMG\0"
- "Date\0Wed, 10 Jul 2024 00:53:44 -0700\0"
+ "Date\0Thu, 11 Jul 2024 06:07:22 -0700\0"
  "To\0intel-xe@lists.freedesktop.org\0"
- "Cc\0lucas.demarchi@intel.com"
-  lucas.demarchi@gmail.com
+ "Cc\0akshatajahagirdar6@gmail.com"
  " Akshata Jahagirdar <akshata.jahagirdar@intel.com>\0"
  "\00:1\0"
  "b\0"
@@ -33,4 +32,4 @@
  "-- \n"
  2.34.1
 
-230343cb81a65859f7706bbd97cf14acb7faf08e9f83c596744cca9badfadd18
+088643ad9f2ae217cda21667ee355ccf5dbdf74054758315f16ed69a39ee1b9b

diff --git a/a/1.txt b/N5/1.txt
index 74d32aa..d21714e 100644
--- a/a/1.txt
+++ b/N5/1.txt
@@ -1,9 +1,31 @@
-According to the SAS for BMG compression, we need to decompress during eviction,
-and not recompress on restore. Due to this, we need to introduce encoding pat_index
-in case of vram too. This patch explores the solution of setting up an additional
-identity map for the vram, this time at the end of previous mapping offset and
-with compressed pat_index. 
-We then select the appropriate mapping during eviction/restore/clear.
+On Xe2 the compression has moved to a unified universal model
+(exactly one compression mode/format), where compression is now
+controlled via PAT on per-page basis. This now means KMD can
+decompress freely. This was problematic on DG2 since we had
+multiple compression formats, and the compression format used
+on a particular buffer was unknown to the KMD, so instead the
+raw CCS state needed to be copied around when evicting VRAM.
+In addition mixed VRAM and system memory buffers were not
+supported with compression enabled.
+
+On Xe2 dGPU compression is still only supported with VRAM,
+however we can now support compression with VRAM and system
+memory buffers, with GPU access being seamless underneath.
+So long as when doing VRAM -> sysmem the KMD does the move
+using compressed -> uncompressed, to decompress it.
+CPU access to such buffers is also possible, under the premise
+that userspace first decompress the corresponding pages being
+accessed. If the pages are already in system memory then KMD would
+have already decompressed them. When restoring such buffers with
+sysmem -> VRAM the KMD can't easily know which pages were originally
+compressed, so we always use uncompressed -> uncompressed here.
+With this it also means we can drop all the raw CCS handling
+on such platforms (including needing to allocate extra CCS storage).
+
+In order to support this we now need to have two different identity
+mappings for compressed and uncompressed VRAM.
+The additional identity map is the VRAM with compressed pat_index.
+We then select the appropriate mapping during migration/clear.
 
 Akshata Jahagirdar (6):
   drm/xe/xe2: Introduce identity map for compressed pat for vram
diff --git a/a/content_digest b/N5/content_digest
index 6f1de24..b41691e 100644
--- a/a/content_digest
+++ b/N5/content_digest
@@ -1,18 +1,39 @@
  "From\0Akshata Jahagirdar <akshata.jahagirdar@intel.com>\0"
  "Subject\0[PATCH 0/6] Implement compression support on BMG\0"
- "Date\0Wed, 10 Jul 2024 00:53:44 -0700\0"
+ "Date\0Thu, 11 Jul 2024 05:54:59 +0000\0"
  "To\0intel-xe@lists.freedesktop.org\0"
- "Cc\0lucas.demarchi@intel.com"
-  lucas.demarchi@gmail.com
+ "Cc\0akshatajahagirdar6@gmail.com"
  " Akshata Jahagirdar <akshata.jahagirdar@intel.com>\0"
  "\00:1\0"
  "b\0"
- "According to the SAS for BMG compression, we need to decompress during eviction,\n"
- "and not recompress on restore. Due to this, we need to introduce encoding pat_index\n"
- "in case of vram too. This patch explores the solution of setting up an additional\n"
- "identity map for the vram, this time at the end of previous mapping offset and\n"
- "with compressed pat_index. \n"
- "We then select the appropriate mapping during eviction/restore/clear.\n"
+ "On Xe2 the compression has moved to a unified universal model\n"
+ "(exactly one compression mode/format), where compression is now\n"
+ "controlled via PAT on per-page basis. This now means KMD can\n"
+ "decompress freely. This was problematic on DG2 since we had\n"
+ "multiple compression formats, and the compression format used\n"
+ "on a particular buffer was unknown to the KMD, so instead the\n"
+ "raw CCS state needed to be copied around when evicting VRAM.\n"
+ "In addition mixed VRAM and system memory buffers were not\n"
+ "supported with compression enabled.\n"
+ "\n"
+ "On Xe2 dGPU compression is still only supported with VRAM,\n"
+ "however we can now support compression with VRAM and system\n"
+ "memory buffers, with GPU access being seamless underneath.\n"
+ "So long as when doing VRAM -> sysmem the KMD does the move\n"
+ "using compressed -> uncompressed, to decompress it.\n"
+ "CPU access to such buffers is also possible, under the premise\n"
+ "that userspace first decompress the corresponding pages being\n"
+ "accessed. If the pages are already in system memory then KMD would\n"
+ "have already decompressed them. When restoring such buffers with\n"
+ "sysmem -> VRAM the KMD can't easily know which pages were originally\n"
+ "compressed, so we always use uncompressed -> uncompressed here.\n"
+ "With this it also means we can drop all the raw CCS handling\n"
+ "on such platforms (including needing to allocate extra CCS storage).\n"
+ "\n"
+ "In order to support this we now need to have two different identity\n"
+ "mappings for compressed and uncompressed VRAM.\n"
+ "The additional identity map is the VRAM with compressed pat_index.\n"
+ "We then select the appropriate mapping during migration/clear.\n"
  "\n"
  "Akshata Jahagirdar (6):\n"
  "  drm/xe/xe2: Introduce identity map for compressed pat for vram\n"
@@ -33,4 +54,4 @@
  "-- \n"
  2.34.1
 
-230343cb81a65859f7706bbd97cf14acb7faf08e9f83c596744cca9badfadd18
+7c5cb338b6c0037f5887b130669002e1a2dd0064c57c93e5a90143513b9b27ad

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox