On Mon, Dec 20, 2010 at 12:35 PM, Alex Deucher <alexdeucher at gmail.com> wrote: > Only reset the grbm blocks, srbm tends to lock the GPU > if not done properly and in most cases is not necessary. > Also, no need to call asic init after reset the grbm blocks. > > Signed-off-by: Alex Deucher <alexdeucher at gmail.com> > Cc: stable at kernel.org > ---
Reviewed-by: Jerome Glisse <jglisse at redhat.com> > ?drivers/gpu/drm/radeon/evergreen.c | ? 15 --------------- > ?1 files changed, 0 insertions(+), 15 deletions(-) > > diff --git a/drivers/gpu/drm/radeon/evergreen.c > b/drivers/gpu/drm/radeon/evergreen.c > index 901f366..8b82749 100644 > --- a/drivers/gpu/drm/radeon/evergreen.c > +++ b/drivers/gpu/drm/radeon/evergreen.c > @@ -2036,7 +2036,6 @@ bool evergreen_gpu_is_lockup(struct radeon_device *rdev) > ?static int evergreen_gpu_soft_reset(struct radeon_device *rdev) > ?{ > ? ? ? ?struct evergreen_mc_save save; > - ? ? ? u32 srbm_reset = 0; > ? ? ? ?u32 grbm_reset = 0; > > ? ? ? ?dev_info(rdev->dev, "GPU softreset \n"); > @@ -2075,16 +2074,6 @@ static int evergreen_gpu_soft_reset(struct > radeon_device *rdev) > ? ? ? ?udelay(50); > ? ? ? ?WREG32(GRBM_SOFT_RESET, 0); > ? ? ? ?(void)RREG32(GRBM_SOFT_RESET); > - > - ? ? ? /* reset all the system blocks */ > - ? ? ? srbm_reset = SRBM_SOFT_RESET_ALL_MASK; > - > - ? ? ? dev_info(rdev->dev, " ?SRBM_SOFT_RESET=0x%08X\n", srbm_reset); > - ? ? ? WREG32(SRBM_SOFT_RESET, srbm_reset); > - ? ? ? (void)RREG32(SRBM_SOFT_RESET); > - ? ? ? udelay(50); > - ? ? ? WREG32(SRBM_SOFT_RESET, 0); > - ? ? ? (void)RREG32(SRBM_SOFT_RESET); > ? ? ? ?/* Wait a little for things to settle down */ > ? ? ? ?udelay(50); > ? ? ? ?dev_info(rdev->dev, " ?GRBM_STATUS=0x%08X\n", > @@ -2095,10 +2084,6 @@ static int evergreen_gpu_soft_reset(struct > radeon_device *rdev) > ? ? ? ? ? ? ? ?RREG32(GRBM_STATUS_SE1)); > ? ? ? ?dev_info(rdev->dev, " ?SRBM_STATUS=0x%08X\n", > ? ? ? ? ? ? ? ?RREG32(SRBM_STATUS)); > - ? ? ? /* After reset we need to reinit the asic as GPU often endup in an > - ? ? ? ?* incoherent state. > - ? ? ? ?*/ > - ? ? ? atom_asic_init(rdev->mode_info.atom_context); > ? ? ? ?evergreen_mc_resume(rdev, &save); > ? ? ? ?return 0; > ?} > -- > 1.7.2.3 > > _______________________________________________ > dri-devel mailing list > dri-devel at lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/dri-devel >