On 15 November 2011 17:47, Marc Zyngier <[email protected]> wrote:
> The GIC support code is heavily using the fact that hardware
> implementations are exposing banked registers. Unfortunately, it
> looks like at least one GIC implementation (EXYNOS) offers both
> the distributor and the CPU interfaces at different addresses,
> depending on the CPU.
>
> This problem is solved by allowing the distributor and CPU interface
> addresses to be per-cpu variables for the platforms that require it.
> The EXYNOS code is updated not to mess with the GIC internals while
> handling interrupts, and struct gic_chip_data is back to being private.
> The DT binding for the gic is updated to allow an optional "cpu-offset"
> value, which is used to compute the various base addresses.
>
> Finally, a new config option (GIC_NON_BANKED) is used to control this
> feature, so the overhead is only present on kernels compiled with
> support for EXYNOS.
>
> Tested on Origen (EXYNOS4) and Panda (OMAP4).
>
> Cc: Kukjin Kim <[email protected]>
> Cc: Rob Herring <[email protected]>
> Cc: Will Deacon <[email protected]>
> Cc: Thomas Abraham <[email protected]>
> Signed-off-by: Marc Zyngier <[email protected]>
> ---
> This is a minor update on the previous version, simply adding a
> config option so that normal platforms don't have to pay the
> price of the get_base() indirection.
>
> Any comment is welcome, specially on the DT binding update.
>
>  Documentation/devicetree/bindings/arm/gic.txt |    4 +
>  arch/arm/common/Kconfig                       |    3 +
>  arch/arm/common/gic.c                         |  133 
> +++++++++++++++++++++----
>  arch/arm/include/asm/hardware/gic.h           |   24 ++---
>  arch/arm/mach-exynos/cpu.c                    |   16 +---
>  arch/arm/mach-exynos/platsmp.c                |   28 +-----
>  arch/arm/plat-s5p/Kconfig                     |    1 +
>  7 files changed, 132 insertions(+), 77 deletions(-)
>

Tested on Exynos4210 based Origen board with 'cpu-offset = <0x8000>'
property in GIC device node and device tree enabled kernel. Thanks for
this patch.

Tested-by: Thomas Abraham <[email protected]>
--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to