Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b8d2ea1b87b02fc94ffcab58b29c83fbbb6a1e4e
Commit:     b8d2ea1b87b02fc94ffcab58b29c83fbbb6a1e4e
Parent:     9882234bf2e54ebf4866245d46e2c704a1214ad9
Author:     Muli Ben-Yehuda <[EMAIL PROTECTED]>
AuthorDate: Sat Jul 21 17:10:49 2007 +0200
Committer:  Linus Torvalds <[EMAIL PROTECTED]>
CommitDate: Sat Jul 21 18:37:11 2007 -0700

    x86_64: introduce handle_quirks() for various chipset quirks
    
    Move the aic94xx split completion timeout handling there.
    
    Signed-off-by: Muli Ben-Yehuda <[EMAIL PROTECTED]>
    Signed-off-by: Andrew Morton <[EMAIL PROTECTED]>
    Signed-off-by: Andi Kleen <[EMAIL PROTECTED]>
    Signed-off-by: Linus Torvalds <[EMAIL PROTECTED]>
---
 arch/x86_64/kernel/pci-calgary.c |   25 +++++++++++++++++--------
 1 files changed, 17 insertions(+), 8 deletions(-)

diff --git a/arch/x86_64/kernel/pci-calgary.c b/arch/x86_64/kernel/pci-calgary.c
index b1ab0d5..9f6dd44 100644
--- a/arch/x86_64/kernel/pci-calgary.c
+++ b/arch/x86_64/kernel/pci-calgary.c
@@ -807,6 +807,20 @@ static void __init 
calgary_set_split_completion_timeout(void __iomem *bbar,
        readq(target); /* flush */
 }
 
+static void __init calgary_handle_quirks(struct pci_dev* dev)
+{
+       unsigned char busnum = dev->bus->number;
+       struct iommu_table *tbl = dev->sysdata;
+
+       /*
+        * Give split completion a longer timeout on bus 1 for aic94xx
+        * http://bugzilla.kernel.org/show_bug.cgi?id=7180
+        */
+       if (busnum == 1)
+               calgary_set_split_completion_timeout(tbl->bbar, busnum,
+                                                    CCR_2SEC_TIMEOUT);
+}
+
 static void __init calgary_enable_translation(struct pci_dev *dev)
 {
        u32 val32;
@@ -831,14 +845,6 @@ static void __init calgary_enable_translation(struct 
pci_dev *dev)
        writel(cpu_to_be32(val32), target);
        readl(target); /* flush */
 
-       /*
-        * Give split completion a longer timeout on bus 1 for aic94xx
-        * http://bugzilla.kernel.org/show_bug.cgi?id=7180
-        */
-       if (busnum == 1)
-               calgary_set_split_completion_timeout(bbar, busnum,
-                                                    CCR_2SEC_TIMEOUT);
-
        init_timer(&tbl->watchdog_timer);
        tbl->watchdog_timer.function = &calgary_watchdog;
        tbl->watchdog_timer.data = (unsigned long)dev;
@@ -890,6 +896,9 @@ static int __init calgary_init_one(struct pci_dev *dev)
 
        pci_dev_get(dev);
        dev->bus->self = dev;
+
+       calgary_handle_quirks(dev);
+
        calgary_enable_translation(dev);
 
        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