All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/18] Separating vcn power management by instance
@ 2024-10-02  4:36 boyuan.zhang
  2024-10-02  4:36 ` [PATCH 01/18] drm/amd/pm: add new vcn enable function pointer boyuan.zhang
                   ` (17 more replies)
  0 siblings, 18 replies; 29+ messages in thread
From: boyuan.zhang @ 2024-10-02  4:36 UTC (permalink / raw)
  To: amd-gfx, leo.liu, christian.koenig, alexander.deucher,
	sunil.khatri
  Cc: Boyuan Zhang

From: Boyuan Zhang <boyuan.zhang@amd.com>

Previously, all vcn instance will be powered on/off at the same time
even only one of the instance requests power status change. This patch set
enables vcn to ONLY power on/off the instance that requires power status
change. Other vcn instances will remain the original power status.

Patch 1-6 are SMU changes to only power ON/OFF given VCN instance.

Patch 7 is VCN change to separate gating status for each VCN instance.

Patch 8 is VCN change to handle idle work separately for each VCN instance.

Patch 9 is to pass ip_block in set_powergating_state() callback function.
Suggested-by Christian König.

Patch 10 is to track VCN instance in VCN ip_block.
Suggested-by Christian König and Alex Deucher.

Patch 11 is to set_powergating_state by instance in amdgpu_device.

Patch 12-17 are to handle ip callback functions separately for each
VCN instance, so that only the given instance will be powered on/off.

Patch 18 is to set powergating state by VCN instance in amdgpu_vcn.

