aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPatrik Jakobsson <patrik.r.jakobsson@gmail.com>2013-11-08 10:00:33 -0500
committerPatrik Jakobsson <patrik.r.jakobsson@gmail.com>2013-11-08 10:23:10 -0500
commit49a5d87a894681321d43ed80acb1edf705df0aea (patch)
tree3828f34b37257841f6381cf417622a15eb006eb3
parent6528c897966c7d520f18ed4804c31a1f1aa8a3d9 (diff)
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>
-rw-r--r--drivers/gpu/drm/gma500/oaktrail_lvds.c30
1 files changed, 3 insertions, 27 deletions
diff --git a/drivers/gpu/drm/gma500/oaktrail_lvds.c b/drivers/gpu/drm/gma500/oaktrail_lvds.c
index e77d7214fca4..4c17c93d8d10 100644
--- 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_funcs oaktrail_lvds_helper_funcs = {
218 .commit = oaktrail_lvds_commit, 218 .commit = oaktrail_lvds_commit,
219}; 219};
220 220
221static struct drm_display_mode lvds_configuration_modes[] = {
222 /* hard coded fixed mode for TPO LTPS LPJ040K001A */
223 { DRM_MODE("800x480", DRM_MODE_TYPE_DRIVER, 33264, 800, 836,
224 846, 1056, 0, 480, 489, 491, 525, 0, 0) },
225 /* hard coded fixed mode for LVDS 800x480 */
226 { DRM_MODE("800x480", DRM_MODE_TYPE_DRIVER, 30994, 800, 801,
227 802, 1024, 0, 480, 481, 482, 525, 0, 0) },
228 /* hard coded fixed mode for Samsung 480wsvga LVDS 1024x600@75 */
229 { DRM_MODE("1024x600", DRM_MODE_TYPE_DRIVER, 53990, 1024, 1072,
230 1104, 1184, 0, 600, 603, 604, 608, 0, 0) },
231 /* hard coded fixed mode for Samsung 480wsvga LVDS 1024x600@75 */
232 { DRM_MODE("1024x600", DRM_MODE_TYPE_DRIVER, 53990, 1024, 1104,
233 1136, 1184, 0, 600, 603, 604, 608, 0, 0) },
234 /* hard coded fixed mode for Sharp wsvga LVDS 1024x600 */
235 { DRM_MODE("1024x600", DRM_MODE_TYPE_DRIVER, 48885, 1024, 1124,
236 1204, 1312, 0, 600, 607, 610, 621, 0, 0) },
237 /* hard coded fixed mode for LVDS 1024x768 */
238 { DRM_MODE("1024x768", DRM_MODE_TYPE_DRIVER, 65000, 1024, 1048,
239 1184, 1344, 0, 768, 771, 777, 806, 0, 0) },
240 /* hard coded fixed mode for LVDS 1366x768 */
241 { DRM_MODE("1366x768", DRM_MODE_TYPE_DRIVER, 77500, 1366, 1430,
242 1558, 1664, 0, 768, 769, 770, 776, 0, 0) },
243};
244
245/* Returns the panel fixed mode from configuration. */ 221/* Returns the panel fixed mode from configuration. */
246 222
247static void oaktrail_lvds_get_configuration_mode(struct drm_device *dev, 223static void oaktrail_lvds_get_configuration_mode(struct drm_device *dev,
@@ -303,10 +279,10 @@ static void oaktrail_lvds_get_configuration_mode(struct drm_device *dev,
303 mode_dev->panel_fixed_mode = 279 mode_dev->panel_fixed_mode =
304 drm_mode_duplicate(dev, 280 drm_mode_duplicate(dev,
305 dev_priv->lfp_lvds_vbt_mode); 281 dev_priv->lfp_lvds_vbt_mode);
306 /* Then guess */ 282
283 /* If we still got no mode then bail */
307 if (mode_dev->panel_fixed_mode == NULL) 284 if (mode_dev->panel_fixed_mode == NULL)
308 mode_dev->panel_fixed_mode 285 return;
309 = drm_mode_duplicate(dev, &lvds_configuration_modes[2]);
310 286
311 drm_mode_set_name(mode_dev->panel_fixed_mode); 287 drm_mode_set_name(mode_dev->panel_fixed_mode);
312 drm_mode_set_crtcinfo(mode_dev->panel_fixed_mode, 0); 288 drm_mode_set_crtcinfo(mode_dev->panel_fixed_mode, 0);