drm/amdgpu: add patch to jpeg ring
authorBoyuan Zhang <boyuan.zhang@amd.com>
Wed, 30 May 2018 19:19:52 +0000 (15:19 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Fri, 15 Jun 2018 17:20:37 +0000 (12:20 -0500)
Add patch commands to jepg ring by calling set patch ring function.

v2: remove modifications on max_dw, buf_mask and ptr_mask, since we are
now using extra_dw for jpeg ring.

Signed-off-by: Boyuan Zhang <boyuan.zhang@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/vcn_v1_0.c

index 8fecdc5cef43e86cfe7aa005e2763ed6e8092926..32b70049fd918afed99c52f5adc9bcca338eaaae 100644 (file)
@@ -760,6 +760,13 @@ static int vcn_v1_0_start(struct amdgpu_device *adev)
        WREG32_SOC15(UVD, 0, mmUVD_JRBC_RB_WPTR, 0);
        WREG32_SOC15(UVD, 0, mmUVD_JRBC_RB_CNTL, 0x00000002L);
 
+       /* initialize wptr */
+       ring->wptr = RREG32_SOC15(UVD, 0, mmUVD_JRBC_RB_WPTR);
+
+       /* copy patch commands to the jpeg ring */
+       vcn_v1_0_jpeg_ring_set_patch_ring(ring,
+               (ring->wptr + ring->max_dw * amdgpu_sched_hw_submission));
+
        return 0;
 }