diff options
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_fb.c')
| -rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_fb.c | 17 | 
1 files changed, 17 insertions, 0 deletions
| diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_fb.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_fb.c index 8a122b1b7786..093a8c618931 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_fb.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_fb.c @@ -207,6 +207,7 @@ static int amdgpufb_create(struct drm_fb_helper *helper,  	}  	info->par = rfbdev; +	info->skip_vt_switch = true;  	ret = amdgpu_framebuffer_init(adev->ddev, &rfbdev->rfb, &mode_cmd, gobj);  	if (ret) { @@ -402,3 +403,19 @@ bool amdgpu_fbdev_robj_is_fb(struct amdgpu_device *adev, struct amdgpu_bo *robj)  		return true;  	return false;  } + +void amdgpu_fbdev_restore_mode(struct amdgpu_device *adev) +{ +	struct amdgpu_fbdev *afbdev = adev->mode_info.rfbdev; +	struct drm_fb_helper *fb_helper; +	int ret; + +	if (!afbdev) +		return; + +	fb_helper = &afbdev->helper; + +	ret = drm_fb_helper_restore_fbdev_mode_unlocked(fb_helper); +	if (ret) +		DRM_DEBUG("failed to restore crtc mode\n"); +} | 
