[PATCH V2 00/48] VCN instance rework

Alex Deucher alexander.deucher at amd.com
Tue Dec 10 22:52:49 UTC 2024


These series reworks our instances are handled
for VCN to better split the state between instances.

This allows for per instance powergating and opens
the path to further splitting VCN IP blocks
per instance in the future if that is desirable.

It also starts to abstract the IP level instance
handling so similar reworks could be done on
other IPs in the future.

Alex Deucher (48):
  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/vcn5.0.1: split code along instances
  drm/amdgpu/vcn: switch work handler to be per instance
  drm/amdgpu/vcn: make powergating status per instance
  drm/amdgpu/vcn: move more instanced data to vcn_instance
  drm/amdgpu/vcn: switch vcn helpers to be instance based
  drm/amdgpu/vcn3.0: convert internal functions to use vcn_inst
  drm/amdgpu/vcn1.0: convert internal functions to use vcn_inst
  drm/amdgpu/vcn2.0: convert internal functions to use vcn_inst
  drm/amdgpu/vcn2.5: convert internal functions to use vcn_inst
  drm/amdgpu/vcn4.0: convert internal functions to use vcn_inst
  drm/amdgpu/vcn4.0.3: convert internal functions to use vcn_inst
  drm/amdgpu/vcn4.0.5: convert internal functions to use vcn_inst
  drm/amdgpu/vcn5.0.0: convert internal functions to use vcn_inst
  drm/amdgpu/vcn5.0.1: convert internal functions to use vcn_inst
  drm/amdgpu/vcn: adjust pause_dpg_mode function signature
  drm/amdgpu/vcn: add new per instance callback for powergating
  drm/amdgpu/vcn1.0: add set_pg_state callback
  drm/amdgpu/vcn2.0: add set_pg_state callback
  drm/amdgpu/vcn2.5: add set_pg_state callback
  drm/amdgpu/vcn3.0: add set_pg_state callback
  drm/amdgpu/vcn4.0: add set_pg_state callback
  drm/amdgpu/vcn4.0.3: add set_pg_state callback
  drm/amdgpu/vcn4.0.5: add set_pg_state callback
  drm/amdgpu/vcn5.0.0: add set_pg_state callback
  drm/amdgpu/vcn5.0.1: add set_pg_state callback
  drm/amdgpu/vcn: use per instance callbacks for idle work handler
  drm/amdgpu/vcn: add a generic helper for set_power_gating_state
  drm/amdgpu/vcn1.0: use generic set_power_gating_state helper
  drm/amdgpu/vcn2.0: use generic set_power_gating_state helper
  drm/amdgpu/vcn2.5: use generic set_power_gating_state helper
  drm/amdgpu/vcn3.0: use generic set_power_gating_state helper
  drm/amdgpu/vcn4.0: use generic set_power_gating_state helper
  drm/amdgpu/vcn4.0.3: use generic set_power_gating_state helper
  drm/amdgpu/vcn4.0.5: use generic set_power_gating_state helper
  drm/amdgpu/vcn5.0.0: use generic set_power_gating_state helper
  drm/amdgpu/vcn5.0.1: use generic set_power_gating_state helper
  drm/amdgpu: add a helper to get the number of instances
  drm/amdgpu: use new helper to get num instances for VCN
  drm/amdgpu/ras: use the number of JPEG instances
  drm/amdgpu: use new helper to get num instances for UVD
  drm/amdgpu: use new helper to get num instances for JPEG
  drm/amdgpu: use new helper to get num instances for SDMA

 drivers/gpu/drm/amd/amdgpu/amdgpu.h           |    3 +
 drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c   |    3 +-
 .../gpu/drm/amd/amdgpu/amdgpu_dev_coredump.c  |    4 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_device.c    |   37 +
 drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c       |   37 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_mes.c       |    3 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c       |   11 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c       |  455 ++++----
 drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.h       |   43 +-
 drivers/gpu/drm/amd/amdgpu/aqua_vanjaram.c    |   17 +-
 drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c        |    3 +-
 drivers/gpu/drm/amd/amdgpu/gfx_v11_0.c        |    5 +-
 drivers/gpu/drm/amd/amdgpu/gfx_v12_0.c        |    5 +-
 drivers/gpu/drm/amd/amdgpu/jpeg_v1_0.c        |    6 +-
 drivers/gpu/drm/amd/amdgpu/nv.c               |    4 +-
 drivers/gpu/drm/amd/amdgpu/soc15.c            |    3 +-
 drivers/gpu/drm/amd/amdgpu/soc21.c            |    4 +-
 drivers/gpu/drm/amd/amdgpu/soc24.c            |    4 +-
 drivers/gpu/drm/amd/amdgpu/vcn_v1_0.c         |  190 +--
 drivers/gpu/drm/amd/amdgpu/vcn_v2_0.c         |  213 ++--
 drivers/gpu/drm/amd/amdgpu/vcn_v2_5.c         | 1033 +++++++++--------
 drivers/gpu/drm/amd/amdgpu/vcn_v3_0.c         |  658 ++++++-----
 drivers/gpu/drm/amd/amdgpu/vcn_v4_0.c         |  661 ++++++-----
 drivers/gpu/drm/amd/amdgpu/vcn_v4_0_3.c       |  611 +++++-----
 drivers/gpu/drm/amd/amdgpu/vcn_v4_0_5.c       |  644 +++++-----
 drivers/gpu/drm/amd/amdgpu/vcn_v5_0_0.c       |  588 +++++-----
 drivers/gpu/drm/amd/amdgpu/vcn_v5_0_1.c       |  499 ++++----
 drivers/gpu/drm/amd/amdkfd/kfd_device.c       |   12 +-
 drivers/gpu/drm/amd/pm/amdgpu_dpm.c           |    2 +-
 drivers/gpu/drm/amd/pm/amdgpu_pm.c            |    6 +-
 drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c     |   27 +-
 .../amd/pm/swsmu/smu11/sienna_cichlid_ppt.c   |    5 +-
 .../gpu/drm/amd/pm/swsmu/smu13/smu_v13_0.c    |    5 +-
 .../gpu/drm/amd/pm/swsmu/smu14/smu_v14_0.c    |    9 +-
 34 files changed, 3075 insertions(+), 2735 deletions(-)

-- 
2.47.1



More information about the amd-gfx mailing list