On Die, 2012-06-26 at 17:04 -0400, j.glisse@gmail.com wrote:
From: Jerome Glisse jglisse@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.