Re: [PATCH 1/2] drm/radeon/kms: fix evergreen asic reset

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Dec 20, 2010 at 12:35 PM, Alex Deucher <alexdeucher@xxxxxxxxx> 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@xxxxxxxxx>
> Cc: stable@xxxxxxxxxx
> ---

Reviewed-by: Jerome Glisse <jglisse@xxxxxxxxxx>

>  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@xxxxxxxxxxxxxxxxxxxxx
> http://lists.freedesktop.org/mailman/listinfo/dri-devel
>
_______________________________________________
dri-devel mailing list
dri-devel@xxxxxxxxxxxxxxxxxxxxx
http://lists.freedesktop.org/mailman/listinfo/dri-devel



[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux