diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2012-11-21 11:14:04 -0500 |
---|---|---|
committer | Daniel Vetter <daniel.vetter@ffwll.ch> | 2012-11-22 16:06:31 -0500 |
commit | 2aa4f09917d9854928074bb5bf1b9d8a9364a67f (patch) | |
tree | f1be54e60b696333cef8c3d220bb9a6f325bcf41 /drivers/gpu/drm/i915/intel_lvds.c | |
parent | 4b745b1e54efa5154a06ed606ad82660773602b3 (diff) |
drm/i915: LVDS fallback to fixed-mode if EDID not present
Use the recorded panel fixed-mode to populate the get_modes() request in
the absence of an EDID.
Fixes regression from
commit 9cd300e038d492af4990b04e127e0bd2df64b1ca
Author: Jani Nikula <jani.nikula@intel.com>
Date: Fri Oct 19 14:51:52 2012 +0300
drm/i915: Move cached EDID to intel_connector
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Jani Nikula <jani.nikula@intel.com>
Cc: Jesse Barnes <jbarnes@virtuousgeek.org>
Reviewed-by: Jani Nikula <jani.nikula@intel.com>
[danvet: Drop the retval-changing hunk, as suggested by Jani in his
review and acked by Chris.]
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Diffstat (limited to 'drivers/gpu/drm/i915/intel_lvds.c')
-rw-r--r-- | drivers/gpu/drm/i915/intel_lvds.c | 7 |
1 files changed, 1 insertions, 6 deletions
diff --git a/drivers/gpu/drm/i915/intel_lvds.c b/drivers/gpu/drm/i915/intel_lvds.c index 506cfbdd6bab..2e266277f035 100644 --- a/drivers/gpu/drm/i915/intel_lvds.c +++ b/drivers/gpu/drm/i915/intel_lvds.c | |||
@@ -460,13 +460,8 @@ static int intel_lvds_get_modes(struct drm_connector *connector) | |||
460 | struct drm_display_mode *mode; | 460 | struct drm_display_mode *mode; |
461 | 461 | ||
462 | /* use cached edid if we have one */ | 462 | /* use cached edid if we have one */ |
463 | if (lvds_connector->base.edid) { | 463 | if (!IS_ERR_OR_NULL(lvds_connector->base.edid)) |
464 | /* invalid edid */ | ||
465 | if (IS_ERR(lvds_connector->base.edid)) | ||
466 | return 0; | ||
467 | |||
468 | return drm_add_edid_modes(connector, lvds_connector->base.edid); | 464 | return drm_add_edid_modes(connector, lvds_connector->base.edid); |
469 | } | ||
470 | 465 | ||
471 | mode = drm_mode_duplicate(dev, lvds_connector->base.panel.fixed_mode); | 466 | mode = drm_mode_duplicate(dev, lvds_connector->base.panel.fixed_mode); |
472 | if (mode == NULL) | 467 | if (mode == NULL) |