gic: Remove deprecated driver and interfaces
Change-Id: I567a406edb090ae9d109382f6874846a79dd7473
Co-authored-by: Roberto Vargas <roberto.vargas@arm.com>
Signed-off-by: Antonio Nino Diaz <antonio.ninodiaz@arm.com>
diff --git a/drivers/arm/gic/v3/gicv3_helpers.c b/drivers/arm/gic/v3/gicv3_helpers.c
index 1953a37..c12a4b6 100644
--- a/drivers/arm/gic/v3/gicv3_helpers.c
+++ b/drivers/arm/gic/v3/gicv3_helpers.c
@@ -377,56 +377,6 @@
gicd_write_icfgr(gicd_base, index, 0U);
}
-#if !ERROR_DEPRECATED
-/*******************************************************************************
- * Helper function to configure secure G0 and G1S SPIs.
- ******************************************************************************/
-void gicv3_secure_spis_config(uintptr_t gicd_base,
- unsigned int num_ints,
- const unsigned int *sec_intr_list,
- unsigned int int_grp)
-{
- unsigned int index, irq_num;
- unsigned long long gic_affinity_val;
-
- assert((int_grp == INTR_GROUP1S) || (int_grp == INTR_GROUP0));
- /* If `num_ints` is not 0, ensure that `sec_intr_list` is not NULL */
- if (num_ints != 0U)
- assert(sec_intr_list != NULL);
-
- for (index = 0U; index < num_ints; index++) {
- irq_num = sec_intr_list[index];
- if (irq_num >= MIN_SPI_ID) {
-
- /* Configure this interrupt as a secure interrupt */
- gicd_clr_igroupr(gicd_base, irq_num);
-
- /* Configure this interrupt as G0 or a G1S interrupt */
- if (int_grp == INTR_GROUP1S)
- gicd_set_igrpmodr(gicd_base, irq_num);
- else
- gicd_clr_igrpmodr(gicd_base, irq_num);
-
- /* Set the priority of this interrupt */
- gicd_set_ipriorityr(gicd_base,
- irq_num,
- GIC_HIGHEST_SEC_PRIORITY);
-
- /* Target SPIs to the primary CPU */
- gic_affinity_val =
- gicd_irouter_val_from_mpidr(read_mpidr(), 0U);
- gicd_write_irouter(gicd_base,
- irq_num,
- gic_affinity_val);
-
- /* Enable this interrupt */
- gicd_set_isenabler(gicd_base, irq_num);
- }
- }
-
-}
-#endif
-
/*******************************************************************************
* Helper function to configure properties of secure SPIs
******************************************************************************/
@@ -511,47 +461,6 @@
/* Configure all PPIs as level triggered by default */
gicr_write_icfgr1(gicr_base, 0U);
}
-
-#if !ERROR_DEPRECATED
-/*******************************************************************************
- * Helper function to configure secure G0 and G1S SPIs.
- ******************************************************************************/
-void gicv3_secure_ppi_sgi_config(uintptr_t gicr_base,
- unsigned int num_ints,
- const unsigned int *sec_intr_list,
- unsigned int int_grp)
-{
- unsigned int index, irq_num;
-
- assert((int_grp == INTR_GROUP1S) || (int_grp == INTR_GROUP0));
- /* If `num_ints` is not 0, ensure that `sec_intr_list` is not NULL */
- if (num_ints != 0U)
- assert(sec_intr_list != NULL);
-
- for (index = 0; index < num_ints; index++) {
- irq_num = sec_intr_list[index];
- if (irq_num < MIN_SPI_ID) {
-
- /* Configure this interrupt as a secure interrupt */
- gicr_clr_igroupr0(gicr_base, irq_num);
-
- /* Configure this interrupt as G0 or a G1S interrupt */
- if (int_grp == INTR_GROUP1S)
- gicr_set_igrpmodr0(gicr_base, irq_num);
- else
- gicr_clr_igrpmodr0(gicr_base, irq_num);
-
- /* Set the priority of this interrupt */
- gicr_set_ipriorityr(gicr_base,
- irq_num,
- GIC_HIGHEST_SEC_PRIORITY);
-
- /* Enable this interrupt */
- gicr_set_isenabler0(gicr_base, irq_num);
- }
- }
-}
-#endif
/*******************************************************************************
* Helper function to configure properties of secure G0 and G1S PPIs and SGIs.
diff --git a/drivers/arm/gic/v3/gicv3_main.c b/drivers/arm/gic/v3/gicv3_main.c
index 8da4512..5af7e40 100644
--- a/drivers/arm/gic/v3/gicv3_main.c
+++ b/drivers/arm/gic/v3/gicv3_main.c
@@ -67,45 +67,8 @@
assert(IS_IN_EL3());
-#if !ERROR_DEPRECATED
- if (plat_driver_data->interrupt_props == NULL) {
- /* Interrupt properties array size must be 0 */
- assert(plat_driver_data->interrupt_props_num == 0);
-
- /*
- * Suppress deprecated declaration warnings in compatibility
- * function
- */
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
-
- /*
- * The platform should provide a list of at least one type of
- * interrupt.
- */
- assert(plat_driver_data->g0_interrupt_array ||
- plat_driver_data->g1s_interrupt_array);
-
- /*
- * If there are no interrupts of a particular type, then the
- * number of interrupts of that type should be 0 and vice-versa.
- */
- assert(plat_driver_data->g0_interrupt_array ?
- plat_driver_data->g0_interrupt_num :
- plat_driver_data->g0_interrupt_num == 0);
- assert(plat_driver_data->g1s_interrupt_array ?
- plat_driver_data->g1s_interrupt_num :
- plat_driver_data->g1s_interrupt_num == 0);
-#pragma GCC diagnostic pop
-
- WARN("Using deprecated integer interrupt arrays in "
- "gicv3_driver_data_t\n");
- WARN("Please migrate to using interrupt_prop_t arrays\n");
- }
-#else
assert(plat_driver_data->interrupt_props_num > 0 ?
plat_driver_data->interrupt_props != NULL : 1);
-#endif
/* Check for system register support */
#ifdef AARCH32
@@ -193,45 +156,10 @@
/* Set the default attribute of all SPIs */
gicv3_spis_config_defaults(gicv3_driver_data->gicd_base);
-#if !ERROR_DEPRECATED
- if (gicv3_driver_data->interrupt_props != NULL) {
-#endif
- bitmap = gicv3_secure_spis_config_props(
- gicv3_driver_data->gicd_base,
- gicv3_driver_data->interrupt_props,
- gicv3_driver_data->interrupt_props_num);
-#if !ERROR_DEPRECATED
- } else {
- /*
- * Suppress deprecated declaration warnings in compatibility
- * function
- */
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
-
- assert(gicv3_driver_data->g1s_interrupt_array ||
- gicv3_driver_data->g0_interrupt_array);
-
- /* Configure the G1S SPIs */
- if (gicv3_driver_data->g1s_interrupt_array) {
- gicv3_secure_spis_config(gicv3_driver_data->gicd_base,
- gicv3_driver_data->g1s_interrupt_num,
- gicv3_driver_data->g1s_interrupt_array,
- INTR_GROUP1S);
- bitmap |= CTLR_ENABLE_G1S_BIT;
- }
-
- /* Configure the G0 SPIs */
- if (gicv3_driver_data->g0_interrupt_array) {
- gicv3_secure_spis_config(gicv3_driver_data->gicd_base,
- gicv3_driver_data->g0_interrupt_num,
- gicv3_driver_data->g0_interrupt_array,
- INTR_GROUP0);
- bitmap |= CTLR_ENABLE_G0_BIT;
- }
-#pragma GCC diagnostic pop
- }
-#endif
+ bitmap = gicv3_secure_spis_config_props(
+ gicv3_driver_data->gicd_base,
+ gicv3_driver_data->interrupt_props,
+ gicv3_driver_data->interrupt_props_num);
/* Enable the secure SPIs now that they have been configured */
gicd_set_ctlr(gicv3_driver_data->gicd_base, bitmap, RWP_TRUE);
@@ -266,44 +194,9 @@
/* Set the default attribute of all SGIs and PPIs */
gicv3_ppi_sgi_config_defaults(gicr_base);
-#if !ERROR_DEPRECATED
- if (gicv3_driver_data->interrupt_props != NULL) {
-#endif
- bitmap = gicv3_secure_ppi_sgi_config_props(gicr_base,
- gicv3_driver_data->interrupt_props,
- gicv3_driver_data->interrupt_props_num);
-#if !ERROR_DEPRECATED
- } else {
- /*
- * Suppress deprecated declaration warnings in compatibility
- * function
- */
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
-
- assert(gicv3_driver_data->g1s_interrupt_array ||
- gicv3_driver_data->g0_interrupt_array);
-
- /* Configure the G1S SGIs/PPIs */
- if (gicv3_driver_data->g1s_interrupt_array) {
- gicv3_secure_ppi_sgi_config(gicr_base,
- gicv3_driver_data->g1s_interrupt_num,
- gicv3_driver_data->g1s_interrupt_array,
- INTR_GROUP1S);
- bitmap |= CTLR_ENABLE_G1S_BIT;
- }
-
- /* Configure the G0 SGIs/PPIs */
- if (gicv3_driver_data->g0_interrupt_array) {
- gicv3_secure_ppi_sgi_config(gicr_base,
- gicv3_driver_data->g0_interrupt_num,
- gicv3_driver_data->g0_interrupt_array,
- INTR_GROUP0);
- bitmap |= CTLR_ENABLE_G0_BIT;
- }
-#pragma GCC diagnostic pop
- }
-#endif
+ bitmap = gicv3_secure_ppi_sgi_config_props(gicr_base,
+ gicv3_driver_data->interrupt_props,
+ gicv3_driver_data->interrupt_props_num);
/* Enable interrupt groups as required, if not already */
if ((ctlr & bitmap) != bitmap)
diff --git a/drivers/arm/gic/v3/gicv3_private.h b/drivers/arm/gic/v3/gicv3_private.h
index 36d4b3e..85231ad 100644
--- a/drivers/arm/gic/v3/gicv3_private.h
+++ b/drivers/arm/gic/v3/gicv3_private.h
@@ -95,16 +95,6 @@
******************************************************************************/
void gicv3_spis_config_defaults(uintptr_t gicd_base);
void gicv3_ppi_sgi_config_defaults(uintptr_t gicr_base);
-#if !ERROR_DEPRECATED
-void gicv3_secure_spis_config(uintptr_t gicd_base,
- unsigned int num_ints,
- const unsigned int *sec_intr_list,
- unsigned int int_grp);
-void gicv3_secure_ppi_sgi_config(uintptr_t gicr_base,
- unsigned int num_ints,
- const unsigned int *sec_intr_list,
- unsigned int int_grp);
-#endif
unsigned int gicv3_secure_ppi_sgi_config_props(uintptr_t gicr_base,
const interrupt_prop_t *interrupt_props,
unsigned int interrupt_props_num);