Boyuan Zhang (18):
  drm/amd/pm: add new vcn enable function pointer
  drm/amd/pm: enable vcn by instance for smu v13
  drm/amd/pm: enable vcn by instance for smu v14
  drm/amd/pm: enable vcn by instance for smu 11
  drm/amd/pm: set vcn enable by instance
  drm/amd/pm: set powergating by smu by instance
  drm/amdgpu/vcn: separate gating state by instance
  drm/amdgpu/vcn: separate idle work by instance
  drm/amdgpu: pass ip_block in set_powergating_state
  drm/amdgpu: add ip block with instance
  drm/amdgpu: add set_powergating_state_instance
  drm/amdgpu: power vcn 2_5 by instance
  drm/amdgpu: power vcn 3_0 by instance
  drm/amdgpu: power vcn 4_0 by instance
  drm/amdgpu: power vcn 4_0_3 by instance
  drm/amdgpu: power vcn 4_0_5 by instance
  drm/amdgpu: power vcn 5_0_0 by instance
  drm/amdgpu: set powergating state by vcn instance

 drivers/gpu/drm/amd/amdgpu/amdgpu.h           |   9 +
 drivers/gpu/drm/amd/amdgpu/amdgpu_acp.c       |   4 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c    |   2 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_device.c    |  80 ++-
 drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c |  19 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_isp.c       |   2 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c       |   2 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c       |  82 +--
 drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.h       |   6 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_vkms.c      |   2 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_vpe.c       |   4 +-
 drivers/gpu/drm/amd/amdgpu/cik.c              |   2 +-
 drivers/gpu/drm/amd/amdgpu/cik_ih.c           |   2 +-
 drivers/gpu/drm/amd/amdgpu/cik_sdma.c         |   2 +-
 drivers/gpu/drm/amd/amdgpu/cz_ih.c            |   2 +-
 drivers/gpu/drm/amd/amdgpu/dce_v10_0.c        |   2 +-
 drivers/gpu/drm/amd/amdgpu/dce_v11_0.c        |   2 +-
 drivers/gpu/drm/amd/amdgpu/dce_v6_0.c         |   2 +-
 drivers/gpu/drm/amd/amdgpu/dce_v8_0.c         |   2 +-
 drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c        |   6 +-
 drivers/gpu/drm/amd/amdgpu/gfx_v11_0.c        |   4 +-
 drivers/gpu/drm/amd/amdgpu/gfx_v12_0.c        |   4 +-
 drivers/gpu/drm/amd/amdgpu/gfx_v6_0.c         |   4 +-
 drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c         |   4 +-
 drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c         |   4 +-
 drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c         |   4 +-
 drivers/gpu/drm/amd/amdgpu/gfx_v9_4_3.c       |   2 +-
 drivers/gpu/drm/amd/amdgpu/gmc_v10_0.c        |   2 +-
 drivers/gpu/drm/amd/amdgpu/gmc_v11_0.c        |   2 +-
 drivers/gpu/drm/amd/amdgpu/gmc_v12_0.c        |   2 +-
 drivers/gpu/drm/amd/amdgpu/gmc_v6_0.c         |   2 +-
 drivers/gpu/drm/amd/amdgpu/gmc_v7_0.c         |   2 +-
 drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c         |   2 +-
 drivers/gpu/drm/amd/amdgpu/gmc_v9_0.c         |   2 +-
 drivers/gpu/drm/amd/amdgpu/iceland_ih.c       |   2 +-
 drivers/gpu/drm/amd/amdgpu/ih_v6_0.c          |   4 +-
 drivers/gpu/drm/amd/amdgpu/ih_v6_1.c          |   4 +-
 drivers/gpu/drm/amd/amdgpu/ih_v7_0.c          |   4 +-
 drivers/gpu/drm/amd/amdgpu/jpeg_v1_0.c        |   2 +-
 drivers/gpu/drm/amd/amdgpu/jpeg_v2_0.c        |  10 +-
 drivers/gpu/drm/amd/amdgpu/jpeg_v2_5.c        |  10 +-
 drivers/gpu/drm/amd/amdgpu/jpeg_v3_0.c        |  10 +-
 drivers/gpu/drm/amd/amdgpu/jpeg_v4_0.c        |  10 +-
 drivers/gpu/drm/amd/amdgpu/jpeg_v4_0_3.c      |   8 +-
 drivers/gpu/drm/amd/amdgpu/jpeg_v4_0_5.c      |  10 +-
 drivers/gpu/drm/amd/amdgpu/jpeg_v5_0_0.c      |  10 +-
 drivers/gpu/drm/amd/amdgpu/navi10_ih.c        |   2 +-
 drivers/gpu/drm/amd/amdgpu/nv.c               |   2 +-
 drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c        |   2 +-
 drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c        |   2 +-
 drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c        |   4 +-
 drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c      |   2 +-
 drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c        |   2 +-
 drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c        |   2 +-
 drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c        |   2 +-
 drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c        |   2 +-
 drivers/gpu/drm/amd/amdgpu/si.c               |   2 +-
 drivers/gpu/drm/amd/amdgpu/si_dma.c           |   4 +-
 drivers/gpu/drm/amd/amdgpu/si_ih.c            |   2 +-
 drivers/gpu/drm/amd/amdgpu/soc15.c            |   2 +-
 drivers/gpu/drm/amd/amdgpu/soc21.c            |   4 +-
 drivers/gpu/drm/amd/amdgpu/soc24.c            |   4 +-
 drivers/gpu/drm/amd/amdgpu/tonga_ih.c         |   2 +-
 drivers/gpu/drm/amd/amdgpu/uvd_v3_1.c         |   2 +-
 drivers/gpu/drm/amd/amdgpu/uvd_v4_2.c         |   4 +-
 drivers/gpu/drm/amd/amdgpu/uvd_v5_0.c         |   4 +-
 drivers/gpu/drm/amd/amdgpu/uvd_v6_0.c         |   4 +-
 drivers/gpu/drm/amd/amdgpu/vce_v2_0.c         |   4 +-
 drivers/gpu/drm/amd/amdgpu/vce_v3_0.c         |   4 +-
 drivers/gpu/drm/amd/amdgpu/vce_v4_0.c         |   4 +-
 drivers/gpu/drm/amd/amdgpu/vcn_v1_0.c         |  29 +-
 drivers/gpu/drm/amd/amdgpu/vcn_v2_0.c         |  18 +-
 drivers/gpu/drm/amd/amdgpu/vcn_v2_5.c         | 580 +++++++++--------
 drivers/gpu/drm/amd/amdgpu/vcn_v3_0.c         | 605 +++++++++---------
 drivers/gpu/drm/amd/amdgpu/vcn_v4_0.c         | 531 ++++++++-------
 drivers/gpu/drm/amd/amdgpu/vcn_v4_0_3.c       | 486 +++++++-------
 drivers/gpu/drm/amd/amdgpu/vcn_v4_0_5.c       | 538 ++++++++--------
 drivers/gpu/drm/amd/amdgpu/vcn_v5_0_0.c       | 448 +++++++------
 drivers/gpu/drm/amd/amdgpu/vega10_ih.c        |   2 +-
 drivers/gpu/drm/amd/amdgpu/vega20_ih.c        |   2 +-
 drivers/gpu/drm/amd/amdgpu/vi.c               |   2 +-
 .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c |   2 +-
 drivers/gpu/drm/amd/include/amd_shared.h      |   2 +-
 .../gpu/drm/amd/include/kgd_pp_interface.h    |   2 +
 drivers/gpu/drm/amd/pm/amdgpu_dpm.c           |  67 ++
 drivers/gpu/drm/amd/pm/inc/amdgpu_dpm.h       |   4 +
 drivers/gpu/drm/amd/pm/legacy-dpm/kv_dpm.c    |   2 +-
 drivers/gpu/drm/amd/pm/legacy-dpm/si_dpm.c    |   2 +-
 .../gpu/drm/amd/pm/powerplay/amd_powerplay.c  |   2 +-
 drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c     | 138 +++-
 drivers/gpu/drm/amd/pm/swsmu/inc/amdgpu_smu.h |  10 +-
 drivers/gpu/drm/amd/pm/swsmu/inc/smu_v13_0.h  |   5 +-
 drivers/gpu/drm/amd/pm/swsmu/inc/smu_v14_0.h  |   5 +-
 .../amd/pm/swsmu/smu11/sienna_cichlid_ppt.c   |  24 +-
 .../gpu/drm/amd/pm/swsmu/smu13/smu_v13_0.c    |  21 +-
 .../drm/amd/pm/swsmu/smu13/smu_v13_0_0_ppt.c  |   2 +-
 .../drm/amd/pm/swsmu/smu13/smu_v13_0_4_ppt.c  |   2 +-
 .../drm/amd/pm/swsmu/smu13/smu_v13_0_7_ppt.c  |   2 +-
 .../gpu/drm/amd/pm/swsmu/smu14/smu_v14_0.c    |  40 +-
 .../drm/amd/pm/swsmu/smu14/smu_v14_0_0_ppt.c  |   2 +-
 .../drm/amd/pm/swsmu/smu14/smu_v14_0_2_ppt.c  |   2 +-
 101 files changed, 2132 insertions(+), 1871 deletions(-)

