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

Reply via email to