drm/amdgpu: add user space CS support for VPE
authorLang Yu <Lang.Yu@amd.com>
Mon, 19 Dec 2022 06:45:57 +0000 (14:45 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Thu, 31 Aug 2023 20:34:14 +0000 (16:34 -0400)
Enable command submission to VPE from user space.

Signed-off-by: Lang Yu <Lang.Yu@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c
drivers/gpu/drm/amd/amdgpu/amdgpu_fdinfo.c
drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c

index 0dc9c655c4fbdbd9dbd3224508fac806dbd99dfc..be70c3e76ead16c91c12ac45ec684802cb9a16c9 100644 (file)
@@ -42,6 +42,7 @@ const unsigned int amdgpu_ctx_num_entities[AMDGPU_HW_IP_NUM] = {
        [AMDGPU_HW_IP_VCN_DEC]  =       1,
        [AMDGPU_HW_IP_VCN_ENC]  =       1,
        [AMDGPU_HW_IP_VCN_JPEG] =       1,
+       [AMDGPU_HW_IP_VPE]      =       1,
 };
 
 bool amdgpu_ctx_priority_is_valid(int32_t ctx_prio)
index 6038b5021b27be69678c2c5d581d2fa6b913d9c4..cba7e6cdc7cca60e0df93c7d80ef6b8394702542 100644 (file)
@@ -51,6 +51,7 @@ static const char *amdgpu_ip_name[AMDGPU_HW_IP_NUM] = {
        [AMDGPU_HW_IP_VCN_DEC]  =       "dec",
        [AMDGPU_HW_IP_VCN_ENC]  =       "enc",
        [AMDGPU_HW_IP_VCN_JPEG] =       "jpeg",
+       [AMDGPU_HW_IP_VPE]      =       "vpe",
 };
 
 void amdgpu_show_fdinfo(struct drm_printer *p, struct drm_file *file)
index 99f4df133ed3e8f21a77f2636e41c18a82634473..21c4904d283f01ccf6f36d22fb4241bb14cd8aa5 100644 (file)
@@ -469,6 +469,13 @@ static int amdgpu_hw_ip_info(struct amdgpu_device *adev,
                ib_start_alignment = 16;
                ib_size_alignment = 16;
                break;
+       case AMDGPU_HW_IP_VPE:
+               type = AMD_IP_BLOCK_TYPE_VPE;
+               if (adev->vpe.ring.sched.ready)
+                       ++num_rings;
+               ib_start_alignment = 256;
+               ib_size_alignment = 4;
+               break;
        default:
                return -EINVAL;
        }