Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b9efc480 authored by Zhao Yakui's avatar Zhao Yakui Committed by Eric Anholt
Browse files

drm/i915: Add fixed panel mode parsed from EDID for eDP without fixed mode in VBT



Signed-off-by: default avatarZhao Yakui <yakui.zhao@intel.com>
Reviewed-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
Cc: stable@kernel.org
Signed-off-by: default avatarEric Anholt <eric@anholt.net>
parent 81a14b46
Loading
Loading
Loading
Loading
+15 −1
Original line number Diff line number Diff line
@@ -1374,8 +1374,22 @@ static int intel_dp_get_modes(struct drm_connector *connector)
	 */

	ret = intel_ddc_get_modes(connector, intel_encoder->ddc_bus);
	if (ret)
	if (ret) {
		if ((IS_eDP(intel_encoder) || IS_PCH_eDP(dp_priv)) &&
		    !dev_priv->panel_fixed_mode) {
			struct drm_display_mode *newmode;
			list_for_each_entry(newmode, &connector->probed_modes,
					    head) {
				if (newmode->type & DRM_MODE_TYPE_PREFERRED) {
					dev_priv->panel_fixed_mode =
						drm_mode_duplicate(dev, newmode);
					break;
				}
			}
		}

		return ret;
	}

	/* if eDP has no EDID, try to use fixed panel mode from VBT */
	if (IS_eDP(intel_encoder) || IS_PCH_eDP(dp_priv)) {