On Wed, Jun 27, 2012 at 5:19 AM, Michel D?nzer <michel at daenzer.net> wrote: > 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?
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