[PATCH 03/13] drm/amdgpu/UAPI: add new CS chunk for GFX shadow buffers

Christian König ckoenig.leichtzumerken at gmail.com
Thu Apr 13 11:32:29 UTC 2023


Ok, then we have a problem.

Alex what do you think?

Christian.

Am 13.04.23 um 11:21 schrieb Marek Olšák:
> That's not why it was removed. It was removed because userspace 
> doesn't use GDS memory and gds_va is always going to be 0.
>
> Firmware shouldn't use it because using it would increase preemption 
> latency.
>
> Marek
>
> On Sun, Apr 9, 2023, 11:21 Christian König 
> <ckoenig.leichtzumerken at gmail.com> wrote:
>
>     We removed the GDS information because they were unnecessary. The
>     GDS size was already part of the device info before we added the
>     shadow info.
>
>     But as far as I know the firmware needs valid VAs for all three
>     buffers or won't work correctly.
>
>     Christian.
>
>     Am 06.04.23 um 17:01 schrieb Marek Olšák:
>>     There is no GDS shadowing info in the device info uapi, so
>>     userspace can't create any GDS buffer and thus can't have any GDS
>>     va. It's a uapi issue, not what firmware wants to do.
>>
>>     Marek
>>
>>     On Thu, Apr 6, 2023 at 6:31 AM Christian König
>>     <ckoenig.leichtzumerken at gmail.com> wrote:
>>
>>         That's what I thought as well, but Mitch/Hans insisted on that.
>>
>>         We should probably double check internally.
>>
>>         Christian.
>>
>>         Am 06.04.23 um 11:43 schrieb Marek Olšák:
>>>         GDS memory isn't used on gfx11. Only GDS OA is used.
>>>
>>>         Marek
>>>
>>>         On Thu, Apr 6, 2023 at 5:09 AM Christian König
>>>         <christian.koenig at amd.com> wrote:
>>>
>>>             Why that?
>>>
>>>             This is the save buffer for GDS, not the old style GDS BOs.
>>>
>>>             Christian.
>>>
>>>             Am 06.04.23 um 09:36 schrieb Marek Olšák:
>>>>             gds_va is unnecessary.
>>>>
>>>>             Marek
>>>>
>>>>             On Thu, Mar 30, 2023 at 3:18 PM Alex Deucher
>>>>             <alexander.deucher at amd.com> wrote:
>>>>
>>>>                 For GFX11, the UMD needs to allocate some shadow
>>>>                 buffers
>>>>                 to be used for preemption.  The UMD allocates the
>>>>                 buffers
>>>>                 and passes the GPU virtual address to the kernel
>>>>                 since the
>>>>                 kernel will program the packet that specified these
>>>>                 addresses as part of its IB submission frame.
>>>>
>>>>                 v2: UMD passes shadow init to tell kernel when to
>>>>                 initialize
>>>>                     the shadow
>>>>
>>>>                 Reviewed-by: Christian König <christian.koenig at amd.com>
>>>>                 Signed-off-by: Alex Deucher <alexander.deucher at 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 b6eb90df5d05..3d9474af6566 100644
>>>>                 --- a/include/uapi/drm/amdgpu_drm.h
>>>>                 +++ b/include/uapi/drm/amdgpu_drm.h
>>>>                 @@ -592,6 +592,7 @@ struct drm_amdgpu_gem_va {
>>>>                  #define AMDGPU_CHUNK_ID_SCHEDULED_DEPENDENCIES 0x07
>>>>                  #define AMDGPU_CHUNK_ID_SYNCOBJ_TIMELINE_WAIT   0x08
>>>>                  #define AMDGPU_CHUNK_ID_SYNCOBJ_TIMELINE_SIGNAL 0x09
>>>>                 +#define AMDGPU_CHUNK_ID_CP_GFX_SHADOW  0x0a
>>>>
>>>>                  struct drm_amdgpu_cs_chunk {
>>>>                         __u32           chunk_id;
>>>>                 @@ -708,6 +709,15 @@ struct drm_amdgpu_cs_chunk_data {
>>>>                         };
>>>>                  };
>>>>
>>>>                 +#define
>>>>                 AMDGPU_CS_CHUNK_CP_GFX_SHADOW_FLAGS_INIT_SHADOW    
>>>>                    0x1
>>>>                 +
>>>>                 +struct drm_amdgpu_cs_chunk_cp_gfx_shadow {
>>>>                 +       __u64 shadow_va;
>>>>                 +       __u64 csa_va;
>>>>                 +       __u64 gds_va;
>>>>                 +       __u64 flags;
>>>>                 +};
>>>>                 +
>>>>                  /*
>>>>                   *  Query h/w info: Flag that this is integrated
>>>>                 (a.h.a. fusion) GPU
>>>>                   *
>>>>                 -- 
>>>>                 2.39.2
>>>>
>>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/amd-gfx/attachments/20230413/772e457b/attachment-0001.htm>


More information about the amd-gfx mailing list