From: Jani Nikula jani.nikula@intel.com
If a panel's EDID is broken, there may be an override EDID set in the ACPI OpRegion mailbox #5. Use it if available.
Fixes the GPD Win Max display.
Cc: Uma Shankar uma.shankar@intel.com Signed-off-by: Jani Nikula jani.nikula@intel.com Signed-off-by: Anisse Astier anisse@astier.eu
[Anisse changes: function name] --- drivers/gpu/drm/i915/display/intel_dp.c | 3 +++ 1 file changed, 3 insertions(+)
diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c index 5c9222283044..43fb485c0e02 100644 --- a/drivers/gpu/drm/i915/display/intel_dp.c +++ b/drivers/gpu/drm/i915/display/intel_dp.c @@ -5191,6 +5191,9 @@ static bool intel_edp_init_connector(struct intel_dp *intel_dp, goto out_vdd_off; }
+ /* Set up override EDID, if any, from ACPI OpRegion */ + intel_opregion_edid_probe(intel_connector); + mutex_lock(&dev->mode_config.mutex); edid = drm_get_edid(connector, &intel_dp->aux.ddc); if (edid) {