aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
Diffstat (limited to 'drivers')
-rw-r--r--drivers/gpu/drm/i915/intel_sdvo.c10
1 files changed, 3 insertions, 7 deletions
diff --git a/drivers/gpu/drm/i915/intel_sdvo.c b/drivers/gpu/drm/i915/intel_sdvo.c
index 69cf7241c3e0..5c765bb0845d 100644
--- a/drivers/gpu/drm/i915/intel_sdvo.c
+++ b/drivers/gpu/drm/i915/intel_sdvo.c
@@ -1274,10 +1274,7 @@ static int intel_sdvo_mode_valid(struct drm_connector *connector,
1274 if (intel_sdvo->pixel_clock_max < mode->clock) 1274 if (intel_sdvo->pixel_clock_max < mode->clock)
1275 return MODE_CLOCK_HIGH; 1275 return MODE_CLOCK_HIGH;
1276 1276
1277 if (intel_sdvo->is_lvds == true) { 1277 if (intel_sdvo->is_lvds) {
1278 if (intel_sdvo->sdvo_lvds_fixed_mode == NULL)
1279 return MODE_PANEL;
1280
1281 if (mode->hdisplay > intel_sdvo->sdvo_lvds_fixed_mode->hdisplay) 1278 if (mode->hdisplay > intel_sdvo->sdvo_lvds_fixed_mode->hdisplay)
1282 return MODE_PANEL; 1279 return MODE_PANEL;
1283 1280
@@ -1534,7 +1531,7 @@ static enum drm_connector_status intel_sdvo_detect(struct drm_connector *connect
1534 intel_sdvo->base.needs_tv_clock = true; 1531 intel_sdvo->base.needs_tv_clock = true;
1535 } 1532 }
1536 if (response & SDVO_LVDS_MASK) 1533 if (response & SDVO_LVDS_MASK)
1537 intel_sdvo->is_lvds = true; 1534 intel_sdvo->is_lvds = intel_sdvo->sdvo_lvds_fixed_mode != NULL;
1538 } 1535 }
1539 1536
1540 return ret; 1537 return ret;
@@ -1697,6 +1694,7 @@ end:
1697 if (newmode->type & DRM_MODE_TYPE_PREFERRED) { 1694 if (newmode->type & DRM_MODE_TYPE_PREFERRED) {
1698 intel_sdvo->sdvo_lvds_fixed_mode = 1695 intel_sdvo->sdvo_lvds_fixed_mode =
1699 drm_mode_duplicate(connector->dev, newmode); 1696 drm_mode_duplicate(connector->dev, newmode);
1697 intel_sdvo->is_lvds = true;
1700 break; 1698 break;
1701 } 1699 }
1702 } 1700 }
@@ -2190,8 +2188,6 @@ intel_sdvo_lvds_init(struct intel_sdvo *intel_sdvo, int device)
2190 encoder->encoder_type = DRM_MODE_ENCODER_LVDS; 2188 encoder->encoder_type = DRM_MODE_ENCODER_LVDS;
2191 connector->connector_type = DRM_MODE_CONNECTOR_LVDS; 2189 connector->connector_type = DRM_MODE_CONNECTOR_LVDS;
2192 2190
2193 intel_sdvo->is_lvds = true;
2194
2195 if (device == 0) { 2191 if (device == 0) {
2196 intel_sdvo->controlled_output |= SDVO_OUTPUT_LVDS0; 2192 intel_sdvo->controlled_output |= SDVO_OUTPUT_LVDS0;
2197 intel_sdvo_connector->output_flag = SDVO_OUTPUT_LVDS0; 2193 intel_sdvo_connector->output_flag = SDVO_OUTPUT_LVDS0;