powerpc/mpic: FSL MPIC error interrupt support.
authorVarun Sethi <Varun.Sethi@freescale.com>
Wed, 8 Aug 2012 04:06:09 +0000 (09:36 +0530)
committerKumar Gala <galak@kernel.crashing.org>
Wed, 12 Sep 2012 19:57:10 +0000 (14:57 -0500)
commit0a4081641d722d3dee140505a86330ecf44db0fe
treef516459f8da722251d432c5bae2d544da2ab33e4
parent688ba1dbee8a49a2efe507cd9ae69634d92bb640
powerpc/mpic: FSL MPIC error interrupt support.

All SOC device error interrupts are muxed and delivered to the core
as a single MPIC error interrupt. Currently all the device drivers
requiring access to device errors have to register for the MPIC error
interrupt as a shared interrupt.

With this patch we add interrupt demuxing capability in the mpic driver,
allowing device drivers to register for their individual error interrupts.
This is achieved by handling error interrupts in a cascaded fashion.

MPIC error interrupt is handled by the "error_int_handler", which
subsequently demuxes it using the EISR and delivers it to the respective
drivers.

The error interrupt capability is dependent on the MPIC EIMR register,
which was introduced in FSL MPIC version 4.1 (P4080 rev2). So, error
interrupt demuxing capability is dependent on the MPIC version and can
be used for versions >= 4.1.

Signed-off-by: Varun Sethi <Varun.Sethi@freescale.com>
Signed-off-by: Bogdan Hamciuc <bogdan.hamciuc@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
arch/powerpc/include/asm/mpic.h
arch/powerpc/sysdev/Makefile
arch/powerpc/sysdev/fsl_mpic_err.c [new file with mode: 0644]
arch/powerpc/sysdev/mpic.c
arch/powerpc/sysdev/mpic.h