[PATCH] drm/radeon: disable any GPU activity after unrecovered lockup
Michel Dänzer
michel at daenzer.net
Wed Jun 27 02:19:38 PDT 2012
On Die, 2012-06-26 at 17:04 -0400, j.glisse at gmail.com wrote:
> From: Jerome Glisse <jglisse at redhat.com>
>
> After unrecovered GPU lockup avoid any GPU activities to avoid
> things like kernel segfault and alike to happen in any of the
> path that assume hw is working.
Has the patch been tested and confirmed to actually fix such a problem?
> r = radeon_asic_reset(rdev);
> if (!r) {
> dev_info(rdev->dev, "GPU reset succeed\n");
> radeon_resume(rdev);
> - radeon_restore_bios_scratch_regs(rdev);
> - drm_helper_resume_force_mode(rdev->ddev);
> - ttm_bo_unlock_delayed_workqueue(&rdev->mman.bdev, resched);
> }
>
> + /* no matter what restore video mode */
> + radeon_restore_bios_scratch_regs(rdev);
> + drm_helper_resume_force_mode(rdev->ddev);
> + ttm_bo_unlock_delayed_workqueue(&rdev->mman.bdev, resched);
Maybe this should be in a separate patch.
> @@ -399,6 +418,14 @@ static int radeon_bo_move(struct ttm_buffer_object *bo,
> radeon_move_null(bo, new_mem);
> return 0;
> }
> + if (!rdev->accel_working) {
> + /* when accel is not working GPU is in broken state just
> + * do nothing for any ttm operation to avoid making the
> + * situation worst than it's
'worse than it is', same in the following two hunks.
--
Earthling Michel Dänzer | http://www.amd.com
Libre software enthusiast | Debian, X and DRI developer
More information about the dri-devel
mailing list