Commit f3ed1048 authored by Ben Skeggs's avatar Ben Skeggs

drm/nouveau/bios: parse external transmitter type if off-chip

Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
parent 5ed50209
...@@ -25,6 +25,7 @@ struct dcb_output { ...@@ -25,6 +25,7 @@ struct dcb_output {
uint8_t or; uint8_t or;
uint8_t link; uint8_t link;
bool duallink_possible; bool duallink_possible;
uint8_t extdev;
union { union {
struct sor_conf { struct sor_conf {
int link; int link;
......
...@@ -135,6 +135,9 @@ dcb_outp_parse(struct nouveau_bios *bios, u8 idx, u8 *ver, u8 *len, ...@@ -135,6 +135,9 @@ dcb_outp_parse(struct nouveau_bios *bios, u8 idx, u8 *ver, u8 *len,
case DCB_OUTPUT_DP: case DCB_OUTPUT_DP:
outp->link = (conf & 0x00000030) >> 4; outp->link = (conf & 0x00000030) >> 4;
outp->sorconf.link = outp->link; /*XXX*/ outp->sorconf.link = outp->link; /*XXX*/
outp->extdev = 0x00;
if (outp->location != 0)
outp->extdev = (conf & 0x0000ff00) >> 8;
break; break;
default: default:
break; break;
...@@ -147,7 +150,7 @@ dcb_outp_parse(struct nouveau_bios *bios, u8 idx, u8 *ver, u8 *len, ...@@ -147,7 +150,7 @@ dcb_outp_parse(struct nouveau_bios *bios, u8 idx, u8 *ver, u8 *len,
static inline u16 static inline u16
dcb_outp_hasht(struct dcb_output *outp) dcb_outp_hasht(struct dcb_output *outp)
{ {
return outp->type; return (outp->location << 4) | outp->type;
} }
static inline u16 static inline u16
......
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