mirror of https://gitee.com/openkylin/linux.git
drm/nouveau/bios: parse external transmitter type if off-chip
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
This commit is contained in:
parent
5ed502096f
commit
f3ed104871
|
@ -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,
|
||||||
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,
|
||||||
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
|
||||||
|
|
Loading…
Reference in New Issue