aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlex Deucher <alexdeucher@gmail.com>2010-12-08 22:13:05 -0500
committerDave Airlie <airlied@redhat.com>2010-12-20 22:30:59 -0500
commit7a868e18a4907dc8f1f05d99bcb9fd3fa8881ee4 (patch)
treeeb45aab3241d1a79ed19930c2945ba93c5e01787
parent000fa7cf46479238f7b9f2d7763e41af5268b16a (diff)
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: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
-rw-r--r--drivers/gpu/drm/radeon/radeon_atombios.c3
-rw-r--r--drivers/gpu/drm/radeon/radeon_connectors.c3
2 files changed, 6 insertions, 0 deletions
diff --git a/drivers/gpu/drm/radeon/radeon_atombios.c b/drivers/gpu/drm/radeon/radeon_atombios.c
index ac882639b3ed..35c5ff09040d 100644
--- a/drivers/gpu/drm/radeon/radeon_atombios.c
+++ b/drivers/gpu/drm/radeon/radeon_atombios.c
@@ -1500,6 +1500,9 @@ struct radeon_encoder_atom_dig *radeon_atombios_get_lvds_info(struct
1500 if (misc & ATOM_DOUBLE_CLOCK_MODE) 1500 if (misc & ATOM_DOUBLE_CLOCK_MODE)
1501 lvds->native_mode.flags |= DRM_MODE_FLAG_DBLSCAN; 1501 lvds->native_mode.flags |= DRM_MODE_FLAG_DBLSCAN;
1502 1502
1503 lvds->native_mode.width_mm = lvds_info->info.sLCDTiming.usImageHSize;
1504 lvds->native_mode.height_mm = lvds_info->info.sLCDTiming.usImageVSize;
1505
1503 /* set crtc values */ 1506 /* set crtc values */
1504 drm_mode_set_crtcinfo(&lvds->native_mode, CRTC_INTERLACE_HALVE_V); 1507 drm_mode_set_crtcinfo(&lvds->native_mode, CRTC_INTERLACE_HALVE_V);
1505 1508
diff --git a/drivers/gpu/drm/radeon/radeon_connectors.c b/drivers/gpu/drm/radeon/radeon_connectors.c
index 3bef9f6d66fd..f3ba066ded20 100644
--- a/drivers/gpu/drm/radeon/radeon_connectors.c
+++ b/drivers/gpu/drm/radeon/radeon_connectors.c
@@ -472,6 +472,9 @@ static int radeon_lvds_get_modes(struct drm_connector *connector)
472 if (mode) { 472 if (mode) {
473 ret = 1; 473 ret = 1;
474 drm_mode_probed_add(connector, mode); 474 drm_mode_probed_add(connector, mode);
475 /* add the width/height from vbios tables if available */
476 connector->display_info.width_mm = mode->width_mm;
477 connector->display_info.height_mm = mode->height_mm;
475 /* add scaled modes */ 478 /* add scaled modes */
476 radeon_add_common_modes(encoder, connector); 479 radeon_add_common_modes(encoder, connector);
477 } 480 }