|
@@ -1692,3 +1692,36 @@ void lba_set_iregs(struct parisc_device *lba, u32 ibase, u32 imask)
|
|
|
iounmap(base_addr);
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+/*
|
|
|
+ * The design of the Diva management card in rp34x0 machines (rp3410, rp3440)
|
|
|
+ * seems rushed, so that many built-in components simply don't work.
|
|
|
+ * The following quirks disable the serial AUX port and the built-in ATI RV100
|
|
|
+ * Radeon 7000 graphics card which both don't have any external connectors and
|
|
|
+ * thus are useless, and even worse, e.g. the AUX port occupies ttyS0 and as
|
|
|
+ * such makes those machines the only PARISC machines on which we can't use
|
|
|
+ * ttyS0 as boot console.
|
|
|
+ */
|
|
|
+static void quirk_diva_ati_card(struct pci_dev *dev)
|
|
|
+{
|
|
|
+ if (dev->subsystem_vendor != PCI_VENDOR_ID_HP ||
|
|
|
+ dev->subsystem_device != 0x1292)
|
|
|
+ return;
|
|
|
+
|
|
|
+ dev_info(&dev->dev, "Hiding Diva built-in ATI card");
|
|
|
+ dev->device = 0;
|
|
|
+}
|
|
|
+DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_ATI, PCI_DEVICE_ID_ATI_RADEON_QY,
|
|
|
+ quirk_diva_ati_card);
|
|
|
+
|
|
|
+static void quirk_diva_aux_disable(struct pci_dev *dev)
|
|
|
+{
|
|
|
+ if (dev->subsystem_vendor != PCI_VENDOR_ID_HP ||
|
|
|
+ dev->subsystem_device != 0x1291)
|
|
|
+ return;
|
|
|
+
|
|
|
+ dev_info(&dev->dev, "Hiding Diva built-in AUX serial device");
|
|
|
+ dev->device = 0;
|
|
|
+}
|
|
|
+DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_HP, PCI_DEVICE_ID_HP_DIVA_AUX,
|
|
|
+ quirk_diva_aux_disable);
|