From: Benjamin Herrenschmidt Date: Sat, 11 Oct 2003 18:01:43 +0000 (+0200) Subject: Fix RAMDAC detection on some IMS TwinTurbo video cards ("Mac" cards only), X-Git-Tag: v2.6.0-test8~5^2~31^2~5 X-Git-Url: http://git.neil.brown.name/?a=commitdiff_plain;h=418e54d46f3771b35517786aa6fe4fc56139d9a2;p=history.git Fix RAMDAC detection on some IMS TwinTurbo video cards ("Mac" cards only), without this, you get no display on machines with those cards --- diff --git a/drivers/video/imsttfb.c b/drivers/video/imsttfb.c index a66a3664a9cb..3c7c42213f89 100644 --- a/drivers/video/imsttfb.c +++ b/drivers/video/imsttfb.c @@ -1461,6 +1461,15 @@ imsttfb_probe(struct pci_dev *pdev, const struct pci_device_id *ent) unsigned long addr, size; struct imstt_par *par; struct fb_info *info; +#ifdef CONFIG_PPC_OF + struct device_node *dp; + + dp = pci_device_to_OF_node(pdev); + if(dp) + printk(KERN_INFO "%s: OF name %s\n",__FUNCTION__, dp->name); + else + printk(KERN_ERR "imsttfb: no OF node for pci device\n"); +#endif /* CONFIG_PPC_OF */ size = sizeof(struct fb_info) + sizeof(struct imstt_par) + sizeof(u32) * 16; @@ -1488,6 +1497,11 @@ imsttfb_probe(struct pci_dev *pdev, const struct pci_device_id *ent) switch (pdev->device) { case PCI_DEVICE_ID_IMS_TT128: /* IMS,tt128mbA */ par->ramdac = IBM; +#ifdef CONFIG_PPC_OF + if (dp && ((strcmp(dp->name, "IMS,tt128mb8") == 0) || + (strcmp(dp->name, "IMS,tt128mb8A") == 0))) + par->ramdac = TVP; +#endif /* CONFIG_PPC_OF */ break; case PCI_DEVICE_ID_IMS_TT3D: /* IMS,tt3d */ par->ramdac = TVP;