Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7a380507c48f7894bae7d367375313df9d51b2e5
Commit:     7a380507c48f7894bae7d367375313df9d51b2e5
Parent:     d010b51c7ea9c28e30a476032615941aa77b1498
Author:     Michael Ellerman <[EMAIL PROTECTED]>
AuthorDate: Wed Nov 22 18:26:21 2006 +1100
Committer:  Greg Kroah-Hartman <[EMAIL PROTECTED]>
CommitDate: Wed Dec 20 10:54:43 2006 -0800

    PCI: Use pci_find_ht_capability() in drivers/pci/quirks.c
    
    Use pci_find_ht_capability() in drivers/pci/quirks.c.
    
    I'm pretty sure the logic is unchanged here, but someone please eye-ball it
    for me. I've changed the message to be a little shorter, it's now:
    
    PCI: Found (enabled|disabled) HT MSI mapping on xxxx:xx:xx.x
    
    Signed-off-by: Michael Ellerman <[EMAIL PROTECTED]>
    Signed-off-by: Greg Kroah-Hartman <[EMAIL PROTECTED]>
---
 drivers/pci/quirks.c |   28 ++++++++++++++++------------
 1 files changed, 16 insertions(+), 12 deletions(-)

diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
index 7571863..cf3e7c0 100644
--- a/drivers/pci/quirks.c
+++ b/drivers/pci/quirks.c
@@ -1644,19 +1644,23 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_AMD, 
PCI_DEVICE_ID_AMD_8131_BRIDGE, quirk_
  * return 1 if a HT MSI capability is found and enabled */
 static int __devinit msi_ht_cap_enabled(struct pci_dev *dev)
 {
-       u8 pos;
-       int ttl;
-       for (pos = pci_find_capability(dev, PCI_CAP_ID_HT), ttl = 48;
-            pos && ttl;
-            pos = pci_find_next_capability(dev, pos, PCI_CAP_ID_HT), ttl--) {
-               u32 cap_hdr;
-               /* MSI mapping section according to Hypertransport spec */
-               if (pci_read_config_dword(dev, pos, &cap_hdr) == 0
-                   && (cap_hdr & 0xf8000000) == 0xa8000000 /* MSI mapping */) {
-                       printk(KERN_INFO "PCI: Found HT MSI mapping on %s with 
capability %s\n",
-                              pci_name(dev), cap_hdr & 0x10000 ? "enabled" : 
"disabled");
-                       return (cap_hdr & 0x10000) != 0; /* MSI mapping cap 
enabled */
+       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: Found %s HT MSI Mapping on %s\n",
+                               flags & HT_MSI_FLAGS_ENABLE ?
+                               "enabled" : "disabled", pci_name(dev));
+                       return (flags & HT_MSI_FLAGS_ENABLE) != 0;
                }
+
+               pos = pci_find_next_ht_capability(dev, pos,
+                                                 HT_CAPTYPE_MSI_MAPPING);
        }
        return 0;
 }
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to