aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorJeenu Viswambharan <jeenu.viswambharan@arm.com>2017-10-24 15:13:59 +0100
committerJeenu Viswambharan <jeenu.viswambharan@arm.com>2017-11-13 07:49:30 +0000
commit4ee8d0becddd65b27206cc01ed0d896a6605b82b (patch)
treef21e8bc9b2ea5b29d153500631f4224d9c793914 /include
parent385f1dbb294b36c5fbdbbf3d10b6cb105239a76e (diff)
downloadplatform_external_arm-trusted-firmware-4ee8d0becddd65b27206cc01ed0d896a6605b82b.tar.gz
platform_external_arm-trusted-firmware-4ee8d0becddd65b27206cc01ed0d896a6605b82b.tar.bz2
platform_external_arm-trusted-firmware-4ee8d0becddd65b27206cc01ed0d896a6605b82b.zip
GIC: Introduce API to get interrupt ID
Acknowledging interrupt shall return a raw value from the interrupt controller in which the actual interrupt ID may be encoded. Add a platform API to extract the actual interrupt ID from the raw value obtained from interrupt controller. Document the new function. Also clarify the semantics of interrupt acknowledge. Change-Id: I818dad7be47661658b16f9807877d259eb127405 Signed-off-by: Jeenu Viswambharan <jeenu.viswambharan@arm.com>
Diffstat (limited to 'include')
-rw-r--r--include/drivers/arm/gicv3.h3
-rw-r--r--include/plat/common/platform.h1
2 files changed, 4 insertions, 0 deletions
diff --git a/include/drivers/arm/gicv3.h b/include/drivers/arm/gicv3.h
index b2e4d4c5e..f2a53712e 100644
--- a/include/drivers/arm/gicv3.h
+++ b/include/drivers/arm/gicv3.h
@@ -245,6 +245,9 @@
#define GICR_NUM_REGS(reg_name) \
DIV_ROUND_UP_2EVAL(TOTAL_PCPU_INTR_NUM, (1 << reg_name ## _SHIFT))
+/* Interrupt ID mask for HPPIR, AHPPIR, IAR and AIAR CPU Interface registers */
+#define INT_ID_MASK 0xffffff
+
/*******************************************************************************
* This structure describes some of the implementation defined attributes of the
* GICv3 IP. It is used by the platform port to specify these attributes in order
diff --git a/include/plat/common/platform.h b/include/plat/common/platform.h
index 068d7aab2..086e5e6ae 100644
--- a/include/plat/common/platform.h
+++ b/include/plat/common/platform.h
@@ -90,6 +90,7 @@ void plat_ic_set_spi_routing(unsigned int id, unsigned int routing_mode,
void plat_ic_set_interrupt_pending(unsigned int id);
void plat_ic_clear_interrupt_pending(unsigned int id);
unsigned int plat_ic_set_priority_mask(unsigned int mask);
+unsigned int plat_ic_get_interrupt_id(unsigned int raw);
/*******************************************************************************
* Optional common functions (may be overridden)