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. Best regards, Timur > > 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
