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