[PATCH 00/15] VCN instance rework

Alex Deucher alexander.deucher at amd.com
Wed Nov 13 21:44:36 UTC 2024


The original design of amdgpu called for separate IP blocks for each
instance of an IP on an SoC.  This never really came to be however for
a variety of reasons.  Boyuan's recent rework was able to get back to
that model, but in doing so it uncovered a lot of corner cases and
regressions.  In fxing them up it became clear that at this point it
was not worth.  This patch set partially reverts that work and reworks
it to align with the current model of having each IP module handle
all instances.  While I was working on this, I noticed a few bugs as
well and they are fixed up.

Patch 1:
Partially revert the previous VCN instance rework.  This retains the
smu interface changes to handle per IP powergating.  It only reverts
the spliting of VCN into per IP instances.  This also reverts some of
Jesse's vcn sysfs changes as it made the revert easier and there were
some cut and paste typos in the patches.

Patches 2-3:
Repply Jesse's sysfs changes with typos fixed.

Patches 4:
JPEG bug fix I noticed while working on the code.

Patches 5-10:
Rework the instance handling within the VCN IP modules.

Patch 11:
Switch the VCN idle work handler to be per instance rather than per IP.

Patch 12:
Store clockgating status per instance rather than per IP

Patch 13-15:
Add new IP level per instance powergating callbacks and enable them
for VCN.

Alex Deucher (13):
  drm/amdgpu: partially revert VCN IP block instancing support
  drm/amdgpu/jpeg: cancel the jpeg worker
  drm/amdgpu/vcn2.5: split code along instances
  drm/amdgpu/vcn3.0: split code along instances
  drm/amdgpu/vcn4.0: split code along instances
  drm/amdgpu/vcn4.0.3: split code along instances
  drm/amdgpu/vcn4.0.5: split code along instances
  drm/amdgpu/vcn5.0.0: split code along instances
  drm/amdgpu/vcn: switch work handler to be per instance
  drm/amdgpu/vcn: make powergating status per instance
  drm/amdgpu: add new IP callback for per instance powergating
  drm/amdgpu/vcn: add new instanced powergating IP callback
  drm/amdgpu/vcn: update work handler for per instance powergating

Jesse Zhang (1):
  drm/amdgpu: fix warning when removing sysfs

Jesse.zhang at amd.com (1):
  drm/amdgpu: Add sysfs interface for vcn reset mask

 drivers/gpu/drm/amd/amdgpu/amdgpu.h           |   10 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_device.c    |   67 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c |   23 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_jpeg.c      |    4 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_reset.c     |   13 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c       |    4 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c       |    4 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c       |  334 +++---
 drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.h       |   28 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_vpe.c       |    8 +-
 drivers/gpu/drm/amd/amdgpu/jpeg_v1_0.c        |    2 +-
 drivers/gpu/drm/amd/amdgpu/jpeg_v2_0.c        |    2 +-
 drivers/gpu/drm/amd/amdgpu/jpeg_v2_5.c        |    2 +-
 drivers/gpu/drm/amd/amdgpu/jpeg_v3_0.c        |    2 +-
 drivers/gpu/drm/amd/amdgpu/jpeg_v4_0.c        |    2 +-
 drivers/gpu/drm/amd/amdgpu/jpeg_v4_0_5.c      |    2 +-
 drivers/gpu/drm/amd/amdgpu/jpeg_v5_0_0.c      |    2 +-
 drivers/gpu/drm/amd/amdgpu/uvd_v3_1.c         |    2 +-
 drivers/gpu/drm/amd/amdgpu/uvd_v4_2.c         |    2 +-
 drivers/gpu/drm/amd/amdgpu/uvd_v5_0.c         |    2 +-
 drivers/gpu/drm/amd/amdgpu/uvd_v6_0.c         |    2 +-
 drivers/gpu/drm/amd/amdgpu/uvd_v7_0.c         |    2 +-
 drivers/gpu/drm/amd/amdgpu/vce_v2_0.c         |    2 +-
 drivers/gpu/drm/amd/amdgpu/vce_v3_0.c         |    2 +-
 drivers/gpu/drm/amd/amdgpu/vce_v4_0.c         |    2 +-
 drivers/gpu/drm/amd/amdgpu/vcn_v1_0.c         |  146 +--
 drivers/gpu/drm/amd/amdgpu/vcn_v2_0.c         |  129 +-
 drivers/gpu/drm/amd/amdgpu/vcn_v2_5.c         | 1043 +++++++++--------
 drivers/gpu/drm/amd/amdgpu/vcn_v3_0.c         |  725 ++++++------
 drivers/gpu/drm/amd/amdgpu/vcn_v4_0.c         |  625 +++++-----
 drivers/gpu/drm/amd/amdgpu/vcn_v4_0_3.c       |  457 ++++----
 drivers/gpu/drm/amd/amdgpu/vcn_v4_0_5.c       |  585 ++++-----
 drivers/gpu/drm/amd/amdgpu/vcn_v5_0_0.c       |  534 +++++----
 drivers/gpu/drm/amd/include/amd_shared.h      |    3 +
 drivers/gpu/drm/amd/pm/amdgpu_dpm.c           |    6 +-
 drivers/gpu/drm/amd/pm/legacy-dpm/kv_dpm.c    |    8 +-
 .../drm/amd/pm/powerplay/hwmgr/smu10_hwmgr.c  |    6 +-
 .../powerplay/hwmgr/smu7_clockpowergating.c   |   12 +-
 .../drm/amd/pm/powerplay/hwmgr/smu8_hwmgr.c   |   12 +-
 .../drm/amd/pm/powerplay/hwmgr/vega20_hwmgr.c |    6 +-
 drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c     |   14 +-
 41 files changed, 2523 insertions(+), 2313 deletions(-)

-- 
2.47.0



More information about the amd-gfx mailing list