View | Details | Raw Unified | Return to bug 7180 | Differences between
and this patch

Collapse All | Expand All

(-)a/arch/x86_64/kernel/pci-calgary.c (+17 lines)
Lines 732-737 static void calgary_watchdog(unsigned lo Link Here
732
	}
732
	}
733
}
733
}
734
734
735
#define CONFIG_REGISTER 0x108
736
static void __init calgary_disable_sc_timeout(void)
737
{
738
	u64 val64;
739
	void __iomem *target;
740
741
	target = calgary_reg(bbar, CONFIG_REGISTER);
742
	val64 = be64_to_cpu(readq(target));
743
	/* sets all timers to 0x1111, which is no timeout */
744
	val64 |= 0x0000FFFFF0000000;
745
	writeq(cpu_to_be64(val64), target);
746
	readq(target); /* flush */
747
}
748
749
735
static void __init calgary_enable_translation(struct pci_dev *dev)
750
static void __init calgary_enable_translation(struct pci_dev *dev)
736
{
751
{
737
	u32 val32;
752
	u32 val32;
Lines 756-761 static void __init calgary_enable_transl Link Here
756
	writel(cpu_to_be32(val32), target);
771
	writel(cpu_to_be32(val32), target);
757
	readl(target); /* flush */
772
	readl(target); /* flush */
758
773
774
	calgary_disable_sc_timeout();
775
759
	init_timer(&tbl->watchdog_timer);
776
	init_timer(&tbl->watchdog_timer);
760
	tbl->watchdog_timer.function = &calgary_watchdog;
777
	tbl->watchdog_timer.function = &calgary_watchdog;
761
	tbl->watchdog_timer.data = (unsigned long)dev;
778
	tbl->watchdog_timer.data = (unsigned long)dev;

Return to bug 7180