diff options
author | Ben Skeggs | 2013-02-12 01:16:31 +0100 |
---|---|---|
committer | Ben Skeggs | 2013-02-20 07:00:57 +0100 |
commit | f3ed1048715f2edc10c4dda6148b60e93f6282ed (patch) | |
tree | 6e0979de3783692fd0cc1439a034a4b305ab3bfc /drivers/gpu/drm/nouveau/core/subdev/bios | |
parent | drm/nouveau: store i2c port pointer directly in nouveau_encoder (diff) | |
download | kernel-qcow2-linux-f3ed1048715f2edc10c4dda6148b60e93f6282ed.tar.gz kernel-qcow2-linux-f3ed1048715f2edc10c4dda6148b60e93f6282ed.tar.xz kernel-qcow2-linux-f3ed1048715f2edc10c4dda6148b60e93f6282ed.zip |
drm/nouveau/bios: parse external transmitter type if off-chip
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/nouveau/core/subdev/bios')
-rw-r--r-- | drivers/gpu/drm/nouveau/core/subdev/bios/dcb.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/gpu/drm/nouveau/core/subdev/bios/dcb.c b/drivers/gpu/drm/nouveau/core/subdev/bios/dcb.c index 0fd87df99dd6..73a29da0415f 100644 --- a/drivers/gpu/drm/nouveau/core/subdev/bios/dcb.c +++ b/drivers/gpu/drm/nouveau/core/subdev/bios/dcb.c @@ -135,6 +135,9 @@ dcb_outp_parse(struct nouveau_bios *bios, u8 idx, u8 *ver, u8 *len, case DCB_OUTPUT_DP: outp->link = (conf & 0x00000030) >> 4; outp->sorconf.link = outp->link; /*XXX*/ + outp->extdev = 0x00; + if (outp->location != 0) + outp->extdev = (conf & 0x0000ff00) >> 8; break; default: break; @@ -147,7 +150,7 @@ dcb_outp_parse(struct nouveau_bios *bios, u8 idx, u8 *ver, u8 *len, static inline u16 dcb_outp_hasht(struct dcb_output *outp) { - return outp->type; + return (outp->location << 4) | outp->type; } static inline u16 |