]> git.baikalelectronics.ru Git - kernel.git/commit
drm/i915: Ignore LVDS presence in VBT flag if the LVDS is enabled by BIOS
authorChris Wilson <chris@chris-wilson.co.uk>
Fri, 19 Jun 2015 12:57:43 +0000 (13:57 +0100)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Mon, 22 Jun 2015 14:13:48 +0000 (16:13 +0200)
commit62eed2de5c9ab536d4675b8de732c184390ae613
treeac2e5f3eb59ede464d8df0748935e71cdebc535b
parent24e02387a3c1505ca79133424932cbe7dafa2545
drm/i915: Ignore LVDS presence in VBT flag if the LVDS is enabled by BIOS

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: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Damien Lespiau <damien.lespiau@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/i915/intel_lvds.c