04 Jul, 2017
1 commit
-
We are no longer using the root argument passed to the ->fixup() hooks.
Remove it.Signed-off-by: Boris Brezillon
Signed-off-by: Marc Zyngier
12 Apr, 2017
1 commit
-
On sama5d2, VDD core may be cut while suspending to RAM. This means the
AIC5 registers content is lost. Restore it at resume time.Signed-off-by: Alexandre Belloni
Signed-off-by: Marc Zyngier
13 Sep, 2016
1 commit
-
aic5_irq_domain_xlate() and aic_irq_domain_xlate() take the generic chip
lock without disabling interrupts, which can lead to a deadlock if an
interrupt occurs while the lock is held in one of these functions.Replace irq_gc_{lock,unlock}() calls by
irq_gc_{lock_irqsave,unlock_irqrestore}() ones to prevent this bug from
happening.Fixes: b1479ebb7720 ("irqchip: atmel-aic: Add atmel AIC/AIC5 drivers")
Signed-off-by: Boris Brezillon
Acked-by: Marc Zyngier
Cc: Jason Cooper
Cc: Nicolas Ferre
Cc: stable@vger.kernel.org
Cc: Alexandre Belloni
Link: http://lkml.kernel.org/r/1473775109-4192-2-git-send-email-boris.brezillon@free-electrons.com
Signed-off-by: Thomas Gleixner
08 Feb, 2016
3 commits
-
AIC5 priority value is updated twice -
in aic_common_set_priority() and when updating AT91_AIC5_SMR.
Variable, 'smr' has updated priority value (intspec[2]) in the first step,
so no need to update it again in the second step.Signed-off-by: Milo Kim
Acked-by: Boris Brezillon
Cc: Jason Cooper
Cc: Marc Zyngier
Cc: Ludovic Desroches
Cc: Nicholas Ferre
Link: http://lkml.kernel.org/r/1452669592-3401-4-git-send-email-milo.kim@ti.com
Signed-off-by: Thomas Gleixner -
Priority validation is not necessary because aic_common_irq_domain_xlate()
already handles it. With this removal, return type can be changed to void.Signed-off-by: Milo Kim
Acked-by: Boris Brezillon
Cc: Jason Cooper
Cc: Marc Zyngier
Cc: Ludovic Desroches
Cc: Nicholas Ferre
Link: http://lkml.kernel.org/r/1452669592-3401-3-git-send-email-milo.kim@ti.com
Signed-off-by: Thomas Gleixner -
AIC IRQ fixup is handled in each IRQ chip driver.
It can be moved into aic_common_of_init() before returning the result.
Then, aic_common_irq_fixup() can be changed to static type.Signed-off-by: Milo Kim
Acked-by: Boris Brezillon
Cc: Jason Cooper
Cc: Marc Zyngier
Cc: Ludovic Desroches
Cc: Nicholas Ferre
Link: http://lkml.kernel.org/r/1452669592-3401-1-git-send-email-milo.kim@ti.com
Signed-off-by: Thomas Gleixner
22 Sep, 2015
3 commits
-
Use irq_get_domain_generic_chip() to select the base chip.
Signed-off-by: Ludovic Desroches
Acked-by: Nicholas Ferre
Acked-by: Boris Brezillon
Cc:
Cc:
Cc:
Cc:
Cc:
Cc:
Link: http://lkml.kernel.org/r/1442843173-2390-3-git-send-email-ludovic.desroches@atmel.com
Signed-off-by: Thomas Gleixner -
To avoid errors, use an explicit variable name when accessing the 'base'
generic chip.Signed-off-by: Ludovic Desroches
Acked-by: Nicholas Ferre
Acked-by: Boris Brezillon
Cc:
Cc:
Cc:
Cc:
Cc:
Cc:
Link: http://lkml.kernel.org/r/1442843173-2390-2-git-send-email-ludovic.desroches@atmel.com
Signed-off-by: Thomas Gleixner -
When masking/unmasking interrupts, mask_cache is updated and used later
for suspend/resume. Unfortunately, it always was the mask_cache
associated with the first irq chip which was updated. So when performing
resume, only irqs 0-31 could be enabled.Fixes: b1479ebb7720 ("irqchip: atmel-aic: Add atmel AIC/AIC5 drivers")
Signed-off-by: Ludovic Desroches
Cc:
Cc:
Cc:
Cc:
Cc:
Cc:
Cc:
Cc:
Cc: stable@vger.kernel.org #3.18
Link: http://lkml.kernel.org/r/1442843173-2390-1-git-send-email-ludovic.desroches@atmel.com
Signed-off-by: Thomas Gleixner
27 Jul, 2015
1 commit
-
Init data marked const should be annotated with __initconst for
correctness and not __initdata. And for those already __initconst,
they should be qualified as const at the compiler level too.
This also fixes LTO builds that otherwise fail with section mismatch
errors.Signed-off-by: Nicolas Pitre
Cc: Jason Cooper
Link: http://lkml.kernel.org/r/alpine.LFD.2.20.1507241511551.1806@knanqh.ubzr
Signed-off-by: Thomas Gleixner
12 Jul, 2015
1 commit
-
The IRQCHIP_DECLARE macro moved to to 'include/linux/irqchip.h', so
the local irqchip.h became an empty shell, which solely includes
include/linux/irqchip.hInclude the global header in all irqchip drivers instead of the local
header, so we can remove it.Signed-off-by: Joel Porquet
Cc: vgupta@synopsys.com
Cc: monstr@monstr.eu
Cc: ralf@linux-mips.org
Cc: jason@lakedaemon.net
Link: http://lkml.kernel.org/r/1882096.X39jVG8e0D@joel-zenbook
Signed-off-by: Thomas Gleixner
18 Jun, 2015
1 commit
-
Add sama5d2 support to irq-atmel-aic5.
Signed-off-by: Nicolas Ferre
Cc: Boris BREZILLON
Cc: Alexandre Belloni
Cc: Ludovic Desroches
Cc: Jason Cooper
Cc:
Link: http://lkml.kernel.org/r/1434632855-27272-1-git-send-email-nicolas.ferre@atmel.com
Signed-off-by: Thomas Gleixner
09 Nov, 2014
1 commit
-
Pass in the irq_chip_generic struct so we can use different readl/writel
settings for each irqchip driver, when appropriate. Compute
(gc->reg_base + reg_offset) in the helper function because this is pretty
much what all callers want to do anyway.Compile-tested using the following configurations:
at91_dt_defconfig (CONFIG_ATMEL_AIC_IRQ=y)
sama5_defconfig (CONFIG_ATMEL_AIC5_IRQ=y)
sunxi_defconfig (CONFIG_ARCH_SUNXI=y)tb10x (ARC) is untested.
Signed-off-by: Kevin Cernekee
Acked-by: Thomas Gleixner
Acked-by: Acked-by: Arnd Bergmann
Link: https://lkml.kernel.org/r/1415342669-30640-3-git-send-email-cernekee@gmail.com
Signed-off-by: Jason Cooper
02 Oct, 2014
1 commit
14 Sep, 2014
2 commits
-
Add sama5d4 support to irq-atmel-aic5.
Signed-off-by: Alexandre Belloni
Link: https://lkml.kernel.org/r/1410536587-24607-2-git-send-email-alexandre.belloni@free-electrons.com
Signed-off-by: Jason Cooper -
The FUSE and RAM controllers don't have any connected IRQs, reducing the number
of IRQs to 48.Signed-off-by: Alexandre Belloni
Acked-by: Boris Brezillon
Acked-by: Nicolas Ferre
Link: https://lkml.kernel.org/r/1410446511-29477-1-git-send-email-alexandre.belloni@free-electrons.com
Signed-off-by: Jason Cooper
03 Sep, 2014
1 commit
-
Use the new handle_domain_irq method to handle interrupts.
Signed-off-by: Marc Zyngier
Acked-by: Nicolas Ferre
Acked-by: Boris Brezillon
Link: https://lkml.kernel.org/r/1409047421-27649-21-git-send-email-marc.zyngier@arm.com
Signed-off-by: Jason Cooper
17 Jul, 2014
2 commits
-
Define SoCs that need irq fixups before enabling the AIC irqchip.
At the moment we're only fixing irq generated by the RTC block, but other
fixups will be added later on.Signed-off-by: Boris BREZILLON
Link: https://lkml.kernel.org/r/1405016741-2407-4-git-send-email-boris.brezillon@free-electrons.com
Signed-off-by: Jason Cooper -
Add AIC (Advanced Interrupt Controller) and AIC5 (AIC5 is an evolution of
the AIC block) drivers.
Put common code in irq-atmel-aic-common.c/.h so that both driver can access
shared functions (this will ease maintenance).These drivers are only compatible with dt enabled board and replace the
old implementation found in arch/arm/mach-at91/irq.c.Signed-off-by: Boris BREZILLON
Acked-by: Nicolas Ferre
Link: https://lkml.kernel.org/r/1405012462-766-4-git-send-email-boris.brezillon@free-electrons.com
Signed-off-by: Jason Cooper