Signed-off-by: James Zhu <[email protected]>
---
 drivers/gpu/drm/amd/amdgpu/uvd_v6_0.c | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/drivers/gpu/drm/amd/amdgpu/uvd_v6_0.c 
b/drivers/gpu/drm/amd/amdgpu/uvd_v6_0.c
index f4f56c9..26b5ef4 100644
--- a/drivers/gpu/drm/amd/amdgpu/uvd_v6_0.c
+++ b/drivers/gpu/drm/amd/amdgpu/uvd_v6_0.c
@@ -173,6 +173,18 @@ static int uvd_v6_0_sw_init(void *handle)
        if (r)
                return r;
 
+       if (uvd_v6_0_enc_support(adev)) {
+               struct amd_sched_rq *rq;
+               ring = &adev->uvd.ring_enc[0];
+               rq = &ring->sched.sched_rq[AMD_SCHED_PRIORITY_NORMAL];
+               r = amd_sched_entity_init(&ring->sched, &adev->uvd.entity_enc,
+                                         rq, amdgpu_sched_jobs);
+               if (r) {
+                       DRM_ERROR("Failed setting up UVD ENC run queue.\n");
+                       return r;
+               }
+       }
+
        r = amdgpu_uvd_resume(adev);
        if (r)
                return r;
@@ -206,6 +218,8 @@ static int uvd_v6_0_sw_fini(void *handle)
                return r;
 
        if (uvd_v6_0_enc_support(adev)) {
+               amd_sched_entity_fini(&adev->uvd.ring_enc[0].sched, 
&adev->uvd.entity_enc);
+
                for (i = 0; i < adev->uvd.num_enc_rings; ++i)
                        amdgpu_ring_fini(&adev->uvd.ring_enc[i]);
        }
-- 
2.7.4

_______________________________________________
amd-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

Reply via email to