-- 
2.34.1


^ permalink raw reply	[flat|nested] 29+ messages in thread

end of thread, other threads:[~2024-10-04 19:34 UTC | newest]

Thread overview: 29+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-10-02  4:36 [PATCH 00/18] Separating vcn power management by instance boyuan.zhang
2024-10-02  4:36 ` [PATCH 01/18] drm/amd/pm: add new vcn enable function pointer boyuan.zhang
2024-10-02 17:10   ` Alex Deucher
2024-10-04 18:38     ` Boyuan Zhang
2024-10-02  4:36 ` [PATCH 02/18] drm/amd/pm: enable vcn by instance for smu v13 boyuan.zhang
2024-10-02  4:36 ` [PATCH 03/18] drm/amd/pm: enable vcn by instance for smu v14 boyuan.zhang
2024-10-02  4:36 ` [PATCH 04/18] drm/amd/pm: enable vcn by instance for smu 11 boyuan.zhang
2024-10-02  4:36 ` [PATCH 05/18] drm/amd/pm: set vcn enable by instance boyuan.zhang
2024-10-02 11:19   ` Christian König
2024-10-04 18:40     ` Boyuan Zhang
2024-10-02  4:36 ` [PATCH 06/18] drm/amd/pm: set powergating by smu " boyuan.zhang
2024-10-02  4:36 ` [PATCH 07/18] drm/amdgpu/vcn: separate gating state " boyuan.zhang
2024-10-02 11:28   ` Christian König
2024-10-04 18:42     ` Boyuan Zhang
2024-10-02  4:36 ` [PATCH 08/18] drm/amdgpu/vcn: separate idle work " boyuan.zhang
2024-10-02  4:36 ` [PATCH 09/18] drm/amdgpu: pass ip_block in set_powergating_state boyuan.zhang
2024-10-02 11:41   ` Christian König
2024-10-04 19:34     ` Boyuan Zhang
2024-10-02  4:36 ` [PATCH 10/18] drm/amdgpu: add ip block with instance boyuan.zhang
2024-10-02 17:32   ` Alex Deucher
2024-10-04 18:44     ` Boyuan Zhang
2024-10-02  4:36 ` [PATCH 11/18] drm/amdgpu: add set_powergating_state_instance boyuan.zhang
2024-10-02  4:36 ` [PATCH 12/18] drm/amdgpu: power vcn 2_5 by instance boyuan.zhang
2024-10-02  4:36 ` [PATCH 13/18] drm/amdgpu: power vcn 3_0 " boyuan.zhang
2024-10-02  4:36 ` [PATCH 14/18] drm/amdgpu: power vcn 4_0 " boyuan.zhang
2024-10-02  4:36 ` [PATCH 15/18] drm/amdgpu: power vcn 4_0_3 " boyuan.zhang
2024-10-02  4:36 ` [PATCH 16/18] drm/amdgpu: power vcn 4_0_5 " boyuan.zhang
2024-10-02  4:36 ` [PATCH 17/18] drm/amdgpu: power vcn 5_0_0 " boyuan.zhang
2024-10-02  4:36 ` [PATCH 18/18] drm/amdgpu: set powergating state by vcn instance boyuan.zhang

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.