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@xxxxxxx (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