patch-2.4.21 linux-2.4.21/arch/ia64/sn/io/sn2/shub_intr.c
Next file: linux-2.4.21/arch/ia64/sn/io/sn2/shuberror.c
Previous file: linux-2.4.21/arch/ia64/sn/io/sn2/shub.c
Back to the patch index
Back to the overall index
- Lines: 62
- Date:
2003-06-13 07:51:31.000000000 -0700
- Orig file:
linux-2.4.20/arch/ia64/sn/io/sn2/shub_intr.c
- Orig date:
2002-08-02 17:39:43.000000000 -0700
diff -urN linux-2.4.20/arch/ia64/sn/io/sn2/shub_intr.c linux-2.4.21/arch/ia64/sn/io/sn2/shub_intr.c
@@ -25,21 +25,13 @@
#include <asm/sn/intr.h>
#include <asm/sn/xtalk/xtalkaddrs.h>
#include <asm/sn/klconfig.h>
+#include <asm/sn/sn2/shub_mmr.h>
#include <asm/sn/sn_cpuid.h>
-extern void hub_device_desc_update(device_desc_t, ilvl_t, cpuid_t);
-
/* ARGSUSED */
void
hub_intr_init(devfs_handle_t hubv)
{
- extern void sn_cpei_handler(int, void *, struct pt_regs *);
- extern void sn_init_cpei_timer(void);
-
- if (request_irq(SGI_SHUB_ERROR_VECTOR, sn_cpei_handler, 0, "SN hub error", NULL) ) {
- printk("hub_intr_init: Couldn't register SGI_SHUB_ERROR_VECTOR = %x\n",SGI_SHUB_ERROR_VECTOR);
- }
- sn_init_cpei_timer();
}
xwidgetnum_t
@@ -82,11 +74,9 @@
cnode = cpuid_to_cnodeid(cpu);
if (slice) {
- xtalk_addr = SH_II_INT1 | GLOBAL_MMR_SPACE |
- ((unsigned long)nasid << 36) | (1UL << 47);
+ xtalk_addr = SH_II_INT1 | ((unsigned long)nasid << 36) | (1UL << 47);
} else {
- xtalk_addr = SH_II_INT0 | GLOBAL_MMR_SPACE |
- ((unsigned long)nasid << 36) | (1UL << 47);
+ xtalk_addr = SH_II_INT0 | ((unsigned long)nasid << 36) | (1UL << 47);
}
intr_hdl = snia_kmem_alloc_node(sizeof(struct hub_intr_s), KM_NOSLEEP, cnode);
@@ -107,7 +97,6 @@
intr_hdl->i_bit = vector;
intr_hdl->i_flags |= HUB_INTR_IS_ALLOCED;
- hub_device_desc_update(dev_desc, intr_swlevel, cpu);
return(intr_hdl);
}
@@ -150,6 +139,8 @@
int
hub_intr_connect(hub_intr_t intr_hdl,
+ intr_func_t intr_func, /* xtalk intr handler */
+ void *intr_arg, /* arg to intr handler */
xtalk_intr_setfunc_t setfunc,
void *setfunc_arg)
{
@@ -160,7 +151,6 @@
ASSERT(intr_hdl->i_flags & HUB_INTR_IS_ALLOCED);
rv = intr_connect_level(cpu, vector, intr_hdl->i_swlevel, NULL);
-
if (rv < 0) {
return rv;
}
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)