diff options
Diffstat (limited to 'arch/arm/mach-tegra/irq.c')
| -rw-r--r-- | arch/arm/mach-tegra/irq.c | 15 | 
1 files changed, 15 insertions, 0 deletions
| diff --git a/arch/arm/mach-tegra/irq.c b/arch/arm/mach-tegra/irq.c index 2ff2128cb9d..1952e82797c 100644 --- a/arch/arm/mach-tegra/irq.c +++ b/arch/arm/mach-tegra/irq.c @@ -44,6 +44,8 @@  #define FIRST_LEGACY_IRQ 32 +#define SGI_MASK 0xFFFF +  static int num_ictlrs;  static void __iomem *ictlr_reg_base[] = { @@ -54,6 +56,19 @@ static void __iomem *ictlr_reg_base[] = {  	IO_ADDRESS(TEGRA_QUINARY_ICTLR_BASE),  }; +bool tegra_pending_sgi(void) +{ +	u32 pending_set; +	void __iomem *distbase = IO_ADDRESS(TEGRA_ARM_INT_DIST_BASE); + +	pending_set = readl_relaxed(distbase + GIC_DIST_PENDING_SET); + +	if (pending_set & SGI_MASK) +		return true; + +	return false; +} +  static inline void tegra_irq_write_mask(unsigned int irq, unsigned long reg)  {  	void __iomem *base; |