These series reworks how 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. Per instance powergating is needed for per engine resets and can help save power on devices with multiple VCN instances. V3: Suggestions from Lijo, optimize fw binary storage Alex Deucher (44): 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/vcn: optimize firmware storage drm/amdgpu/vcn: use dev_info() for firmware information drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c | 2 +- drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c | 464 ++++----- drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.h | 47 +- drivers/gpu/drm/amd/amdgpu/jpeg_v1_0.c | 6 +- drivers/gpu/drm/amd/amdgpu/vcn_v1_0.c | 193 ++-- 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 | 647 +++++++------ 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/pm/swsmu/amdgpu_smu.c | 8 +- 14 files changed, 2951 insertions(+), 2679 deletions(-) -- 2.48.1