[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [linux-2.6.18-xen] [IA64] Dom0 kernel - sn2 use ioremap for PCI registers
# HG changeset patch # User Alex Williamson <alex.williamson@xxxxxx> # Date 1182196767 21600 # Node ID 3df04f34c4aa7679bf30a7fe6b46d8ccc0a004da # Parent a413dd61e7e5e1bba11bab447184cf5e6b43513a [IA64] Dom0 kernel - sn2 use ioremap for PCI registers Use ioremap() on SN2 specific PIC and TIO registers rather than manually setting the __IA64_UNCACHED_OFFSET bits in the address we get from the PROM. Same patch pushed to upstream Linux Signed-off-by: Jes Sorensen <jes@xxxxxxx> --- arch/ia64/sn/pci/pcibr/pcibr_provider.c | 7 ++++--- arch/ia64/sn/pci/tioca_provider.c | 4 +++- arch/ia64/sn/pci/tioce_provider.c | 4 +++- 3 files changed, 10 insertions(+), 5 deletions(-) diff -r a413dd61e7e5 -r 3df04f34c4aa arch/ia64/sn/pci/pcibr/pcibr_provider.c --- a/arch/ia64/sn/pci/pcibr/pcibr_provider.c Fri Jun 15 13:33:47 2007 -0600 +++ b/arch/ia64/sn/pci/pcibr/pcibr_provider.c Mon Jun 18 13:59:27 2007 -0600 @@ -15,6 +15,7 @@ #include <asm/sn/pcibus_provider_defs.h> #include <asm/sn/pcidev.h> #include <asm/sn/sn_sal.h> +#include <asm/sn/pic.h> #include <asm/sn/sn2/sn_hwperf.h> #include "xtalk/xwidgetdev.h" #include "xtalk/hubdev.h" @@ -129,9 +130,9 @@ pcibr_bus_fixup(struct pcibus_bussoft *p } memcpy(soft, prom_bussoft, sizeof(struct pcibus_info)); - soft->pbi_buscommon.bs_base = - (((u64) soft->pbi_buscommon. - bs_base << 4) >> 4) | __IA64_UNCACHED_OFFSET; + soft->pbi_buscommon.bs_base = (unsigned long) + ioremap(REGION_OFFSET(soft->pbi_buscommon.bs_base), + sizeof(struct pic)); spin_lock_init(&soft->pbi_lock); diff -r a413dd61e7e5 -r 3df04f34c4aa arch/ia64/sn/pci/tioca_provider.c --- a/arch/ia64/sn/pci/tioca_provider.c Fri Jun 15 13:33:47 2007 -0600 +++ b/arch/ia64/sn/pci/tioca_provider.c Mon Jun 18 13:59:27 2007 -0600 @@ -611,7 +611,9 @@ tioca_bus_fixup(struct pcibus_bussoft *p return NULL; memcpy(tioca_common, prom_bussoft, sizeof(struct tioca_common)); - tioca_common->ca_common.bs_base |= __IA64_UNCACHED_OFFSET; + tioca_common->ca_common.bs_base = (unsigned long) + ioremap(REGION_OFFSET(tioca_common->ca_common.bs_base), + sizeof(struct tioca_common)); /* init kernel-private area */ diff -r a413dd61e7e5 -r 3df04f34c4aa arch/ia64/sn/pci/tioce_provider.c --- a/arch/ia64/sn/pci/tioce_provider.c Fri Jun 15 13:33:47 2007 -0600 +++ b/arch/ia64/sn/pci/tioce_provider.c Mon Jun 18 13:59:27 2007 -0600 @@ -1006,7 +1006,9 @@ tioce_bus_fixup(struct pcibus_bussoft *p return NULL; memcpy(tioce_common, prom_bussoft, sizeof(struct tioce_common)); - tioce_common->ce_pcibus.bs_base |= __IA64_UNCACHED_OFFSET; + tioce_common->ce_pcibus.bs_base = (unsigned long) + ioremap(REGION_OFFSET(tioce_common->ce_pcibus.bs_base), + sizeof(struct tioce_common)); tioce_kern = tioce_kern_init(tioce_common); if (tioce_kern == NULL) { _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |