• Chris Wilson's avatar
    drm/i915: Ignore LVDS presence in VBT flag if the LVDS is enabled by BIOS · eebaed64
    Chris Wilson authored
    On older gen, pre-Ironlake, parts there is no hardwired pin to report
    the presence of an LVDS panel. Instead, we have to rely on the VBT to
    declare whether the machine has a panel or not. Though notoriously
    unreliable, so far we have erred on the side of false-positives and have
    required a list of machines which end up falsely reporting a panel as
    present. However, we now have reports of false-negatives, machines with
    an LVDS that are being ignored due to the VBT not declaring the panel.
    This patch ignores the VBT setting if the BIOS has already enabled the
    LVDS panel (and on Ironlake+ we also have the hardware presence pin).
    
    It fixes the Samsung NP680Z5E-X01FR in the bug report, but is likely to
    result in more false-positives, and since we rely on the BIOS to enable
    the panel, there are likely different circumstances where the BIOS will
    not enable that panel (and so we may see the same machine with and
    without a panel all on the whim of the BIOS).
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=90979
    Reported-and-tested-by: lysxia@gmail.com
    Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
    Reviewed-by: default avatarDamien Lespiau <damien.lespiau@intel.com>
    Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
    eebaed64
intel_lvds.c 32.7 KB