summaryrefslogtreecommitdiff
path: root/sys/arch/arm/s3c2xx0/s3c2xx0_intr.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/arch/arm/s3c2xx0/s3c2xx0_intr.c')
-rw-r--r--sys/arch/arm/s3c2xx0/s3c2xx0_intr.c19
1 files changed, 7 insertions, 12 deletions
diff --git a/sys/arch/arm/s3c2xx0/s3c2xx0_intr.c b/sys/arch/arm/s3c2xx0/s3c2xx0_intr.c
index d737885eaa0..e31ccb12dfe 100644
--- a/sys/arch/arm/s3c2xx0/s3c2xx0_intr.c
+++ b/sys/arch/arm/s3c2xx0/s3c2xx0_intr.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: s3c2xx0_intr.c,v 1.1 2008/11/26 14:39:14 drahn Exp $ */
+/* $OpenBSD: s3c2xx0_intr.c,v 1.2 2008/12/08 20:50:20 drahn Exp $ */
/* $NetBSD: s3c2xx0_intr.c,v 1.13 2008/04/27 18:58:45 matt Exp $ */
/*
@@ -92,12 +92,13 @@ __KERNEL_RCSID(0, "$NetBSD: s3c2xx0_intr.c,v 1.13 2008/04/27 18:58:45 matt Exp $
#include <arm/s3c2xx0/s3c2xx0_intr.h>
volatile uint32_t *s3c2xx0_intr_mask_reg;
-extern volatile int intr_mask;
extern volatile int global_intr_mask;
int s3c2xx0_cpl;
+#if 0
#define SI_TO_IRQBIT(x) (1 << (x))
+#endif
int
s3c2xx0_curcpl()
@@ -255,11 +256,7 @@ void
s3c2xx0_setipl(int new)
{
s3c2xx0_set_curcpl(new);
- intr_mask = s3c2xx0_imask[s3c2xx0_curcpl()];
s3c2xx0_update_hw_mask();
-#ifdef __HAVE_FAST_SOFTINTS
- update_softintr_mask();
-#endif
}
@@ -273,7 +270,7 @@ s3c2xx0_splx(int new)
restore_interrupts(psw);
#ifdef __HAVE_FAST_SOFTINTS
- cpu_dosoftints();
+ s3c2xx0_irq_do_pending();
#endif
}
@@ -304,9 +301,8 @@ s3c2xx0_spllower(int ipl)
}
/* XXX */
-void s3c2xx0_do_pending(void);
-int softint_pending;
+volatile int softint_pending;
void
s3c2xx0_setsoftintr(int si)
{
@@ -318,12 +314,12 @@ s3c2xx0_setsoftintr(int si)
/* Process unmasked pending soft interrupts. */
if (softint_pending & s3c2xx0_smask[s3c2xx0_curcpl()])
- s3c2xx0_do_pending();
+ s3c2xx0_irq_do_pending();
}
void
-s3c2xx0_do_pending(void)
+s3c2xx0_irq_do_pending(void)
{
static int processing = 0;
int oldirqstate, spl_save;
@@ -360,4 +356,3 @@ s3c2xx0_do_pending(void)
processing = 0;
restore_interrupts(oldirqstate);
}
-