Commit b7ad57b5 authored by Rex Zhu's avatar Rex Zhu Committed by Alex Deucher
Browse files

drm/amdgpu: get display info from DC when DC enabled.

parent c802570e
Loading
Loading
Loading
Loading
+34 −25
Original line number Diff line number Diff line
@@ -889,10 +889,6 @@ static int amdgpu_cgs_get_active_displays_info(struct cgs_device *cgs_device,
					  struct cgs_display_info *info)
{
	CGS_FUNC_ADEV;
	struct amdgpu_crtc *amdgpu_crtc;
	struct drm_device *ddev = adev->ddev;
	struct drm_crtc *crtc;
	uint32_t line_time_us, vblank_lines;
	struct cgs_mode_info *mode_info;

	if (info == NULL)
@@ -906,6 +902,12 @@ static int amdgpu_cgs_get_active_displays_info(struct cgs_device *cgs_device,
		mode_info->ref_clock = adev->clock.spll.reference_freq;
	}

	if (!amdgpu_device_has_dc_support(adev)) {
		struct amdgpu_crtc *amdgpu_crtc;
		struct drm_device *ddev = adev->ddev;
		struct drm_crtc *crtc;
		uint32_t line_time_us, vblank_lines;

		if (adev->mode_info.num_crtc && adev->mode_info.mode_config_initialized) {
			list_for_each_entry(crtc,
					&ddev->mode_config.crtc_list, head) {
@@ -929,7 +931,14 @@ static int amdgpu_cgs_get_active_displays_info(struct cgs_device *cgs_device,
				}
			}
		}

	} else {
		info->display_count = adev->pm.pm_display_cfg.num_display;
		if (mode_info != NULL) {
			mode_info->vblank_time_us = adev->pm.pm_display_cfg.min_vblank_time;
			mode_info->refresh_rate = adev->pm.pm_display_cfg.vrefresh;
			mode_info->ref_clock = adev->clock.spll.reference_freq;
		}
	}
	return 0;
}