• Jesse Barnes's avatar
    drm/i915: cache the EDID for eDP panels · d6f24d0f
    Jesse Barnes authored
    They aren't going anywhere, and probing on DDC can cause the panel to
    blank briefly, so read them up front and cache them for later queries.
    
    v2: fix potential NULL derefs in intel_dp_get_edid_modes and
        intel_dp_get_edid (Jani)
        copy full EDID length, including extension blocks (Takashi)
        free EDID on teardown (Takashi)
    v3: malloc a new EDID buffer that's big enough for the memcpy (Chris)
    v4: change handling of NULL EDIDs, just preserve the NULL behavior
        across detects and mode list fetches rather than trying to re-fetch
        the EDID (Chris)
    v5: be glad that Chris is around to remind me to hit C-x C-s before
        committing.
    
    References: https://bugs.freedesktop.org/show_bug.cgi?id=46856Signed-off-by: default avatarJesse Barnes <jbarnes@virtuousgeek.org>
    Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
    d6f24d0f
intel_dp.c 70.2 KB