On Mon, Mar 20, 2023 at 1:38 PM Alex Deucher <alexander.deucher@amd.com> wrote:
Add UAPI to query the GFX shadow buffer requirements
for preemption on GFX11.  UMDs need to specify the shadow
areas for preemption.

Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
---
 include/uapi/drm/amdgpu_drm.h | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/include/uapi/drm/amdgpu_drm.h b/include/uapi/drm/amdgpu_drm.h
index 3d9474af6566..19a806145371 100644
--- a/include/uapi/drm/amdgpu_drm.h
+++ b/include/uapi/drm/amdgpu_drm.h
@@ -886,6 +886,7 @@ struct drm_amdgpu_cs_chunk_cp_gfx_shadow {
        #define AMDGPU_INFO_VIDEO_CAPS_DECODE           0
        /* Subquery id: Encode */
        #define AMDGPU_INFO_VIDEO_CAPS_ENCODE           1
+#define AMDGPU_INFO_CP_GFX_SHADOW_SIZE         0x22

 #define AMDGPU_INFO_MMR_SE_INDEX_SHIFT 0
 #define AMDGPU_INFO_MMR_SE_INDEX_MASK  0xff
@@ -1203,6 +1204,15 @@ struct drm_amdgpu_info_video_caps {
        struct drm_amdgpu_info_video_codec_info codec_info[AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_COUNT];
 };

+struct drm_amdgpu_info_cp_gfx_shadow_size {
+       __u32 shadow_size;
+       __u32 shadow_alignment;
+       __u32 csa_size;
+       __u32 csa_alignment;
+       __u32 gds_size;
+       __u32 gds_alignment;

Can you document the fields? What is CSA? Also, why is GDS there when the hw deprecated it and replaced it with GDS registers?

Thanks,
Marek