Commit 32baba2f authored by Ralf Baechle's avatar Ralf Baechle

MIPS: DEC: Convert KN01 lock to raw spinlock.

Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
parent d8d607d5
...@@ -46,7 +46,7 @@ ...@@ -46,7 +46,7 @@
* There is no default value -- it has to be initialized. * There is no default value -- it has to be initialized.
*/ */
u16 cached_kn01_csr; u16 cached_kn01_csr;
static DEFINE_SPINLOCK(kn01_lock); static DEFINE_RAW_SPINLOCK(kn01_lock);
static inline void dec_kn01_be_ack(void) static inline void dec_kn01_be_ack(void)
...@@ -54,12 +54,12 @@ static inline void dec_kn01_be_ack(void) ...@@ -54,12 +54,12 @@ static inline void dec_kn01_be_ack(void)
volatile u16 *csr = (void *)CKSEG1ADDR(KN01_SLOT_BASE + KN01_CSR); volatile u16 *csr = (void *)CKSEG1ADDR(KN01_SLOT_BASE + KN01_CSR);
unsigned long flags; unsigned long flags;
spin_lock_irqsave(&kn01_lock, flags); raw_spin_lock_irqsave(&kn01_lock, flags);
*csr = cached_kn01_csr | KN01_CSR_MEMERR; /* Clear bus IRQ. */ *csr = cached_kn01_csr | KN01_CSR_MEMERR; /* Clear bus IRQ. */
iob(); iob();
spin_unlock_irqrestore(&kn01_lock, flags); raw_spin_unlock_irqrestore(&kn01_lock, flags);
} }
static int dec_kn01_be_backend(struct pt_regs *regs, int is_fixup, int invoker) static int dec_kn01_be_backend(struct pt_regs *regs, int is_fixup, int invoker)
...@@ -182,7 +182,7 @@ void __init dec_kn01_be_init(void) ...@@ -182,7 +182,7 @@ void __init dec_kn01_be_init(void)
volatile u16 *csr = (void *)CKSEG1ADDR(KN01_SLOT_BASE + KN01_CSR); volatile u16 *csr = (void *)CKSEG1ADDR(KN01_SLOT_BASE + KN01_CSR);
unsigned long flags; unsigned long flags;
spin_lock_irqsave(&kn01_lock, flags); raw_spin_lock_irqsave(&kn01_lock, flags);
/* Preset write-only bits of the Control Register cache. */ /* Preset write-only bits of the Control Register cache. */
cached_kn01_csr = *csr; cached_kn01_csr = *csr;
...@@ -194,7 +194,7 @@ void __init dec_kn01_be_init(void) ...@@ -194,7 +194,7 @@ void __init dec_kn01_be_init(void)
*csr = cached_kn01_csr; *csr = cached_kn01_csr;
iob(); iob();
spin_unlock_irqrestore(&kn01_lock, flags); raw_spin_unlock_irqrestore(&kn01_lock, flags);
/* Clear any leftover errors from the firmware. */ /* Clear any leftover errors from the firmware. */
dec_kn01_be_ack(); dec_kn01_be_ack();
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment