mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-07-01 03:11:59 +00:00
drm/i915: Add fixed panel mode parsed from EDID for eDP without fixed mode in VBT
Signed-off-by: Zhao Yakui <yakui.zhao@intel.com> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: stable@kernel.org Signed-off-by: Eric Anholt <eric@anholt.net>
This commit is contained in:
parent
81a14b4684
commit
b9efc4804b
1 changed files with 15 additions and 1 deletions
|
@ -1374,8 +1374,22 @@ static int intel_dp_get_modes(struct drm_connector *connector)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
ret = intel_ddc_get_modes(connector, intel_encoder->ddc_bus);
|
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;
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
/* if eDP has no EDID, try to use fixed panel mode from VBT */
|
/* if eDP has no EDID, try to use fixed panel mode from VBT */
|
||||||
if (IS_eDP(intel_encoder) || IS_PCH_eDP(dp_priv)) {
|
if (IS_eDP(intel_encoder) || IS_PCH_eDP(dp_priv)) {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue