[PATCH 00/15] VCN instance rework

Alex Deucher alexdeucher at gmail.com
Wed Nov 20 17:34:07 UTC 2024


Ping on this series!

On Wed, Nov 13, 2024 at 4:54 PM Alex Deucher <alexander.deucher at amd.com> wrote:
>
> 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