Commit b23b9e71 authored by Ben Skeggs's avatar Ben Skeggs

drm/nv50: respect LVDS link count from EDID on SPWG panels

Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
parent 8c3f6bb9
...@@ -517,13 +517,25 @@ nv50_display_script_select(struct drm_device *dev, struct dcb_entry *dcb, ...@@ -517,13 +517,25 @@ nv50_display_script_select(struct drm_device *dev, struct dcb_entry *dcb,
if (bios->fp.if_is_24bit) if (bios->fp.if_is_24bit)
script |= 0x0200; script |= 0x0200;
} else { } else {
/* determine number of lvds links */
if (nv_connector && nv_connector->edid &&
nv_connector->dcb->type == DCB_CONNECTOR_LVDS_SPWG) {
/* http://www.spwg.org */
if (((u8 *)nv_connector->edid)[121] == 2)
script |= 0x0100;
} else
if (pxclk >= bios->fp.duallink_transition_clk) { if (pxclk >= bios->fp.duallink_transition_clk) {
script |= 0x0100; script |= 0x0100;
}
/* determine panel depth */
if (script & 0x0100) {
if (bios->fp.strapless_is_24bit & 2) if (bios->fp.strapless_is_24bit & 2)
script |= 0x0200; script |= 0x0200;
} else } else {
if (bios->fp.strapless_is_24bit & 1) if (bios->fp.strapless_is_24bit & 1)
script |= 0x0200; script |= 0x0200;
}
if (nv_connector && nv_connector->edid && if (nv_connector && nv_connector->edid &&
(nv_connector->edid->revision >= 4) && (nv_connector->edid->revision >= 4) &&
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment