drm/amdgpu: allow secure submission on VCN4 ring
authorsguttula <Suresh.Guttula@amd.com>
Fri, 14 Jul 2023 08:47:52 +0000 (14:17 +0530)
committerAlex Deucher <alexander.deucher@amd.com>
Fri, 21 Jul 2023 20:52:24 +0000 (16:52 -0400)
This patch will enable secure decode playback on VCN4_0_2

Signed-off-by: sguttula <Suresh.Guttula@amd.com>
Reviewed-by: Leo Liu <leo.liiu@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/vcn_v4_0.c

index 5dc135520897e304ecf6b6481de5e5645d576ab0..927ce3af1cbcdccfa27c9e200e081660118a34de 100644 (file)
@@ -1798,7 +1798,7 @@ static int vcn_v4_0_ring_patch_cs_in_place(struct amdgpu_cs_parser *p,
        return 0;
 }
 
-static const struct amdgpu_ring_funcs vcn_v4_0_unified_ring_vm_funcs = {
+static struct amdgpu_ring_funcs vcn_v4_0_unified_ring_vm_funcs = {
        .type = AMDGPU_RING_TYPE_VCN_ENC,
        .align_mask = 0x3f,
        .nop = VCN_ENC_CMD_NO_OP,
@@ -1843,7 +1843,11 @@ static void vcn_v4_0_set_unified_ring_funcs(struct amdgpu_device *adev)
                if (adev->vcn.harvest_config & (1 << i))
                        continue;
 
-               adev->vcn.inst[i].ring_enc[0].funcs = &vcn_v4_0_unified_ring_vm_funcs;
+               if (adev->ip_versions[VCN_HWIP][0] == IP_VERSION(4, 0, 2))
+                       vcn_v4_0_unified_ring_vm_funcs.secure_submission_supported = true;
+
+               adev->vcn.inst[i].ring_enc[0].funcs =
+                      (const struct amdgpu_ring_funcs *)&vcn_v4_0_unified_ring_vm_funcs;
                adev->vcn.inst[i].ring_enc[0].me = i;
 
                DRM_INFO("VCN(%d) encode/decode are enabled in VM mode\n", i);