diff options
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/uvd_v6_0.c | 16 | ||||
-rw-r--r-- | drivers/gpu/drm/amd/powerplay/hwmgr/smu7_hwmgr.c | 6 |
2 files changed, 8 insertions, 14 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/uvd_v6_0.c b/drivers/gpu/drm/amd/amdgpu/uvd_v6_0.c index 31db356476f8..430a6b4dfac9 100644 --- a/drivers/gpu/drm/amd/amdgpu/uvd_v6_0.c +++ b/drivers/gpu/drm/amd/amdgpu/uvd_v6_0.c | |||
@@ -225,11 +225,7 @@ static int uvd_v6_0_suspend(void *handle) | |||
225 | if (r) | 225 | if (r) |
226 | return r; | 226 | return r; |
227 | 227 | ||
228 | /* Skip this for APU for now */ | 228 | return amdgpu_uvd_suspend(adev); |
229 | if (!(adev->flags & AMD_IS_APU)) | ||
230 | r = amdgpu_uvd_suspend(adev); | ||
231 | |||
232 | return r; | ||
233 | } | 229 | } |
234 | 230 | ||
235 | static int uvd_v6_0_resume(void *handle) | 231 | static int uvd_v6_0_resume(void *handle) |
@@ -237,12 +233,10 @@ static int uvd_v6_0_resume(void *handle) | |||
237 | int r; | 233 | int r; |
238 | struct amdgpu_device *adev = (struct amdgpu_device *)handle; | 234 | struct amdgpu_device *adev = (struct amdgpu_device *)handle; |
239 | 235 | ||
240 | /* Skip this for APU for now */ | 236 | r = amdgpu_uvd_resume(adev); |
241 | if (!(adev->flags & AMD_IS_APU)) { | 237 | if (r) |
242 | r = amdgpu_uvd_resume(adev); | 238 | return r; |
243 | if (r) | 239 | |
244 | return r; | ||
245 | } | ||
246 | return uvd_v6_0_hw_init(adev); | 240 | return uvd_v6_0_hw_init(adev); |
247 | } | 241 | } |
248 | 242 | ||
diff --git a/drivers/gpu/drm/amd/powerplay/hwmgr/smu7_hwmgr.c b/drivers/gpu/drm/amd/powerplay/hwmgr/smu7_hwmgr.c index c2743233ba10..b526f49be65d 100644 --- a/drivers/gpu/drm/amd/powerplay/hwmgr/smu7_hwmgr.c +++ b/drivers/gpu/drm/amd/powerplay/hwmgr/smu7_hwmgr.c | |||
@@ -830,7 +830,7 @@ uint32_t smu7_get_xclk(struct pp_hwmgr *hwmgr) | |||
830 | { | 830 | { |
831 | uint32_t reference_clock, tmp; | 831 | uint32_t reference_clock, tmp; |
832 | struct cgs_display_info info = {0}; | 832 | struct cgs_display_info info = {0}; |
833 | struct cgs_mode_info mode_info; | 833 | struct cgs_mode_info mode_info = {0}; |
834 | 834 | ||
835 | info.mode_info = &mode_info; | 835 | info.mode_info = &mode_info; |
836 | 836 | ||
@@ -3948,10 +3948,9 @@ static int smu7_program_display_gap(struct pp_hwmgr *hwmgr) | |||
3948 | uint32_t ref_clock; | 3948 | uint32_t ref_clock; |
3949 | uint32_t refresh_rate = 0; | 3949 | uint32_t refresh_rate = 0; |
3950 | struct cgs_display_info info = {0}; | 3950 | struct cgs_display_info info = {0}; |
3951 | struct cgs_mode_info mode_info; | 3951 | struct cgs_mode_info mode_info = {0}; |
3952 | 3952 | ||
3953 | info.mode_info = &mode_info; | 3953 | info.mode_info = &mode_info; |
3954 | |||
3955 | cgs_get_active_displays_info(hwmgr->device, &info); | 3954 | cgs_get_active_displays_info(hwmgr->device, &info); |
3956 | num_active_displays = info.display_count; | 3955 | num_active_displays = info.display_count; |
3957 | 3956 | ||
@@ -3967,6 +3966,7 @@ static int smu7_program_display_gap(struct pp_hwmgr *hwmgr) | |||
3967 | frame_time_in_us = 1000000 / refresh_rate; | 3966 | frame_time_in_us = 1000000 / refresh_rate; |
3968 | 3967 | ||
3969 | pre_vbi_time_in_us = frame_time_in_us - 200 - mode_info.vblank_time_us; | 3968 | pre_vbi_time_in_us = frame_time_in_us - 200 - mode_info.vblank_time_us; |
3969 | |||
3970 | data->frame_time_x2 = frame_time_in_us * 2 / 100; | 3970 | data->frame_time_x2 = frame_time_in_us * 2 / 100; |
3971 | 3971 | ||
3972 | display_gap2 = pre_vbi_time_in_us * (ref_clock / 100); | 3972 | display_gap2 = pre_vbi_time_in_us * (ref_clock / 100); |