Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 82333
b: refs/heads/master
c: 6bae1d9
h: refs/heads/master
i:
  82331: 16b978b
v: v3
  • Loading branch information
Sebastien Dugue authored and Greg Kroah-Hartman committed Feb 1, 2008
1 parent 5c54c26 commit 03ca81d
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 4 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 6015fbefc4dfe1706b64d33c256878b8296d1470
refs/heads/master: 6bae1d96c6d7dde078994f6cb98235fd46f8736b
30 changes: 27 additions & 3 deletions trunk/drivers/pci/quirks.c
Original file line number Diff line number Diff line change
Expand Up @@ -1711,9 +1711,33 @@ static void __devinit quirk_msi_ht_cap(struct pci_dev *dev)
}
DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_SERVERWORKS, PCI_DEVICE_ID_SERVERWORKS_HT2000_PCIE,
quirk_msi_ht_cap);
DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_SERVERWORKS,
PCI_DEVICE_ID_SERVERWORKS_HT1000_PXB,
quirk_msi_ht_cap);


/*
* Force enable MSI mapping capability on HT bridges
*/
static void __devinit quirk_msi_ht_cap_enable(struct pci_dev *dev)
{
int pos, ttl = 48;

pos = pci_find_ht_capability(dev, HT_CAPTYPE_MSI_MAPPING);
while (pos && ttl--) {
u8 flags;

if (pci_read_config_byte(dev, pos + HT_MSI_FLAGS, &flags) == 0) {
printk(KERN_INFO "PCI: Enabling HT MSI Mapping on %s\n",
pci_name(dev));

pci_write_config_byte(dev, pos + HT_MSI_FLAGS,
flags | HT_MSI_FLAGS_ENABLE);
}
pos = pci_find_next_ht_capability(dev, pos,
HT_CAPTYPE_MSI_MAPPING);
}
}
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_SERVERWORKS,
PCI_DEVICE_ID_SERVERWORKS_HT1000_PXB,
quirk_msi_ht_cap_enable);

/* The nVidia CK804 chipset may have 2 HT MSI mappings.
* MSI are supported if the MSI capability set in any of these mappings.
Expand Down

0 comments on commit 03ca81d

Please sign in to comment.