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 <[email protected]>
Date:   Fri Oct 19 14:51:52 2012 +0300

    drm/i915: Move cached EDID to intel_connector

Signed-off-by: Chris Wilson <[email protected]>
Cc: Jani Nikula <[email protected]>
Cc: Jesse Barnes <[email protected]>
---
 drivers/gpu/drm/i915/intel_lvds.c |    9 +--------
 1 file changed, 1 insertion(+), 8 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_lvds.c 
b/drivers/gpu/drm/i915/intel_lvds.c
index 5b38c17..189390e 100644
--- a/drivers/gpu/drm/i915/intel_lvds.c
+++ b/drivers/gpu/drm/i915/intel_lvds.c
@@ -480,13 +480,8 @@ static int intel_lvds_get_modes(struct drm_connector 
*connector)
        struct drm_display_mode *mode;
 
        /* use cached edid if we have one */
-       if (lvds_connector->base.edid) {
-               /* invalid edid */
-               if (IS_ERR(lvds_connector->base.edid))
-                       return 0;
-
+       if (!IS_ERR_OR_NULL(lvds_connector->base.edid))
                return drm_add_edid_modes(connector, lvds_connector->base.edid);
-       }
 
        mode = drm_mode_duplicate(dev, lvds_connector->base.panel.fixed_mode);
        if (mode == NULL)
@@ -1065,8 +1060,6 @@ bool intel_lvds_init(struct drm_device *dev)
                        kfree(edid);
                        edid = ERR_PTR(-EINVAL);
                }
-       } else {
-               edid = ERR_PTR(-ENOENT);
        }
        lvds_connector->base.edid = edid;
 
-- 
1.7.10.4

_______________________________________________
Intel-gfx mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to