Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7a868e18 authored by Alex Deucher's avatar Alex Deucher Committed by Dave Airlie
Browse files

drm/radeon/kms: use LCD physical size from vbios tables if available



Some systems have the LCD width and height in mm available in the
LCD info table.  Use this info if there is no EDID to provide it.

Signed-off-by: default avatarAlex Deucher <alexdeucher@gmail.com>
Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
parent 000fa7cf
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -1500,6 +1500,9 @@ struct radeon_encoder_atom_dig *radeon_atombios_get_lvds_info(struct
		if (misc & ATOM_DOUBLE_CLOCK_MODE)
			lvds->native_mode.flags |= DRM_MODE_FLAG_DBLSCAN;

		lvds->native_mode.width_mm = lvds_info->info.sLCDTiming.usImageHSize;
		lvds->native_mode.height_mm = lvds_info->info.sLCDTiming.usImageVSize;

		/* set crtc values */
		drm_mode_set_crtcinfo(&lvds->native_mode, CRTC_INTERLACE_HALVE_V);

+3 −0
Original line number Diff line number Diff line
@@ -472,6 +472,9 @@ static int radeon_lvds_get_modes(struct drm_connector *connector)
	if (mode) {
		ret = 1;
		drm_mode_probed_add(connector, mode);
		/* add the width/height from vbios tables if available */
		connector->display_info.width_mm = mode->width_mm;
		connector->display_info.height_mm = mode->height_mm;
		/* add scaled modes */
		radeon_add_common_modes(encoder, connector);
	}