From: Boyuan Zhang <boyuan.zhang@xxxxxxx> Add software initializationa and finish for vcn jpeg ring Signed-off-by: Boyuan Zhang <boyuan.zhang at amd.com> --- 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