summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/amd/amdgpu/vcn_v5_0_1.c
diff options
context:
space:
mode:
authorAlex Deucher <alexander.deucher@amd.com>2024-11-16 00:19:23 +0300
committerAlex Deucher <alexander.deucher@amd.com>2025-02-27 23:52:29 +0300
commitcb107271687d569c3b706b974bcae6b9fdcfe9d0 (patch)
treeb6d5972371b6f154d0be80b6591adbedfe3e018b /drivers/gpu/drm/amd/amdgpu/vcn_v5_0_1.c
parent9bf9442051c0af835b683411d9ebc6a5036d4cbb (diff)
downloadlinux-cb107271687d569c3b706b974bcae6b9fdcfe9d0.tar.xz
drm/amdgpu/vcn: move more instanced data to vcn_instance
Move more per instance data into the per instance structure. v2: index instances directly on vcn1.0 and 2.0 to make it clear that they only support a single instance (Lijo) v3: fix typo on vcn 2.5 Reviewed-by: Boyuan Zhang <Boyuan.Zhang@amd.com> (v2) Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/vcn_v5_0_1.c')
-rw-r--r--drivers/gpu/drm/amd/amdgpu/vcn_v5_0_1.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/vcn_v5_0_1.c b/drivers/gpu/drm/amd/amdgpu/vcn_v5_0_1.c
index 83e873767a86..ebe977507bc3 100644
--- a/drivers/gpu/drm/amd/amdgpu/vcn_v5_0_1.c
+++ b/drivers/gpu/drm/amd/amdgpu/vcn_v5_0_1.c
@@ -58,9 +58,11 @@ static void vcn_v5_0_1_unified_ring_set_wptr(struct amdgpu_ring *ring);
static int vcn_v5_0_1_early_init(struct amdgpu_ip_block *ip_block)
{
struct amdgpu_device *adev = ip_block->adev;
+ int i;
- /* re-use enc ring as unified ring */
- adev->vcn.num_enc_rings = 1;
+ for (i = 0; i < adev->vcn.num_vcn_inst; ++i)
+ /* re-use enc ring as unified ring */
+ adev->vcn.inst[i].num_enc_rings = 1;
vcn_v5_0_1_set_unified_ring_funcs(adev);
vcn_v5_0_1_set_irq_funcs(adev);
@@ -583,7 +585,7 @@ static int vcn_v5_0_1_start(struct amdgpu_device *adev, int i)
fw_shared = adev->vcn.inst[i].fw_shared.cpu_addr;
if (adev->pg_flags & AMD_PG_SUPPORT_VCN_DPG)
- return vcn_v5_0_1_start_dpg_mode(adev, i, adev->vcn.indirect_sram);
+ return vcn_v5_0_1_start_dpg_mode(adev, i, adev->vcn.inst[i].indirect_sram);
vcn_inst = GET_INST(VCN, i);