Enable the external_input_edge exception handler for the fsl ppc64 board when external proxy is enabled. This will leave the irq still hard enabled when a interrupt occurs with irq soft disabled.
Signed-off-by: Kevin Hao <haoke...@gmail.com> --- arch/powerpc/platforms/85xx/corenet_ds.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/arch/powerpc/platforms/85xx/corenet_ds.c b/arch/powerpc/platforms/85xx/corenet_ds.c index c59c617..ad688bf 100644 --- a/arch/powerpc/platforms/85xx/corenet_ds.c +++ b/arch/powerpc/platforms/85xx/corenet_ds.c @@ -25,6 +25,9 @@ #include <asm/prom.h> #include <asm/udbg.h> #include <asm/mpic.h> +#ifdef CONFIG_PPC64 +#include <asm/code-patching.h> +#endif #include <linux/of_platform.h> #include <sysdev/fsl_soc.h> @@ -37,8 +40,12 @@ void __init corenet_ds_pic_init(void) unsigned int flags = MPIC_BIG_ENDIAN | MPIC_SINGLE_DEST_CPU | MPIC_NO_RESET; - if (ppc_md.get_irq == mpic_get_coreint_irq) + if (ppc_md.get_irq == mpic_get_coreint_irq) { flags |= MPIC_ENABLE_COREINT; +#ifdef CONFIG_PPC64 + patch_exception(0x0a0, exc_external_input_edge_book3e); +#endif + } mpic = mpic_alloc(NULL, 0, flags, 0, 512, " OpenPIC "); BUG_ON(mpic == NULL); -- 1.8.1.4 _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev