[PATCH 1/2] drm/radeon/kms: fix evergreen asic reset
Jerome Glisse
j.glisse at gmail.com
Mon Dec 20 11:31:31 PST 2010
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
>
More information about the dri-devel
mailing list