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

Michel Dänzer michel at daenzer.net
Wed Jun 27 02:19:38 PDT 2012


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?


>  	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.


-- 
Earthling Michel Dänzer           |                   http://www.amd.com
Libre software enthusiast         |          Debian, X and DRI developer


More information about the dri-devel mailing list