On Mon, Aug 29, 2016 at 9:21 PM, jimqu <Jim.Qu at amd.com> wrote: > unhalt F32`s Instrction Fetch Unit after all rings are inited. > > Change-Id: Ib27e4e02e7e2782a9ab528f5358dce5ff2501e17 > Signed-off-by: JimQu <Jim.Qu at amd.com> Reviewed-by: Alex Deucher <alexander.deucher at amd.com> > --- > drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c | 12 +++++++++--- > 1 file changed, 9 insertions(+), 3 deletions(-) > > diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c > index f055d49..99afab8 100644 > --- a/drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c > +++ b/drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c > @@ -2755,8 +2755,7 @@ static int gfx_v7_0_cp_compute_resume(struct amdgpu_device *adev) > u64 wb_gpu_addr; > u32 *buf; > struct bonaire_mqd *mqd; > - > - gfx_v7_0_cp_compute_enable(adev, true); > + struct amdgpu_ring *ring; > > /* fix up chicken bits */ > tmp = RREG32(mmCP_CPF_DEBUG); > @@ -2791,7 +2790,7 @@ static int gfx_v7_0_cp_compute_resume(struct amdgpu_device *adev) > > /* init the queues. Just two for now. */ > for (i = 0; i < adev->gfx.num_compute_rings; i++) { > - struct amdgpu_ring *ring = &adev->gfx.compute_ring[i]; > + ring = &adev->gfx.compute_ring[i]; > > if (ring->mqd_obj == NULL) { > r = amdgpu_bo_create(adev, > @@ -2970,6 +2969,13 @@ static int gfx_v7_0_cp_compute_resume(struct amdgpu_device *adev) > amdgpu_bo_unreserve(ring->mqd_obj); > > ring->ready = true; > + } > + > + gfx_v7_0_cp_compute_enable(adev, true); > + > + for (i = 0; i < adev->gfx.num_compute_rings; i++) { > + ring = &adev->gfx.compute_ring[i]; > + > r = amdgpu_ring_test_ring(ring); > if (r) > ring->ready = false; > -- > 1.9.1 > > _______________________________________________ > amd-gfx mailing list > amd-gfx at lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/amd-gfx