linux-stable/drivers/irqchip
Sameer Pujar fe00f8900c irqchip/gic-pm: Update driver to use clk_bulk APIs
gic-pm driver is using pm-clk framework to manage clock resources, where
clocks remain always ON. This happens on Tegra devices which use BPMP
co-processor to manage the clocks. Calls to BPMP are always blocking and
hence it is necessary to enable/disable clocks during prepare/unprepare
phase respectively. When pm-clk is used, prepare count of clock is not
balanced until pm_clk_remove() happens. Clock is prepared in the driver
probe() and thus prepare count of clock remains non-zero, which in turn
keeps clock ON always.

Please note that above mentioned behavior is specific to Tegra devices
using BPMP for clock management and this should not be seen on other
devices. Though this patch uses clk_bulk APIs to address the mentioned
behavior, this works fine for all devices.

To simplify gic_get_clocks() API is removed and instead probe can do
necessary setup.

Suggested-by: Mohan Kumar D <mkumard@nvidia.com>
Signed-off-by: Sameer Pujar <spujar@nvidia.com>
Reviewed-by: Jon Hunter <jonathanh@nvidia.com>
Tested-by: Jon Hunter <jonathanh@nvidia.com>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
2019-04-29 15:45:01 +01:00
..
alphascale_asm9260-icoll.h
exynos-combiner.c
irq-alpine-msi.c treewide: kzalloc() -> kcalloc() 2018-06-12 16:19:22 -07:00
irq-armada-370-xp.c irqchip updates for 4.14 2017-08-31 20:12:51 +02:00
irq-aspeed-i2c-ic.c irqchip/aspeed-i2c-ic: Fix return value check in aspeed_i2c_ic_of_init() 2017-10-19 11:22:43 +01:00
irq-aspeed-vic.c irqchip/aspeed-vic: Add AST2500 compatible string 2017-06-22 14:13:39 +01:00
irq-ath79-cpu.c
irq-ath79-misc.c
irq-ativic32.c nds32: Power management for nds32 2018-11-06 18:01:41 +08:00
irq-atmel-aic-common.c irqchip/atmel-aic: Remove root argument from ->fixup() prototype 2017-07-04 11:10:37 +01:00
irq-atmel-aic-common.h irqchip/atmel-aic: Remove root argument from ->fixup() prototype 2017-07-04 11:10:37 +01:00
irq-atmel-aic.c irqchip/atmel-aic: Remove root argument from ->fixup() prototype 2017-07-04 11:10:37 +01:00
irq-atmel-aic5.c irqchip/atmel-aic: Remove root argument from ->fixup() prototype 2017-07-04 11:10:37 +01:00
irq-bcm2835.c irqchip: bcm283x: Switch to SPDX identifier 2018-12-13 09:35:36 +00:00
irq-bcm2836.c irqchip: bcm283x: Switch to SPDX identifier 2018-12-13 09:35:36 +00:00
irq-bcm6345-l1.c irqchip/bcm-6345-l1: Report that effective affinity is a single target 2017-08-18 10:54:41 +02:00
irq-bcm7038-l1.c irqchip/bcm: Restore registration print with %pOF 2019-04-29 15:00:02 +01:00
irq-bcm7120-l2.c irqchip/bcm: Restore registration print with %pOF 2019-04-29 15:00:02 +01:00
irq-brcmstb-l2.c irqchip/bcm: Restore registration print with %pOF 2019-04-29 15:00:02 +01:00
irq-clps711x.c
irq-crossbar.c irqchip: Convert to using %pOF instead of full_name 2017-08-23 10:09:28 +01:00
irq-csky-apb-intc.c irqchip/csky: fixup handle_irq_perbit break irq 2019-01-09 00:18:46 +08:00
irq-csky-mpintc.c irqchip: add C-SKY SMP interrupt controller 2018-10-26 00:54:29 +08:00
irq-davinci-aintc.c irqchip: davinci-aintc: move the driver to drivers/irqchip 2019-02-19 20:02:17 +05:30
irq-davinci-cp-intc.c irqchip: davinci-cp-intc: move the driver to drivers/irqchip 2019-02-19 20:03:42 +05:30
irq-digicolor.c irqchip: Convert to using %pOF instead of full_name 2017-08-23 10:09:28 +01:00
irq-dw-apb-ictl.c genirq: Fix various typos in comments 2018-12-18 14:22:28 +01:00
irq-eznps.c irqchip/eznps: Drop pointless static qualifier in nps400_of_init() 2016-10-19 14:24:36 +02:00
irq-ftintc010.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
irq-gic-common.c irqchip/gic: Add support to device tree based quirks 2018-12-13 17:23:37 +00:00
irq-gic-common.h irqchip/gic: Add support to device tree based quirks 2018-12-13 17:23:37 +00:00
irq-gic-pm.c irqchip/gic-pm: Update driver to use clk_bulk APIs 2019-04-29 15:45:01 +01:00
irq-gic-realview.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
irq-gic-v2m.c irqchip/gic-v2m: Fix SPI release on error path 2018-06-22 14:22:00 +02:00
irq-gic-v3-its-fsl-mc-msi.c irqchip/gic-v3-its: Move minimum LPI requirements to individual busses 2018-07-16 14:22:19 +01:00
irq-gic-v3-its-pci-msi.c irqchip/gic-v3-its: Reduce minimum LPI allocation to 1 for PCI devices 2018-07-27 10:01:24 +01:00
irq-gic-v3-its-platform-msi.c irqchip/gic-v3-its: Move minimum LPI requirements to individual busses 2018-07-16 14:22:19 +01:00
irq-gic-v3-its.c irqchip/gic-v3-its: Fix typo in a comment in its_msi_prepare() 2019-04-29 15:45:00 +01:00
irq-gic-v3-mbi.c irqchip/gic-v3-mbi: Fix uninitialized mbi_lock 2019-01-17 17:03:44 +00:00
irq-gic-v3.c irqchip/gic-v3: Allow interrupts to be set as pseudo-NMI 2019-02-06 10:05:21 +00:00
irq-gic-v4.c irqchip/gic-v4: Clear IRQ_DISABLE_UNLAZY again if mapping fails 2017-11-10 09:50:36 +00:00
irq-gic.c irqchip/gic: Drop support for secondary GIC in non-DT systems 2019-03-11 15:38:10 +00:00
irq-goldfish-pic.c irqchip/irq-goldfish-pic: Add Goldfish PIC driver 2018-01-04 11:14:04 +00:00
irq-hip04.c irqchip/hip04: Report that effective affinity is a single target 2017-08-18 10:54:42 +02:00
irq-i8259.c irqchip/i8259: Fix shutdown order by moving syscore_ops registration 2019-02-14 10:42:11 +00:00
irq-imgpdc.c treewide: devm_kzalloc() -> devm_kcalloc() 2018-06-12 16:19:22 -07:00
irq-imx-gpcv2.c irqchip/irq-imx-gpcv2: Add IRQCHIP_DECLARE for i.MX8MQ compatible 2018-12-18 12:59:18 +00:00
irq-imx-irqsteer.c irqchip/imx-irqsteer: Use devm_platform_ioremap_resource() to simplify code 2019-04-29 15:45:00 +01:00
irq-ingenic.c irqchip/ingenic: Add support for the JZ4725B SoC 2018-07-19 16:12:27 +01:00
irq-jcore-aic.c irqchip/jcore: Fix lost per-cpu interrupts 2016-10-14 14:26:55 +02:00
irq-keystone.c irqchip/keystone: Fix "scheduling while atomic" on rt 2016-12-31 18:41:45 +00:00
irq-lpc32xx.c irqchip: Convert to using %pOF instead of full_name 2017-08-23 10:09:28 +01:00
irq-ls-scfg-msi.c irqchip/ls-scfg-msi: Fix MSI affinity handling 2018-06-22 14:22:00 +02:00
irq-ls1x.c irqchip/irq-ls1x: Missing error code in ls1x_intc_of_init() 2019-04-05 14:37:56 +02:00
irq-madera.c irqchip/madera: Drop GPIO includes 2019-01-17 17:04:24 +00:00
irq-mbigen.c irqchip/mbigen: Don't clear eventid when freeing an MSI 2019-03-21 11:08:26 +00:00
irq-meson-gpio.c irqchip/meson-gpio: Add support for Meson-AXG SoCs 2018-05-24 12:34:18 +01:00
irq-mips-cpu.c MIPS: Unify checks for sibling CPUs 2017-08-30 00:57:27 +02:00
irq-mips-gic.c irqchip/mips-gic: Avoid spuriously handling masked interrupts 2018-02-16 13:47:58 +00:00
irq-mmp.c irqchip updates for 5.1, take #2 2019-03-21 12:30:54 +01:00
irq-mscc-ocelot.c irqchhip: Convert to using %pOFn instead of device_node.name 2018-12-13 09:35:56 +00:00
irq-mtk-cirq.c irqchip: Add Mediatek mtk-cirq driver 2017-04-07 10:52:22 +01:00
irq-mtk-sysirq.c irqchip: Convert to using %pOF instead of full_name 2017-08-23 10:09:28 +01:00
irq-mvebu-gicp.c treewide: devm_kzalloc() -> devm_kcalloc() 2018-06-12 16:19:22 -07:00
irq-mvebu-icu.c irqchip/irq-mvebu-icu: Add support for System Error Interrupts (SEI) 2018-10-02 12:00:30 +01:00
irq-mvebu-odmi.c
irq-mvebu-pic.c
irq-mvebu-sei.c irqchip/irq-mvebu-sei: Make mvebu_sei_ap806_caps static 2019-03-21 16:43:00 +01:00
irq-mxs.c irqchip: Convert to using %pOF instead of full_name 2017-08-23 10:09:28 +01:00
irq-nvic.c
irq-omap-intc.c irqchip/irq-omap-intc: Do not statically initialize variables 2017-10-16 21:05:14 +02:00
irq-ompic.c irqchip/ompic: fix return value check in ompic_of_init() 2018-01-04 11:13:22 +00:00
irq-or1k-pic.c irqchip/or1k-pic: Fix interrupt acknowledgement 2017-06-30 15:33:11 +01:00
irq-orion.c irqchip: Convert to using %pOFn instead of device_node.name 2018-11-27 10:54:17 -06:00
irq-partition-percpu.c treewide: kzalloc() -> kcalloc() 2018-06-12 16:19:22 -07:00
irq-pic32-evic.c
irq-rda-intc.c irqchip/irq-rda-intc: Fix return value check in rda8810_intc_init() 2018-12-18 12:55:23 +00:00
irq-renesas-h8s.c genirq: Fix various typos in comments 2018-12-18 14:22:28 +01:00
irq-renesas-h8300h.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
irq-renesas-intc-irqpin.c irqchip/irq-renesas-intc-irqpin: Convert to SPDX identifiers 2018-12-13 09:35:46 +00:00
irq-renesas-irqc.c irqchip/irq-renesas-irqc: Convert to SPDX identifiers 2018-12-13 09:35:37 +00:00
irq-s3c24xx.c genirq: Fix various typos in comments 2018-12-18 14:22:28 +01:00
irq-sa11x0.c
irq-sifive-plic.c irqchip/sifive-plic: Implement irq_set_affinity() for SMP host 2019-02-21 10:32:21 +00:00
irq-sirfsoc.c
irq-sni-exiu.c irqchip/exiu: Fix return value check in exiu_init() 2017-11-14 11:27:22 +01:00
irq-st.c irqchip/st: Mark st_irq_syscfg_resume() __maybe_unused 2016-12-19 10:55:43 +01:00
irq-stm32-exti.c irqchip updates for 5.1, take #2 2019-03-21 12:30:54 +01:00
irq-sun4i.c irqchip/sun4i: Add support for Allwinner ARMv5 F1C100s 2018-12-13 09:35:58 +00:00
irq-sunxi-nmi.c irqchip/sunxi-nmi: Support sun6i-a31-r-intc compatible 2017-06-22 14:08:17 +01:00
irq-tango.c irqchhip: Convert to using %pOFn instead of device_node.name 2018-12-13 09:35:56 +00:00
irq-tb10x.c irqchip: Convert to using %pOFn instead of device_node.name 2018-11-27 10:54:17 -06:00
irq-tegra.c irqchip: Convert to using %pOF instead of full_name 2017-08-23 10:09:28 +01:00
irq-ts4800.c
irq-uniphier-aidet.c irqchip: Add UniPhier AIDET irqchip driver 2017-08-23 10:08:44 +01:00
irq-versatile-fpga.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
irq-vf610-mscm-ir.c
irq-vic.c
irq-vt8500.c
irq-xilinx-intc.c irqchip: Convert to using %pOF instead of full_name 2017-08-23 10:09:28 +01:00
irq-xtensa-mx.c drivers/irqchip: xtensa-mx: fix mask and unmask 2019-01-26 02:02:15 -08:00
irq-xtensa-pic.c drivers/irqchip: xtensa: add warning to irq_retrigger 2019-01-26 02:02:14 -08:00
irq-zevio.c
irqchip.c
Kconfig ARM: SoC: late updates for linux-5.1 2019-03-06 10:22:26 -08:00
Makefile ARM: SoC: late updates for linux-5.1 2019-03-06 10:22:26 -08:00
qcom-irq-combiner.c irqchip/qcom: Fix check for spurious interrupts 2018-05-02 15:56:10 +02:00
qcom-pdc.c irqchip/pdc: Setup all edge interrupts as rising edge at GIC 2018-10-02 10:37:38 +01:00
spear-shirq.c