14 Aug, 2024
1 commit
-
commit d73f0f49daa84176c3beee1606e73c7ffb6af8b2 upstream.
The device tree property 'xlnx,kind-of-intr' is sanity checked that the
bitmask contains only set bits which are in the range of the number of
interrupts supported by the controller.The check is done by shifting the mask right by the number of supported
interrupts and checking the result for zero.The data type of the mask is u32 and the number of supported interrupts is
up to 32. In case of 32 interrupts the shift is out of bounds, resulting in
a mismatch warning. The out of bounds condition is also reported by UBSAN:UBSAN: shift-out-of-bounds in irq-xilinx-intc.c:332:22
shift exponent 32 is too large for 32-bit type 'unsigned int'Fix it by promoting the mask to u64 for the test.
Fixes: d50466c90724 ("microblaze: intc: Refactor DT sanity check")
Signed-off-by: Radhey Shyam Pandey
Signed-off-by: Thomas Gleixner
Cc: stable@vger.kernel.org
Link: https://lore.kernel.org/all/1723186944-3571957-1-git-send-email-radhey.shyam.pandey@amd.com
Signed-off-by: Greg Kroah-Hartman
04 Mar, 2022
1 commit
-
Register the Xilinx driver as the root interrupt controller using
the GENERIC_IRQ_MULTI_HANDLER API, instead of the arch-specific hack.Signed-off-by: Michal Simek
Reviewed-by: Stefan Asserhall
[maz: repainted commit message]
Signed-off-by: Marc Zyngier
Link: https://lore.kernel.org/r/e6c6595a81f662bf839cee3109d0fa58a596ea47.1646380284.git.michal.simek@xilinx.com
10 Jun, 2021
1 commit
-
Wherever possible, replace constructs that match either
generic_handle_irq(irq_find_mapping()) or
generic_handle_irq(irq_linear_revmap()) to a single call to
generic_handle_domain_irq().Reviewed-by: Geert Uytterhoeven
Acked-by: Krzysztof Kozlowski
Signed-off-by: Marc Zyngier
22 Mar, 2021
1 commit
-
Fix ~36 single-word typos in the IRQ, irqchip and irqdomain code comments.
Signed-off-by: Ingo Molnar
Cc: Thomas Gleixner
Cc: Marc Zyngier
Cc: Borislav Petkov
Cc: Peter Zijlstra
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Ingo Molnar
01 Apr, 2020
2 commits
-
This reverts commit a0789993bf8266e62fea6b4613945ba081c71e7d, which
breaks a number of PPC platforms.Reported-by: Stephen Rothwell
Signed-off-by: Marc Zyngier
Link: https://lore.kernel.org/r/44b64be7-9240-fd52-af90-e0245220f38b@xilinx.com -
This reverts commit 9c2d4f525c002591f4e0c14a37663663aaba1656, which
breaks a number of PPC platforms.Reported-by: Stephen Rothwell
Signed-off-by: Marc Zyngier
Link: https://lore.kernel.org/r/44b64be7-9240-fd52-af90-e0245220f38b@xilinx.com
22 Mar, 2020
4 commits
-
Using a default domain on DT based platforms is unnecessary.
Signed-off-by: Mubin Sayyed
Signed-off-by: Marc Zyngier
Link: https://lore.kernel.org/r/20200317125600.15913-5-mubin.usman.sayyed@xilinx.com -
Register default arch handler via driver instead of directly pointing to
xilinx intc controller. This patch makes architecture code more generic.Driver calls generic domain specific irq handler which does the most of
things self. Also get rid of concurrent_irq counting which hasn't been
exported anywhere.
Based on this loop was also optimized by using do/while loop instead of
goto loop.Signed-off-by: Michal Simek
Signed-off-by: Marc Zyngier
Reviewed-by: Stefan Asserhall
Link: https://lore.kernel.org/r/20200317125600.15913-4-mubin.usman.sayyed@xilinx.com -
There is no ret filled in case of irq_domain_add_linear() failure.
Signed-off-by: Michal Simek
Signed-off-by: Marc Zyngier
Reviewed-by: Stefan Asserhall
Link: https://lore.kernel.org/r/20200317125600.15913-3-mubin.usman.sayyed@xilinx.com -
Added support for cascaded interrupt controllers.
Following cascaded configurations have been tested,
- peripheral->xilinx-intc->xilinx-intc->gic->Cortexa53 processor
on zcu102 board
- peripheral->xilinx-intc->xilinx-intc->microblaze processor
on kcu105 boardSigned-off-by: Mubin Sayyed
Signed-off-by: Anirudha Sarangi
Signed-off-by: Marc Zyngier
Link: https://lore.kernel.org/r/20200317125600.15913-2-mubin.usman.sayyed@xilinx.com
23 Aug, 2017
1 commit
-
Now that we have a custom printf format specifier, convert users of
full_name to use %pOF instead. This is preparation to remove storing
of the full path string for each node.Cc: Thomas Gleixner
Cc: Jason Cooper
Cc: Lee Jones
Cc: Stefan Wahren
Cc: Florian Fainelli
Cc: Ray Jui
Cc: Scott Branden
Cc: bcm-kernel-feedback-list@broadcom.com
Cc: Sylvain Lemieux
Cc: Maxime Coquelin
Cc: Chen-Yu Tsai
Cc: Thierry Reding
Cc: Jonathan Hunter
Cc: Michal Simek
Cc: "Sören Brinkmann"
Cc: linux-rpi-kernel@lists.infradead.org
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-mediatek@lists.infradead.org
Cc: linux-tegra@vger.kernel.org
Acked-by: Eric Anholt
Acked-by: Baruch Siach
Acked-by: Vladimir Zapolskiy
Acked-by: Matthias Brugger
Acked-by: Alexandre Torgue
Acked-by: Maxime Ripard
Signed-off-by: Rob Herring
Signed-off-by: Marc Zyngier
29 Nov, 2016
7 commits
-
The Xilinx interrupt controller driver is now available in drivers/irqchip.
Switch to using that driver.Acked-by: Michael Ellerman
Acked-by: Michal Simek
Signed-off-by: Zubair Lutfullah Kakakhel
Signed-off-by: Marc Zyngier -
The powerpc dts file does not have the xlnx,kind-of-intr property.
Instead of erroring out, give a warning instead. And attempt to
continue to probe the interrupt controller while assuming
kind-of-intr is 0x0 as a fall back.Acked-by: Michal Simek
Signed-off-by: Zubair Lutfullah Kakakhel
Signed-off-by: Marc Zyngier -
The MIPS based xilfpga platform has the following IRQ structure
Peripherals --> xilinx_intcontroller -> mips_cpu_int controller
Add support for the driver to chain the irq handler
Signed-off-by: Zubair Lutfullah Kakakhel
Signed-off-by: Marc Zyngier -
Now that the driver is generic and used by multiple archs,
get_irq is too generic.Rename get_irq to xintc_get_irq to avoid any conflicts
Acked-by: Michal Simek
Signed-off-by: Zubair Lutfullah Kakakhel
Signed-off-by: Marc Zyngier -
Add a global structure to house various variables.
And cleanup read/write handling by using jump label api.Tested-by; Michal Simek
Signed-off-by: Zubair Lutfullah Kakakhel
Signed-off-by: Marc Zyngier -
Remove __func__ and prefix irq-xilinx in various debug prints
Acked-by: Michal Simek
Signed-off-by: Zubair Lutfullah Kakakhel
Signed-off-by: Marc Zyngier -
The Xilinx AXI Interrupt Controller IP block is used by the MIPS
based xilfpga platform and a few PowerPC based platforms.Move the interrupt controller code out of arch/microblaze so that
it can be used by everyoneTested-by: Michal Simek
Signed-off-by: Zubair Lutfullah Kakakhel
Signed-off-by: Marc Zyngier