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,23 +6166,15 @@ parse_dcb15_entry(struct drm_device *dev, struct dcb_table *dcb, ...@@ -6166,23 +6166,15 @@ 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_LVDS;
else
entry->type = OUTPUT_TMDS; entry->type = OUTPUT_TMDS;
break; break;
case 1: case 3:
entry->type = OUTPUT_LVDS; entry->type = OUTPUT_LVDS;
break; break;
default:
NV_ERROR(dev, "Unknown DCB subtype 4/%d\n",
(conn & 0x000000f0) >> 4);
return false;
}
break;
default: default:
NV_ERROR(dev, "Unknown DCB type %d\n", conn & 0x0000000f); NV_ERROR(dev, "Unknown DCB type %d\n", conn & 0x0000000f);
return false; return false;
......
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