[PATCH v3 0/3] Ring padding micro-optimisation etc

Tvrtko Ursulin tursulin at igalia.com
Mon Dec 23 16:39:10 UTC 2024


From: Tvrtko Ursulin <tvrtko.ursulin at igalia.com>

I have finally rebased my old series from July and October on top of the similar
approach Sunil landed in October but limited to GFX rings.

This covers SDMA and VPE (as an outlier, because it uses the same helper), plus
contains a patch to cache the SDMA instance in the ring since I've noticed the
constant use of amdgpu_sdma_get_instance_from_ring() from SDMA vfuncs looked a
bit lazy. And again, also to use the same approach, memset32 for IB padding.

I don't know what is the maximum padding for SDMA but at least on the Steam
Deck 10 dwords seems rather typical, so that, coupled with the fact it is just
nicer to use the same approach across the rings, I thought it makes sense to do
this.

For now I have dropped the patch which added the memset64 based padding for UVD,
JPEG and VCN rings. I can re-surface that one later if people will be
interested.

Cc: Christian König <christian.koenig at amd.com>
Cc: Sunil Khatri <sunil.khatri at amd.com>

Tvrtko Ursulin (3):
  drm/amdgpu: Use memset32 for padding IB ring
  drm/amdgpu: Use efficient ring padding with more rings
  drm/amdgpu: Cache SDMA instance and index in the ring

 drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c | 56 +++++++++++++++++++-----
 drivers/gpu/drm/amd/amdgpu/amdgpu_ring.h |  7 +++
 drivers/gpu/drm/amd/amdgpu/amdgpu_sdma.c | 39 ++---------------
 drivers/gpu/drm/amd/amdgpu/amdgpu_sdma.h |  3 --
 drivers/gpu/drm/amd/amdgpu/amdgpu_vpe.c  | 16 ++++---
 drivers/gpu/drm/amd/amdgpu/cik_sdma.c    | 19 ++++----
 drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c   | 20 +++++----
 drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c   | 20 +++++----
 drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c   | 20 +++++----
 drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c | 20 +++++----
 drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c   | 24 +++++-----
 drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c   | 27 ++++++------
 drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c   | 27 ++++++------
 drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c   | 27 ++++++------
 14 files changed, 173 insertions(+), 152 deletions(-)

-- 
2.47.1



More information about the amd-gfx mailing list