On Wed, Jun 27, 2012 at 5:19 AM, Michel Dänzer michel@daenzer.net wrote:
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?
Yes it has been tested i dont send untested patch to ml.
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.
Idea is to send this patch to stable thus having one patch that have it all.
@@ -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.
Cheers, Jerome