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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxxx>

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@xxxxxxx>
Cc: Sunil Khatri <sunil.khatri@xxxxxxx>

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




[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux