On 15/09/2026 12:48, Timur Kristóf wrote:
On 2026. szeptember 14., hétfő 16:54:20 közép-európai nyári idő Tvrtko Ursulin
wrote:
Some old plus some new patches which mostly streamline the SDMA ring
emission, plus a little bit of GFX ring padding optimisation.
More or less it is about replacing repeated runtime array walks (and
conditionals in general) with direct lookups for things which are invariant
at runtime.
Smoke tested on Steam Deck only.
Bloat-o-meter (from a debug build though):
add/remove: 14/15 grow/shrink: 70/294 up/down: 53590/-196161 (-142571)
...
Total: Before=10822624, After=10680053, chg -1.32%
---
v2/v3:
- Tweaks per individual patch changelogs.
Cc: Timur Kristóf <[email protected]>
Reviewed-by: Timur Kristóf <[email protected]>
The patches look good and make sense to me, but I can't test them right now.
Thank you! Looks like Alex will pull them in and then we will see if I
broke anything.
Regards,
Tvrtko
Tvrtko Ursulin (6):
drm/amdgpu: Add SDMA ring init helper
drm/amdgpu: Add amdgpu_sdma_types.h header
drm/amdgpu: Convert SDMA instance and index to direct lookup
drm/amdgpu: Cache the SDMA CSA address
drm/amdgpu: Extend logical to device instance lookup to all devices
drm/amdgpu: Use memset32 for SDMA padding
drivers/gpu/drm/amd/amdgpu/amdgpu.h | 2 +-
.../drm/amd/amdgpu/amdgpu_amdkfd_gc_9_4_3.c | 1 +
.../gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v9.c | 1 +
drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c | 1 +
drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 2 +
drivers/gpu/drm/amd/amdgpu/amdgpu_gmc.c | 2 +
drivers/gpu/drm/amd/amdgpu/amdgpu_ip.c | 49 ++----
drivers/gpu/drm/amd/amdgpu/amdgpu_ip.h | 21 ++-
drivers/gpu/drm/amd/amdgpu/amdgpu_jpeg.c | 1 +
drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c | 1 +
drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c | 17 +-
drivers/gpu/drm/amd/amdgpu/amdgpu_ring.h | 26 +++
drivers/gpu/drm/amd/amdgpu/amdgpu_sdma.c | 67 +++-----
drivers/gpu/drm/amd/amdgpu/amdgpu_sdma.h | 162 ++++--------------
.../gpu/drm/amd/amdgpu/amdgpu_sdma_types.h | 161 +++++++++++++++++
drivers/gpu/drm/amd/amdgpu/amdgpu_ualink.c | 1 +
drivers/gpu/drm/amd/amdgpu/amdgpu_xcp.c | 1 +
drivers/gpu/drm/amd/amdgpu/aqua_vanjaram.c | 3 +-
drivers/gpu/drm/amd/amdgpu/cik_sdma.c | 1 +
drivers/gpu/drm/amd/amdgpu/gfx_v9_4_3.c | 8 +-
drivers/gpu/drm/amd/amdgpu/gfxhub_v1_2.c | 1 +
drivers/gpu/drm/amd/amdgpu/gmc_v10_0.c | 1 +
drivers/gpu/drm/amd/amdgpu/gmc_v11_0.c | 1 +
drivers/gpu/drm/amd/amdgpu/gmc_v12_0.c | 1 +
drivers/gpu/drm/amd/amdgpu/gmc_v9_0.c | 1 +
drivers/gpu/drm/amd/amdgpu/jpeg_v4_0_3.c | 1 +
drivers/gpu/drm/amd/amdgpu/jpeg_v4_0_5.c | 1 +
drivers/gpu/drm/amd/amdgpu/jpeg_v5_0_0.c | 1 +
drivers/gpu/drm/amd/amdgpu/jpeg_v5_0_1.c | 1 +
drivers/gpu/drm/amd/amdgpu/nbio_v7_9.c | 1 +
drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c | 25 ++-
drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c | 25 ++-
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c | 31 ++--
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c | 39 ++---
drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c | 29 ++--
drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c | 30 ++--
drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c | 32 ++--
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c | 31 ++--
drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c | 34 ++--
drivers/gpu/drm/amd/amdgpu/soc15_common.h | 6 +-
drivers/gpu/drm/amd/amdgpu/vcn_v2_0.c | 1 +
drivers/gpu/drm/amd/amdgpu/vcn_v2_5.c | 1 +
drivers/gpu/drm/amd/amdgpu/vcn_v3_0.c | 1 +
drivers/gpu/drm/amd/amdgpu/vcn_v4_0.c | 1 +
drivers/gpu/drm/amd/amdgpu/vcn_v4_0_3.c | 1 +
drivers/gpu/drm/amd/amdgpu/vcn_v4_0_5.c | 1 +
drivers/gpu/drm/amd/amdgpu/vcn_v5_0_0.c | 1 +
drivers/gpu/drm/amd/amdgpu/vcn_v5_0_1.c | 1 +
drivers/gpu/drm/amd/amdkfd/kfd_device.c | 1 +
drivers/gpu/drm/amd/amdkfd/kfd_migrate.c | 2 +
.../drm/amd/pm/swsmu/smu13/smu_v13_0_12_ppt.c | 1 +
.../drm/amd/pm/swsmu/smu13/smu_v13_0_6_ppt.c | 1 +
drivers/gpu/drm/amd/ras/ras_mgr/ras_sys.h | 7 +-
53 files changed, 435 insertions(+), 405 deletions(-)
create mode 100644 drivers/gpu/drm/amd/amdgpu/amdgpu_sdma_types.h