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