| 36704d09 | 06-Jun-2023 |
sahil <sahil@arm.com> |
fix(gicv3): move invocation of gicv3_get_multichip_base function
gicv3_get_multichip_base in case of GICV3_IMPL_GIC600_MULTICHIP flag being set, only works if the id belongs to SPI range. Moving inv
fix(gicv3): move invocation of gicv3_get_multichip_base function
gicv3_get_multichip_base in case of GICV3_IMPL_GIC600_MULTICHIP flag being set, only works if the id belongs to SPI range. Moving invocation of the function after confirming that the intr_num belongs to SPI range.
Signed-off-by: sahil <sahil@arm.com> Change-Id: I429eb473a7aeccb30309b1ffa5994663393ba0a2
show more ...
|
| 6a1c17c7 | 26-Jan-2022 |
Varun Wadekar <vwadekar@nvidia.com> |
feat(gic600ae_fmu): enable all GICD, PPI, ITS SMs
The following SMIDs are disabled by default.
* GICD: MBIST REQ error and GICD FMU ClkGate override * PPI: MBIST REQ error and PPI FMU ClkGate overr
feat(gic600ae_fmu): enable all GICD, PPI, ITS SMs
The following SMIDs are disabled by default.
* GICD: MBIST REQ error and GICD FMU ClkGate override * PPI: MBIST REQ error and PPI FMU ClkGate override * ITS: MBIST REQ error and ITS FMU ClkGate override
This patch explicitly enables them during the FMU init sequence.
Change-Id: I573e64786e3318d4cbcd07d0a1caf25f8e6e9200 Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
show more ...
|
| 3f0094c1 | 25-Jan-2022 |
Varun Wadekar <vwadekar@nvidia.com> |
feat(gic600ae_fmu): disable SMID for unavailable blocks
This patch updates the gic600_fmu_init function to disable all safety mechanisms for a block ID that is not present on the platform. All safet
feat(gic600ae_fmu): disable SMID for unavailable blocks
This patch updates the gic600_fmu_init function to disable all safety mechanisms for a block ID that is not present on the platform. All safety mechanisms for GIC-600AE are enabled by default and should be disabled for blocks that are not present on the platform to avoid false positive RAS errors.
Change-Id: I52dc3bee9a8b49fd2e51d7ed851fdc803a48e6e3 Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
show more ...
|
| 858f40e3 | 18-May-2021 |
Andre Przywara <andre.przywara@arm.com> |
feat(gicv3): detect GICv4 feature at runtime
At the moment we have a GIC_ENABLE_V4_EXTN build time variable to determine whether the GIC interrupt controller is compliant to version 4.0 of the spec
feat(gicv3): detect GICv4 feature at runtime
At the moment we have a GIC_ENABLE_V4_EXTN build time variable to determine whether the GIC interrupt controller is compliant to version 4.0 of the spec or not. This just changes the number of 64K MMIO pages we expect per redistributor.
To support firmware builds which run on variable systems (emulators, fast model or FPGAs), let's make this decision at runtime. The GIC specification provides several architected flags to learn the size of the MMIO frame per redistributor, we use GICR_TYPER[VLPI] here.
Provide a (static inline) function to return the size of each redistributor. We keep the GIC_ENABLE_V4_EXTN build time variable around, but change its meaning to enable this autodetection code. Systems not defining this rely on a "pure" GICv3 (as before), but platforms setting it to "1" can now deal with both configurations.
Change-Id: I9ede4acf058846157a0a9e2ef6103bf07c7655d9 Signed-off-by: Andre Przywara <andre.przywara@arm.com>
show more ...
|
| feb70818 | 18-May-2021 |
Andre Przywara <andre.przywara@arm.com> |
feat(gicv3): multichip: detect GIC-700 at runtime
At the moment we have a GIC_ENABLE_V4_EXTN build time variable to determine whether the GIC interrupt controller is compliant to version 4.0 of the
feat(gicv3): multichip: detect GIC-700 at runtime
At the moment we have a GIC_ENABLE_V4_EXTN build time variable to determine whether the GIC interrupt controller is compliant to version 4.0 of the GIC spec or not. In case of the GIC-600 multichip support we were somewhat abusing that flag to differentiate between a GIC-700 and GIC-600 implementation being used in the system.
To avoid a build time dependency on this flag, look at the GICD_IIDR register and check if the hardware is a GIC-600 or not, to make this decision at runtime. We then use the values for either GIC-700 or the GIC-600, respectively.
Change-Id: I8c09ec1cd6fd60d28da879ed55ffef5506f9869d Signed-off-by: Andre Przywara <andre.przywara@arm.com>
show more ...
|