[PATCH 0/6] Implement compression support on BMG

Ghimiray, Himal Prasad himal.prasad.ghimiray at intel.com
Thu Jul 11 12:34:21 UTC 2024



On 11-07-2024 11:24, Akshata Jahagirdar wrote:
> 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.
> 

Have gone through all the patches. Please address indentation and 
checkpatch errors.

With above addressed all patches lgtm.
Reviewed-by: Himal Prasad Ghimiray <himal.prasad.ghimiray at intel.com>

> Akshata Jahagirdar (6):
>    drm/xe/xe2: Introduce identity map for compressed pat for vram
>    drm/xe/migrate: Handle clear ccs logic for xe2 dgfx
>    drm/xe/migrate: Add kunit to test clear functionality
>    drm/xe/xe_migrate: Handle migration logic for xe2+ dgfx
>    drm/xe/migrate: Add kunit to test migration functionality for BMG
>    drm/xe/xe2: Do not run xe_bo_test for xe2+ dgfx
> 
>   drivers/gpu/drm/xe/tests/xe_bo.c           |   6 +
>   drivers/gpu/drm/xe/tests/xe_migrate.c      | 388 +++++++++++++++++++++
>   drivers/gpu/drm/xe/tests/xe_migrate_test.c |   1 +
>   drivers/gpu/drm/xe/tests/xe_migrate_test.h |   1 +
>   drivers/gpu/drm/xe/xe_device.h             |   5 +
>   drivers/gpu/drm/xe/xe_migrate.c            |  66 +++-
>   6 files changed, 449 insertions(+), 18 deletions(-)
> 


More information about the Intel-xe mailing list