aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/x86_64/kernel/pci-calgary.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/arch/x86_64/kernel/pci-calgary.c b/arch/x86_64/kernel/pci-calgary.c
index 5bd20b542c1e..4b0c3ad27f13 100644
--- a/arch/x86_64/kernel/pci-calgary.c
+++ b/arch/x86_64/kernel/pci-calgary.c
@@ -775,8 +775,8 @@ static void calgary_watchdog(unsigned long data)
775 } 775 }
776} 776}
777 777
778static void __init calgary_increase_split_completion_timeout(void __iomem *bbar, 778static void __init calgary_set_split_completion_timeout(void __iomem *bbar,
779 unsigned char busnum) 779 unsigned char busnum, unsigned long timeout)
780{ 780{
781 u64 val64; 781 u64 val64;
782 void __iomem *target; 782 void __iomem *target;
@@ -802,7 +802,7 @@ static void __init calgary_increase_split_completion_timeout(void __iomem *bbar,
802 /* zero out this PHB's timer bits */ 802 /* zero out this PHB's timer bits */
803 mask = ~(0xFUL << phb_shift); 803 mask = ~(0xFUL << phb_shift);
804 val64 &= mask; 804 val64 &= mask;
805 val64 |= (CCR_2SEC_TIMEOUT << phb_shift); 805 val64 |= (timeout << phb_shift);
806 writeq(cpu_to_be64(val64), target); 806 writeq(cpu_to_be64(val64), target);
807 readq(target); /* flush */ 807 readq(target); /* flush */
808} 808}
@@ -836,7 +836,8 @@ static void __init calgary_enable_translation(struct pci_dev *dev)
836 * http://bugzilla.kernel.org/show_bug.cgi?id=7180 836 * http://bugzilla.kernel.org/show_bug.cgi?id=7180
837 */ 837 */
838 if (busnum == 1) 838 if (busnum == 1)
839 calgary_increase_split_completion_timeout(bbar, busnum); 839 calgary_set_split_completion_timeout(bbar, busnum,
840 CCR_2SEC_TIMEOUT);
840 841
841 init_timer(&tbl->watchdog_timer); 842 init_timer(&tbl->watchdog_timer);
842 tbl->watchdog_timer.function = &calgary_watchdog; 843 tbl->watchdog_timer.function = &calgary_watchdog;