All of lore.kernel.org
 help / color / mirror / Atom feed
From: Alex Deucher <alexander.deucher@amd.com>
To: <amd-gfx@lists.freedesktop.org>
Cc: Alex Deucher <alexander.deucher@amd.com>
Subject: [PATCH V3 00/44] VCN instance rework
Date: Fri, 31 Jan 2025 11:56:56 -0500	[thread overview]
Message-ID: <20250131165741.1798488-1-alexander.deucher@amd.com> (raw)

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


             reply	other threads:[~2025-01-31 16:58 UTC|newest]

Thread overview: 74+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-01-31 16:56 Alex Deucher [this message]
2025-01-31 16:56 ` [PATCH 01/44] drm/amdgpu/vcn2.5: split code along instances Alex Deucher
2025-02-04 15:35   ` Boyuan Zhang
2025-01-31 16:56 ` [PATCH 02/44] drm/amdgpu/vcn3.0: " Alex Deucher
2025-02-04 15:40   ` Boyuan Zhang
2025-01-31 16:56 ` [PATCH 03/44] drm/amdgpu/vcn4.0: " Alex Deucher
2025-02-04 15:50   ` Boyuan Zhang
2025-01-31 16:57 ` [PATCH 04/44] drm/amdgpu/vcn4.0.3: " Alex Deucher
2025-02-04 15:50   ` Boyuan Zhang
2025-01-31 16:57 ` [PATCH 05/44] drm/amdgpu/vcn4.0.5: " Alex Deucher
2025-02-04 15:51   ` Boyuan Zhang
2025-01-31 16:57 ` [PATCH 06/44] drm/amdgpu/vcn5.0.0: " Alex Deucher
2025-02-04 15:56   ` Boyuan Zhang
2025-01-31 16:57 ` [PATCH 07/44] drm/amdgpu/vcn5.0.1: " Alex Deucher
2025-02-04 15:57   ` Boyuan Zhang
2025-01-31 16:57 ` [PATCH 08/44] drm/amdgpu/vcn: switch work handler to be per instance Alex Deucher
2025-02-04 20:59   ` Boyuan Zhang
2025-01-31 16:57 ` [PATCH 09/44] drm/amdgpu/vcn: make powergating status " Alex Deucher
2025-02-05  1:50   ` Boyuan Zhang
2025-01-31 16:57 ` [PATCH 10/44] drm/amdgpu/vcn: move more instanced data to vcn_instance Alex Deucher
2025-02-05  3:06   ` Boyuan Zhang
2025-02-05 20:09     ` Alex Deucher
2025-02-06 13:39       ` Boyuan Zhang
2025-01-31 16:57 ` [PATCH 11/44] drm/amdgpu/vcn: switch vcn helpers to be instance based Alex Deucher
2025-02-05 13:23   ` Boyuan Zhang
2025-01-31 16:57 ` [PATCH 12/44] drm/amdgpu/vcn3.0: convert internal functions to use vcn_inst Alex Deucher
2025-02-05 15:00   ` Boyuan Zhang
2025-01-31 16:57 ` [PATCH 13/44] drm/amdgpu/vcn1.0: " Alex Deucher
2025-02-05 15:01   ` Boyuan Zhang
2025-01-31 16:57 ` [PATCH 14/44] drm/amdgpu/vcn2.0: " Alex Deucher
2025-02-05 15:01   ` Boyuan Zhang
2025-01-31 16:57 ` [PATCH 15/44] drm/amdgpu/vcn2.5: " Alex Deucher
2025-02-05 15:02   ` Boyuan Zhang
2025-01-31 16:57 ` [PATCH 16/44] drm/amdgpu/vcn4.0: " Alex Deucher
2025-02-05 15:03   ` Boyuan Zhang
2025-01-31 16:57 ` [PATCH 17/44] drm/amdgpu/vcn4.0.3: " Alex Deucher
2025-02-05 15:03   ` Boyuan Zhang
2025-01-31 16:57 ` [PATCH 18/44] drm/amdgpu/vcn4.0.5: " Alex Deucher
2025-02-05 15:04   ` Boyuan Zhang
2025-01-31 16:57 ` [PATCH 19/44] drm/amdgpu/vcn5.0.0: " Alex Deucher
2025-02-05 15:05   ` Boyuan Zhang
2025-01-31 16:57 ` [PATCH 20/44] drm/amdgpu/vcn5.0.1: " Alex Deucher
2025-02-05 15:05   ` Boyuan Zhang
2025-01-31 16:57 ` [PATCH 21/44] drm/amdgpu/vcn: adjust pause_dpg_mode function signature Alex Deucher
2025-02-06 13:40   ` Boyuan Zhang
2025-01-31 16:57 ` [PATCH 22/44] drm/amdgpu/vcn: add new per instance callback for powergating Alex Deucher
2025-02-06 13:40   ` Boyuan Zhang
2025-01-31 16:57 ` [PATCH 23/44] drm/amdgpu/vcn1.0: add set_pg_state callback Alex Deucher
2025-02-06 13:46   ` Boyuan Zhang
2025-01-31 16:57 ` [PATCH 24/44] drm/amdgpu/vcn2.0: " Alex Deucher
2025-01-31 16:57 ` [PATCH 25/44] drm/amdgpu/vcn2.5: " Alex Deucher
2025-01-31 16:57 ` [PATCH 26/44] drm/amdgpu/vcn3.0: " Alex Deucher
2025-01-31 16:57 ` [PATCH 27/44] drm/amdgpu/vcn4.0: " Alex Deucher
2025-01-31 16:57 ` [PATCH 28/44] drm/amdgpu/vcn4.0.3: " Alex Deucher
2025-01-31 16:57 ` [PATCH 29/44] drm/amdgpu/vcn4.0.5: " Alex Deucher
2025-01-31 16:57 ` [PATCH 30/44] drm/amdgpu/vcn5.0.0: " Alex Deucher
2025-01-31 16:57 ` [PATCH 31/44] drm/amdgpu/vcn5.0.1: " Alex Deucher
2025-01-31 16:57 ` [PATCH 32/44] drm/amdgpu/vcn: use per instance callbacks for idle work handler Alex Deucher
2025-02-06 13:53   ` Boyuan Zhang
2025-01-31 16:57 ` [PATCH 33/44] drm/amdgpu/vcn: add a generic helper for set_power_gating_state Alex Deucher
2025-02-06 13:54   ` Boyuan Zhang
2025-01-31 16:57 ` [PATCH 34/44] drm/amdgpu/vcn1.0: use generic set_power_gating_state helper Alex Deucher
2025-01-31 16:57 ` [PATCH 35/44] drm/amdgpu/vcn2.0: " Alex Deucher
2025-01-31 16:57 ` [PATCH 36/44] drm/amdgpu/vcn2.5: " Alex Deucher
2025-01-31 16:57 ` [PATCH 37/44] drm/amdgpu/vcn3.0: " Alex Deucher
2025-01-31 16:57 ` [PATCH 38/44] drm/amdgpu/vcn4.0: " Alex Deucher
2025-01-31 16:57 ` [PATCH 39/44] drm/amdgpu/vcn4.0.3: " Alex Deucher
2025-01-31 16:57 ` [PATCH 40/44] drm/amdgpu/vcn4.0.5: " Alex Deucher
2025-01-31 16:57 ` [PATCH 41/44] drm/amdgpu/vcn5.0.0: " Alex Deucher
2025-01-31 16:57 ` [PATCH 42/44] drm/amdgpu/vcn5.0.1: " Alex Deucher
2025-01-31 16:57 ` [PATCH 43/44] drm/amdgpu/vcn: optimize firmware storage Alex Deucher
2025-02-06 14:48   ` Boyuan Zhang
2025-01-31 16:57 ` [PATCH 44/44] drm/amdgpu/vcn: use dev_info() for firmware information Alex Deucher
2025-02-06 14:49   ` Boyuan Zhang

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20250131165741.1798488-1-alexander.deucher@amd.com \
    --to=alexander.deucher@amd.com \
    --cc=amd-gfx@lists.freedesktop.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.