Commit fba67528 authored by Francisco Jerez's avatar Francisco Jerez Committed by Ben Skeggs

drm/nouveau: Fix TMDS on some DCB1.5 boards.

The TMDS output of an nv11 was being detected as LVDS, because it uses
DCB type 2 for TMDS instead of type 4.
Reported-by: default avatarBertrand VIEILLE <Vieille.Bertrand@free.fr>
Signed-off-by: default avatarFrancisco Jerez <currojerez@riseup.net>
Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
parent d31e078d
...@@ -6166,22 +6166,14 @@ parse_dcb15_entry(struct drm_device *dev, struct dcb_table *dcb, ...@@ -6166,22 +6166,14 @@ parse_dcb15_entry(struct drm_device *dev, struct dcb_table *dcb,
entry->type = OUTPUT_TV; entry->type = OUTPUT_TV;
break; break;
case 2: case 2:
case 3:
entry->type = OUTPUT_LVDS;
break;
case 4: case 4:
switch ((conn & 0x000000f0) >> 4) { if (conn & 0x10)
case 0:
entry->type = OUTPUT_TMDS;
break;
case 1:
entry->type = OUTPUT_LVDS; entry->type = OUTPUT_LVDS;
break; else
default: entry->type = OUTPUT_TMDS;
NV_ERROR(dev, "Unknown DCB subtype 4/%d\n", break;
(conn & 0x000000f0) >> 4); case 3:
return false; entry->type = OUTPUT_LVDS;
}
break; break;
default: default:
NV_ERROR(dev, "Unknown DCB type %d\n", conn & 0x0000000f); NV_ERROR(dev, "Unknown DCB type %d\n", conn & 0x0000000f);
......
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