Some old plus some new patches which mostly streamline the SDMA ring emission.

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.

v4:
 - Moved Vanjaram override into aqua_vanjaram.c. (Alex)
 - Applied r-b's.

Cc: Timur Kristóf <[email protected]>

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        |  67 ++------
 drivers/gpu/drm/amd/amdgpu/amdgpu_ip.h        |  20 ++-
 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    |  31 +++-
 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, 457 insertions(+), 428 deletions(-)
 create mode 100644 drivers/gpu/drm/amd/amdgpu/amdgpu_sdma_types.h

-- 
2.55.0

Reply via email to