|
|
@@ -51,6 +51,19 @@ int pcibios_plat_dev_init(struct pci_dev *dev)
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
|
+static void malta_piix_func3_base_fixup(struct pci_dev *dev)
|
|
|
+{
|
|
|
+ /* Set a sane PM I/O base address */
|
|
|
+ pci_write_config_word(dev, PIIX4_FUNC3_PMBA, 0x1000);
|
|
|
+
|
|
|
+ /* Enable access to the PM I/O region */
|
|
|
+ pci_write_config_byte(dev, PIIX4_FUNC3_PMREGMISC,
|
|
|
+ PIIX4_FUNC3_PMREGMISC_EN);
|
|
|
+}
|
|
|
+
|
|
|
+DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82371AB_3,
|
|
|
+ malta_piix_func3_base_fixup);
|
|
|
+
|
|
|
static void malta_piix_func0_fixup(struct pci_dev *pdev)
|
|
|
{
|
|
|
unsigned char reg_val;
|