| From 07666a317c817b655077cd5a5f07a5fa78442f20 Mon Sep 17 00:00:00 2001 |
| From: Patrik Jakobsson <patrik.r.jakobsson@gmail.com> |
| Date: Fri, 8 Nov 2013 16:00:33 +0100 |
| Subject: drm/gma500/mrst: Don't blindly guess a mode for LVDS |
| |
| Previously we always had something hooked up to LVDS so we tried very |
| hard to get a mode. With the Minnowboard this is no longer the case. |
| If no mode can be found over DDC or the firmware we just ignore LVDS. |
| |
| Signed-off-by: Patrik Jakobsson <patrik.r.jakobsson@gmail.com> |
| (cherry picked from commit 49a5d87a894681321d43ed80acb1edf705df0aea) |
| Signed-off-by: Patrik Jakobsson <patrik.r.jakobsson@gmail.com> |
| --- |
| drivers/gpu/drm/gma500/oaktrail_lvds.c | 30 +++--------------------------- |
| 1 file changed, 3 insertions(+), 27 deletions(-) |
| |
| --- a/drivers/gpu/drm/gma500/oaktrail_lvds.c |
| +++ b/drivers/gpu/drm/gma500/oaktrail_lvds.c |
| @@ -218,30 +218,6 @@ static const struct drm_encoder_helper_f |
| .commit = oaktrail_lvds_commit, |
| }; |
| |
| -static struct drm_display_mode lvds_configuration_modes[] = { |
| - /* hard coded fixed mode for TPO LTPS LPJ040K001A */ |
| - { DRM_MODE("800x480", DRM_MODE_TYPE_DRIVER, 33264, 800, 836, |
| - 846, 1056, 0, 480, 489, 491, 525, 0, 0) }, |
| - /* hard coded fixed mode for LVDS 800x480 */ |
| - { DRM_MODE("800x480", DRM_MODE_TYPE_DRIVER, 30994, 800, 801, |
| - 802, 1024, 0, 480, 481, 482, 525, 0, 0) }, |
| - /* hard coded fixed mode for Samsung 480wsvga LVDS 1024x600@75 */ |
| - { DRM_MODE("1024x600", DRM_MODE_TYPE_DRIVER, 53990, 1024, 1072, |
| - 1104, 1184, 0, 600, 603, 604, 608, 0, 0) }, |
| - /* hard coded fixed mode for Samsung 480wsvga LVDS 1024x600@75 */ |
| - { DRM_MODE("1024x600", DRM_MODE_TYPE_DRIVER, 53990, 1024, 1104, |
| - 1136, 1184, 0, 600, 603, 604, 608, 0, 0) }, |
| - /* hard coded fixed mode for Sharp wsvga LVDS 1024x600 */ |
| - { DRM_MODE("1024x600", DRM_MODE_TYPE_DRIVER, 48885, 1024, 1124, |
| - 1204, 1312, 0, 600, 607, 610, 621, 0, 0) }, |
| - /* hard coded fixed mode for LVDS 1024x768 */ |
| - { DRM_MODE("1024x768", DRM_MODE_TYPE_DRIVER, 65000, 1024, 1048, |
| - 1184, 1344, 0, 768, 771, 777, 806, 0, 0) }, |
| - /* hard coded fixed mode for LVDS 1366x768 */ |
| - { DRM_MODE("1366x768", DRM_MODE_TYPE_DRIVER, 77500, 1366, 1430, |
| - 1558, 1664, 0, 768, 769, 770, 776, 0, 0) }, |
| -}; |
| - |
| /* Returns the panel fixed mode from configuration. */ |
| |
| static void oaktrail_lvds_get_configuration_mode(struct drm_device *dev, |
| @@ -303,10 +279,10 @@ static void oaktrail_lvds_get_configurat |
| mode_dev->panel_fixed_mode = |
| drm_mode_duplicate(dev, |
| dev_priv->lfp_lvds_vbt_mode); |
| - /* Then guess */ |
| + |
| + /* If we still got no mode then bail */ |
| if (mode_dev->panel_fixed_mode == NULL) |
| - mode_dev->panel_fixed_mode |
| - = drm_mode_duplicate(dev, &lvds_configuration_modes[2]); |
| + return; |
| |
| drm_mode_set_name(mode_dev->panel_fixed_mode); |
| drm_mode_set_crtcinfo(mode_dev->panel_fixed_mode, 0); |