drm/nouveau: Workaround missing GPIO tables on an Apple iMac G4 NV18.
This should fix the reported TV-out load detection false positives (fdo bug 29455). Reported-by: Vlado Plaga <rechner@vlado-do.de> Signed-off-by: Francisco Jerez <currojerez@riseup.net> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
This commit is contained in:
parent
19bf5f7df9
commit
20d66daf0a
1 changed files with 16 additions and 0 deletions
|
@ -5807,6 +5807,22 @@ parse_dcb_gpio_table(struct nvbios *bios)
|
|||
gpio->line = tvdac_gpio[1] >> 4;
|
||||
gpio->invert = tvdac_gpio[0] & 2;
|
||||
}
|
||||
} else {
|
||||
/*
|
||||
* No systematic way to store GPIO info on pre-v2.2
|
||||
* DCBs, try to match the PCI device IDs.
|
||||
*/
|
||||
|
||||
/* Apple iMac G4 NV18 */
|
||||
if (dev->pdev->device == 0x0189 &&
|
||||
dev->pdev->subsystem_vendor == 0x10de &&
|
||||
dev->pdev->subsystem_device == 0x0010) {
|
||||
struct dcb_gpio_entry *gpio = new_gpio_entry(bios);
|
||||
|
||||
gpio->tag = DCB_GPIO_TVDAC0;
|
||||
gpio->line = 4;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if (!gpio_table_ptr)
|
||||
|
|
Loading…
Reference in a new issue