[PATCH] drm/radeon: disable any GPU activity after unrecovered lockup

Jerome Glisse j.glisse at gmail.com
Wed Jun 27 07:49:04 PDT 2012


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


More information about the dri-devel mailing list