|
@@ -1679,23 +1679,6 @@ static int intel_dp_compute_bpp(struct intel_dp *intel_dp,
|
|
|
return bpp;
|
|
|
}
|
|
|
|
|
|
-static bool intel_edp_compare_alt_mode(struct drm_display_mode *m1,
|
|
|
- struct drm_display_mode *m2)
|
|
|
-{
|
|
|
- bool bres = false;
|
|
|
-
|
|
|
- if (m1 && m2)
|
|
|
- bres = (m1->hdisplay == m2->hdisplay &&
|
|
|
- m1->hsync_start == m2->hsync_start &&
|
|
|
- m1->hsync_end == m2->hsync_end &&
|
|
|
- m1->htotal == m2->htotal &&
|
|
|
- m1->vdisplay == m2->vdisplay &&
|
|
|
- m1->vsync_start == m2->vsync_start &&
|
|
|
- m1->vsync_end == m2->vsync_end &&
|
|
|
- m1->vtotal == m2->vtotal);
|
|
|
- return bres;
|
|
|
-}
|
|
|
-
|
|
|
/* Adjust link config limits based on compliance test requests. */
|
|
|
static void
|
|
|
intel_dp_adjust_compliance_config(struct intel_dp *intel_dp,
|
|
@@ -1860,16 +1843,8 @@ intel_dp_compute_config(struct intel_encoder *encoder,
|
|
|
pipe_config->has_audio = intel_conn_state->force_audio == HDMI_AUDIO_ON;
|
|
|
|
|
|
if (intel_dp_is_edp(intel_dp) && intel_connector->panel.fixed_mode) {
|
|
|
- struct drm_display_mode *panel_mode =
|
|
|
- intel_connector->panel.alt_fixed_mode;
|
|
|
- struct drm_display_mode *req_mode = &pipe_config->base.mode;
|
|
|
-
|
|
|
- if (!intel_edp_compare_alt_mode(req_mode, panel_mode))
|
|
|
- panel_mode = intel_connector->panel.fixed_mode;
|
|
|
-
|
|
|
- drm_mode_debug_printmodeline(panel_mode);
|
|
|
-
|
|
|
- intel_fixed_panel_mode(panel_mode, adjusted_mode);
|
|
|
+ intel_fixed_panel_mode(intel_connector->panel.fixed_mode,
|
|
|
+ adjusted_mode);
|
|
|
|
|
|
if (INTEL_GEN(dev_priv) >= 9) {
|
|
|
int ret;
|
|
@@ -6159,7 +6134,6 @@ static bool intel_edp_init_connector(struct intel_dp *intel_dp,
|
|
|
struct drm_i915_private *dev_priv = to_i915(dev);
|
|
|
struct drm_connector *connector = &intel_connector->base;
|
|
|
struct drm_display_mode *fixed_mode = NULL;
|
|
|
- struct drm_display_mode *alt_fixed_mode = NULL;
|
|
|
struct drm_display_mode *downclock_mode = NULL;
|
|
|
bool has_dpcd;
|
|
|
struct drm_display_mode *scan;
|
|
@@ -6214,14 +6188,13 @@ static bool intel_edp_init_connector(struct intel_dp *intel_dp,
|
|
|
}
|
|
|
intel_connector->edid = edid;
|
|
|
|
|
|
- /* prefer fixed mode from EDID if available, save an alt mode also */
|
|
|
+ /* prefer fixed mode from EDID if available */
|
|
|
list_for_each_entry(scan, &connector->probed_modes, head) {
|
|
|
if ((scan->type & DRM_MODE_TYPE_PREFERRED)) {
|
|
|
fixed_mode = drm_mode_duplicate(dev, scan);
|
|
|
downclock_mode = intel_dp_drrs_init(
|
|
|
intel_connector, fixed_mode);
|
|
|
- } else if (!alt_fixed_mode) {
|
|
|
- alt_fixed_mode = drm_mode_duplicate(dev, scan);
|
|
|
+ break;
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -6258,8 +6231,7 @@ static bool intel_edp_init_connector(struct intel_dp *intel_dp,
|
|
|
pipe_name(pipe));
|
|
|
}
|
|
|
|
|
|
- intel_panel_init(&intel_connector->panel, fixed_mode, alt_fixed_mode,
|
|
|
- downclock_mode);
|
|
|
+ intel_panel_init(&intel_connector->panel, fixed_mode, downclock_mode);
|
|
|
intel_connector->panel.backlight.power = intel_edp_backlight_power;
|
|
|
intel_panel_setup_backlight(connector, pipe);
|
|
|
|