aboutsummaryrefslogtreecommitdiffstats
path: root/arch/ia64/sn/kernel
diff options
context:
space:
mode:
Diffstat (limited to 'arch/ia64/sn/kernel')
-rw-r--r--arch/ia64/sn/kernel/bte_error.c6
-rw-r--r--arch/ia64/sn/kernel/io_init.c12
-rw-r--r--arch/ia64/sn/kernel/setup.c6
3 files changed, 16 insertions, 8 deletions
diff --git a/arch/ia64/sn/kernel/bte_error.c b/arch/ia64/sn/kernel/bte_error.c
index f1ec1370b3e3..b6fcf8164f2b 100644
--- a/arch/ia64/sn/kernel/bte_error.c
+++ b/arch/ia64/sn/kernel/bte_error.c
@@ -78,7 +78,7 @@ int shub1_bte_error_handler(unsigned long _nodepda)
78 * There are errors which still need to be cleaned up by 78 * There are errors which still need to be cleaned up by
79 * hubiio_crb_error_handler 79 * hubiio_crb_error_handler
80 */ 80 */
81 mod_timer(recovery_timer, HZ * 5); 81 mod_timer(recovery_timer, jiffies + (HZ * 5));
82 BTE_PRINTK(("eh:%p:%d Marked Giving up\n", err_nodepda, 82 BTE_PRINTK(("eh:%p:%d Marked Giving up\n", err_nodepda,
83 smp_processor_id())); 83 smp_processor_id()));
84 return 1; 84 return 1;
@@ -95,7 +95,7 @@ int shub1_bte_error_handler(unsigned long _nodepda)
95 icrbd.ii_icrb0_d_regval = 95 icrbd.ii_icrb0_d_regval =
96 REMOTE_HUB_L(nasid, IIO_ICRB_D(i)); 96 REMOTE_HUB_L(nasid, IIO_ICRB_D(i));
97 if (icrbd.d_bteop) { 97 if (icrbd.d_bteop) {
98 mod_timer(recovery_timer, HZ * 5); 98 mod_timer(recovery_timer, jiffies + (HZ * 5));
99 BTE_PRINTK(("eh:%p:%d Valid %d, Giving up\n", 99 BTE_PRINTK(("eh:%p:%d Valid %d, Giving up\n",
100 err_nodepda, smp_processor_id(), 100 err_nodepda, smp_processor_id(),
101 i)); 101 i));
@@ -150,7 +150,7 @@ int shub2_bte_error_handler(unsigned long _nodepda)
150 status = BTE_LNSTAT_LOAD(bte); 150 status = BTE_LNSTAT_LOAD(bte);
151 if ((status & IBLS_ERROR) || !(status & IBLS_BUSY)) 151 if ((status & IBLS_ERROR) || !(status & IBLS_BUSY))
152 continue; 152 continue;
153 mod_timer(recovery_timer, HZ * 5); 153 mod_timer(recovery_timer, jiffies + (HZ * 5));
154 BTE_PRINTK(("eh:%p:%d Marked Giving up\n", err_nodepda, 154 BTE_PRINTK(("eh:%p:%d Marked Giving up\n", err_nodepda,
155 smp_processor_id())); 155 smp_processor_id()));
156 return 1; 156 return 1;
diff --git a/arch/ia64/sn/kernel/io_init.c b/arch/ia64/sn/kernel/io_init.c
index 600be3ebae05..6b10e5d28488 100644
--- a/arch/ia64/sn/kernel/io_init.c
+++ b/arch/ia64/sn/kernel/io_init.c
@@ -247,10 +247,18 @@ sn_io_slot_fixup(struct pci_dev *dev)
247 addr = ((addr << 4) >> 4) | __IA64_UNCACHED_OFFSET; 247 addr = ((addr << 4) >> 4) | __IA64_UNCACHED_OFFSET;
248 dev->resource[idx].start = addr; 248 dev->resource[idx].start = addr;
249 dev->resource[idx].end = addr + size; 249 dev->resource[idx].end = addr + size;
250
251 /*
252 * if it's already in the device structure, remove it before
253 * inserting
254 */
255 if (dev->resource[idx].parent && dev->resource[idx].parent->child)
256 release_resource(&dev->resource[idx]);
257
250 if (dev->resource[idx].flags & IORESOURCE_IO) 258 if (dev->resource[idx].flags & IORESOURCE_IO)
251 dev->resource[idx].parent = &ioport_resource; 259 insert_resource(&ioport_resource, &dev->resource[idx]);
252 else 260 else
253 dev->resource[idx].parent = &iomem_resource; 261 insert_resource(&iomem_resource, &dev->resource[idx]);
254 /* If ROM, mark as shadowed in PROM */ 262 /* If ROM, mark as shadowed in PROM */
255 if (idx == PCI_ROM_RESOURCE) 263 if (idx == PCI_ROM_RESOURCE)
256 dev->resource[idx].flags |= IORESOURCE_ROM_BIOS_COPY; 264 dev->resource[idx].flags |= IORESOURCE_ROM_BIOS_COPY;
diff --git a/arch/ia64/sn/kernel/setup.c b/arch/ia64/sn/kernel/setup.c
index bd5373d593e1..a9bed5ca2ed8 100644
--- a/arch/ia64/sn/kernel/setup.c
+++ b/arch/ia64/sn/kernel/setup.c
@@ -348,8 +348,7 @@ sn_scan_pcdp(void)
348 continue; /* not PCI interconnect */ 348 continue; /* not PCI interconnect */
349 349
350 if (if_pci.translation & PCDP_PCI_TRANS_IOPORT) 350 if (if_pci.translation & PCDP_PCI_TRANS_IOPORT)
351 vga_console_iobase = 351 vga_console_iobase = if_pci.ioport_tra;
352 if_pci.ioport_tra | __IA64_UNCACHED_OFFSET;
353 352
354 if (if_pci.translation & PCDP_PCI_TRANS_MMIO) 353 if (if_pci.translation & PCDP_PCI_TRANS_MMIO)
355 vga_console_membase = 354 vga_console_membase =
@@ -429,7 +428,8 @@ void __init sn_setup(char **cmdline_p)
429 * bus containing the VGA console. 428 * bus containing the VGA console.
430 */ 429 */
431 if (vga_console_iobase) { 430 if (vga_console_iobase) {
432 io_space[0].mmio_base = vga_console_iobase; 431 io_space[0].mmio_base =
432 (unsigned long) ioremap(vga_console_iobase, 0);
433 io_space[0].sparse = 0; 433 io_space[0].sparse = 0;
434 } 434 }
435 435