diff options
| author | Alex Deucher <alexander.deucher@amd.com> | 2018-03-08 09:56:01 -0500 | 
|---|---|---|
| committer | Alex Deucher <alexander.deucher@amd.com> | 2018-03-14 15:08:40 -0500 | 
| commit | a59b3c80fd0041223ccf720504974a543b81b1d0 (patch) | |
| tree | a882f3883661b92385cc0d1365c4ba6f9497754f /drivers/gpu/drm/amd/amdgpu/dce_v11_0.c | |
| parent | 0660b58c9038f5ef94b8fe33716449945ea786e5 (diff) | |
drm/amdgpu: save/restore backlight level in legacy dce code
Save/restore the backlight level scratch register in S3/S4 so the
backlight level comes back at the previously requested level.
Bug: https://bugzilla.kernel.org/show_bug.cgi?id=199047
Fixes: 4ec6ecf48c64d (drm/amdgpu: drop scratch regs save and restore from S3/S4 handling)
Acked-by: Michel Dänzer <michel.daenzer@amd.com>
Reviewed-by: Harry Wentland <harry.wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/dce_v11_0.c')
| -rw-r--r-- | drivers/gpu/drm/amd/amdgpu/dce_v11_0.c | 8 | 
1 files changed, 8 insertions, 0 deletions
| diff --git a/drivers/gpu/drm/amd/amdgpu/dce_v11_0.c b/drivers/gpu/drm/amd/amdgpu/dce_v11_0.c index 158b92ea435f..a7c1c584a191 100644 --- a/drivers/gpu/drm/amd/amdgpu/dce_v11_0.c +++ b/drivers/gpu/drm/amd/amdgpu/dce_v11_0.c @@ -2988,6 +2988,11 @@ static int dce_v11_0_hw_fini(void *handle)  static int dce_v11_0_suspend(void *handle)  { +	struct amdgpu_device *adev = (struct amdgpu_device *)handle; + +	adev->mode_info.bl_level = +		amdgpu_atombios_encoder_get_backlight_level_from_reg(adev); +  	return dce_v11_0_hw_fini(handle);  } @@ -2996,6 +3001,9 @@ static int dce_v11_0_resume(void *handle)  	struct amdgpu_device *adev = (struct amdgpu_device *)handle;  	int ret; +	amdgpu_atombios_encoder_set_backlight_level_to_reg(adev, +							   adev->mode_info.bl_level); +  	ret = dce_v11_0_hw_init(handle);  	/* turn on the BL */ | 
