From: Boyuan Zhang <[email protected]>

Add software initializationa and finish for vcn jpeg ring

Signed-off-by: Boyuan Zhang <[email protected]>
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c
index 58e4953..190728f 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c
@@ -120,6 +120,15 @@ int amdgpu_vcn_sw_init(struct amdgpu_device *adev)
                return r;
        }
 
+       ring = &adev->vcn.ring_jpeg;
+       rq = &ring->sched.sched_rq[DRM_SCHED_PRIORITY_NORMAL];
+       r = drm_sched_entity_init(&ring->sched, &adev->vcn.entity_jpeg,
+                                 rq, amdgpu_sched_jobs, NULL);
+       if (r != 0) {
+               DRM_ERROR("Failed setting up VCN jpeg run queue.\n");
+               return r;
+       }
+
        return 0;
 }
 
@@ -133,6 +142,8 @@ int amdgpu_vcn_sw_fini(struct amdgpu_device *adev)
 
        drm_sched_entity_fini(&adev->vcn.ring_enc[0].sched, 
&adev->vcn.entity_enc);
 
+       drm_sched_entity_fini(&adev->vcn.ring_jpeg.sched, 
&adev->vcn.entity_jpeg);
+
        amdgpu_bo_free_kernel(&adev->vcn.vcpu_bo,
                              &adev->vcn.gpu_addr,
                              (void **)&adev->vcn.cpu_addr);
@@ -142,6 +153,8 @@ int amdgpu_vcn_sw_fini(struct amdgpu_device *adev)
        for (i = 0; i < adev->vcn.num_enc_rings; ++i)
                amdgpu_ring_fini(&adev->vcn.ring_enc[i]);
 
+       amdgpu_ring_fini(&adev->vcn.ring_jpeg);
+
        release_firmware(adev->vcn.fw);
 
        return 0;
-- 
2.7.4

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

Reply via email to