aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMuli Ben-Yehuda <muli@il.ibm.com>2007-07-21 17:10:47 +0200
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-07-21 18:37:11 -0700
commita2b663f6728ab71f0e45db41333fb0aaf5e59072 (patch)
tree136ca79cc0329a69ffdf85877a9f7fb342453311
parent9596017e79cddb4f4fd4b896425a30f86946ce85 (diff)
x86_64: generalize calgary_increase_split_completion_timeout
... will be used by CalIOC2 later Signed-off-by: Muli Ben-Yehuda <muli@il.ibm.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Andi Kleen <ak@suse.de> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-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 5bd20b542c1..4b0c3ad27f1 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)
}
}
-static void __init calgary_increase_split_completion_timeout(void __iomem *bbar,
- unsigned char busnum)
+static void __init calgary_set_split_completion_timeout(void __iomem *bbar,
+ unsigned char busnum, unsigned long timeout)
{
u64 val64;
void __iomem *target;
@@ -802,7 +802,7 @@ static void __init calgary_increase_split_completion_timeout(void __iomem *bbar,
/* zero out this PHB's timer bits */
mask = ~(0xFUL << phb_shift);
val64 &= mask;
- val64 |= (CCR_2SEC_TIMEOUT << phb_shift);
+ val64 |= (timeout << phb_shift);
writeq(cpu_to_be64(val64), target);
readq(target); /* flush */
}
@@ -836,7 +836,8 @@ static void __init calgary_enable_translation(struct pci_dev *dev)
* http://bugzilla.kernel.org/show_bug.cgi?id=7180
*/
if (busnum == 1)
- calgary_increase_split_completion_timeout(bbar, busnum);
+ calgary_set_split_completion_timeout(bbar, busnum,
+ CCR_2SEC_TIMEOUT);
init_timer(&tbl->watchdog_timer);
tbl->watchdog_timer.function = &calgary_watchdog;