Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6dab2f45 authored by Ralf Baechle's avatar Ralf Baechle
Browse files

[MIPS] DEC: pt_regs fixes for buserror handlers

parent 65542070
Loading
Loading
Loading
Loading
+4 −1
Original line number Original line Diff line number Diff line
@@ -24,6 +24,7 @@
#include <asm/addrspace.h>
#include <asm/addrspace.h>
#include <asm/bootinfo.h>
#include <asm/bootinfo.h>
#include <asm/cpu.h>
#include <asm/cpu.h>
#include <asm/irq_regs.h>
#include <asm/processor.h>
#include <asm/processor.h>
#include <asm/system.h>
#include <asm/system.h>
#include <asm/traps.h>
#include <asm/traps.h>
@@ -200,8 +201,10 @@ int dec_ecc_be_handler(struct pt_regs *regs, int is_fixup)
	return dec_ecc_be_backend(regs, is_fixup, 0);
	return dec_ecc_be_backend(regs, is_fixup, 0);
}
}


irqreturn_t dec_ecc_be_interrupt(int irq, void *dev_id, struct pt_regs *regs)
irqreturn_t dec_ecc_be_interrupt(int irq, void *dev_id)
{
{
	struct pt_regs *regs = get_irq_regs();

	int action = dec_ecc_be_backend(regs, 0, 1);
	int action = dec_ecc_be_backend(regs, 0, 1);


	if (action == MIPS_BE_DISCARD)
	if (action == MIPS_BE_DISCARD)
+2 −2
Original line number Original line Diff line number Diff line
@@ -150,10 +150,10 @@ int dec_kn01_be_handler(struct pt_regs *regs, int is_fixup)
	return dec_kn01_be_backend(regs, is_fixup, 0);
	return dec_kn01_be_backend(regs, is_fixup, 0);
}
}


irqreturn_t dec_kn01_be_interrupt(int irq, void *dev_id,
irqreturn_t dec_kn01_be_interrupt(int irq, void *dev_id)
				    struct pt_regs *regs)
{
{
	volatile u16 *csr = (void *)CKSEG1ADDR(KN01_SLOT_BASE + KN01_CSR);
	volatile u16 *csr = (void *)CKSEG1ADDR(KN01_SLOT_BASE + KN01_CSR);
	struct pt_regs *regs = get_irq_regs();
	int action;
	int action;


	if (!(*csr & KN01_CSR_MEMERR))
	if (!(*csr & KN01_CSR_MEMERR))
+4 −2
Original line number Original line Diff line number Diff line
@@ -21,6 +21,8 @@
#include <linux/types.h>
#include <linux/types.h>


#include <asm/addrspace.h>
#include <asm/addrspace.h>
#include <asm/irq_regs.h>
#include <asm/ptrace.h>
#include <asm/system.h>
#include <asm/system.h>
#include <asm/traps.h>
#include <asm/traps.h>


@@ -104,9 +106,9 @@ int dec_kn02xa_be_handler(struct pt_regs *regs, int is_fixup)
	return dec_kn02xa_be_backend(regs, is_fixup, 0);
	return dec_kn02xa_be_backend(regs, is_fixup, 0);
}
}


irqreturn_t dec_kn02xa_be_interrupt(int irq, void *dev_id,
irqreturn_t dec_kn02xa_be_interrupt(int irq, void *dev_id)
				    struct pt_regs *regs)
{
{
	struct pt_regs *regs = get_irq_regs();
	int action = dec_kn02xa_be_backend(regs, 0, 1);
	int action = dec_kn02xa_be_backend(regs, 0, 1);


	if (action == MIPS_BE_DISCARD)
	if (action == MIPS_BE_DISCARD)
+1 −2
Original line number Original line Diff line number Diff line
@@ -49,8 +49,7 @@ struct pt_regs;


extern void dec_ecc_be_init(void);
extern void dec_ecc_be_init(void);
extern int dec_ecc_be_handler(struct pt_regs *regs, int is_fixup);
extern int dec_ecc_be_handler(struct pt_regs *regs, int is_fixup);
extern irqreturn_t dec_ecc_be_interrupt(int irq, void *dev_id,
extern irqreturn_t dec_ecc_be_interrupt(int irq, void *dev_id);
					struct pt_regs *regs);
#endif
#endif


#endif /* __ASM_MIPS_DEC_ECC_H */
#endif /* __ASM_MIPS_DEC_ECC_H */
+1 −2
Original line number Original line Diff line number Diff line
@@ -84,8 +84,7 @@ extern spinlock_t kn01_lock;


extern void dec_kn01_be_init(void);
extern void dec_kn01_be_init(void);
extern int dec_kn01_be_handler(struct pt_regs *regs, int is_fixup);
extern int dec_kn01_be_handler(struct pt_regs *regs, int is_fixup);
extern irqreturn_t dec_kn01_be_interrupt(int irq, void *dev_id,
extern irqreturn_t dec_kn01_be_interrupt(int irq, void *dev_id);
					 struct pt_regs *regs);
#endif
#endif


#endif /* __ASM_MIPS_DEC_KN01_H */
#endif /* __ASM_MIPS_DEC_KN01_H */
Loading