drm/nouveau/disp/nv50-: fix lookup of udisp table under certain circumstances
Some VBIOS have separate tables for each link of a given output path, which means we have to specify the specific link we're using instead of all possible links. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
This commit is contained in:
parent
86b40432bd
commit
9a2b8131c3
|
@ -76,12 +76,10 @@ exec_lookup(struct nv50_disp *disp, int head, int or, u32 ctrl,
|
|||
mask |= 0x0001 << or;
|
||||
mask |= 0x0100 << head;
|
||||
|
||||
|
||||
list_for_each_entry(outp, &disp->base.outp, head) {
|
||||
if ((outp->info.hasht & 0xff) == type &&
|
||||
(outp->info.hashm & mask) == mask) {
|
||||
*data = nvbios_outp_match(bios, outp->info.hasht,
|
||||
outp->info.hashm,
|
||||
*data = nvbios_outp_match(bios, outp->info.hasht, mask,
|
||||
ver, hdr, cnt, len, info);
|
||||
if (!*data)
|
||||
return NULL;
|
||||
|
|
|
@ -269,8 +269,7 @@ exec_lookup(struct nv50_disp *disp, int head, int or, u32 ctrl,
|
|||
list_for_each_entry(outp, &disp->base.outp, head) {
|
||||
if ((outp->info.hasht & 0xff) == type &&
|
||||
(outp->info.hashm & mask) == mask) {
|
||||
*data = nvbios_outp_match(bios, outp->info.hasht,
|
||||
outp->info.hashm,
|
||||
*data = nvbios_outp_match(bios, outp->info.hasht, mask,
|
||||
ver, hdr, cnt, len, info);
|
||||
if (!*data)
|
||||
return NULL;
|
||||
|
|
Loading…
Reference in New Issue