| #
8924da1e |
| 10-Nov-2025 |
Mark Dykes <mark.dykes@arm.com> |
Merge changes from topic "gr/cov_fixes" into integration
* changes: fix(gic): fix coverity issue INTEGER_OVERFLOW fix(scmi): fix coverity issue INTEGER_OVERFLOW
|
| #
b6f3b4f1 |
| 31-Oct-2025 |
Govindraj Raja <govindraj.raja@arm.com> |
fix(gic): fix coverity issue INTEGER_OVERFLOW
Avoid unsigned underflow when spi_id_min is below the base. Make all shifts in the CHIPR value composition 64-bit, to avoid flagging overflow.
Change-I
fix(gic): fix coverity issue INTEGER_OVERFLOW
Avoid unsigned underflow when spi_id_min is below the base. Make all shifts in the CHIPR value composition 64-bit, to avoid flagging overflow.
Change-Id: I376809fc110ff45dd0682b4bcf8dab43cf03d300 Signed-off-by: Govindraj Raja <govindraj.raja@arm.com>
show more ...
|
| #
99b2ae26 |
| 20-Feb-2025 |
Manish V Badarkhe <manish.badarkhe@arm.com> |
Merge changes from topic "jw/gic-lca-support" into integration
* changes: fix(rdn2): add LCA multichip data for RD-N2-Cfg2 fix(rdv3): add LCA multichip data for RD-V3-Cfg2 feat(gic): add suppo
Merge changes from topic "jw/gic-lca-support" into integration
* changes: fix(rdn2): add LCA multichip data for RD-N2-Cfg2 fix(rdv3): add LCA multichip data for RD-V3-Cfg2 feat(gic): add support for local chip addressing
show more ...
|
| #
c89438bc |
| 16-Sep-2024 |
Jerry Wang <Jerry.Wang4@arm.com> |
feat(gic): add support for local chip addressing
This patch adds support for Local Chip Addressing (LCA). In a multi-chip system, enablig LCA allows each GIC Distributor to maintain its own version
feat(gic): add support for local chip addressing
This patch adds support for Local Chip Addressing (LCA). In a multi-chip system, enablig LCA allows each GIC Distributor to maintain its own version of routing table. This feature is activated when the GICD_CFGID.LCA bit is set to 1.
The existing `gic600_multichip_data` data structure did not account for the LCA feature. To support LCA: - `rt_owner_base` is replaced by `base_addrs[]`. This is required because each GICD in the system needs to be configured independently, and their base addresses must be passed to the driver. - `chip_addrs` is changed from 1D to 2D array to store the routing table for each chip's GICD. The entries in `chip_addrs` are configuration dependent, as the GIC specification does not enforce this.
On a multi-chip platform with chip count N where LCA is enabled by default, the `gic600_multichip_data` structure should contain all copies of the routing table (N*N entries). On platforms where LCA is not supported, only the first sub-array with N entries is required. The function signature of `gic600_multichip_init` remains unchanged, but if the LCA feature is enabled, the driver will expect the routing table configuration in the described format.
Change-Id: I8830c2cf90db6a0cae78e99914cd32c637284a2b Signed-off-by: Jerry Wang <Jerry.Wang4@arm.com>
show more ...
|
| #
806b315c |
| 20-Mar-2024 |
Manish Pandey <manish.pandey2@arm.com> |
Merge "refactor: fix common misspelling of init*" into integration
|
| #
998da640 |
| 20-Mar-2024 |
Harrison Mutai <harrison.mutai@arm.com> |
refactor: fix common misspelling of init*
Change-Id: I3fc95e8e53ef487fd5a559cda739aaea33d765a9 Signed-off-by: Harrison Mutai <harrison.mutai@arm.com>
|
| #
87259380 |
| 20-Jun-2023 |
Manish V Badarkhe <manish.badarkhe@arm.com> |
Merge changes I814cdadb,I429eb473,I441f9a60 into integration
* changes: fix(n1sdp): fix spi_ids range for n1sdp multichip boot fix(gicv3): move invocation of gicv3_get_multichip_base function
Merge changes I814cdadb,I429eb473,I441f9a60 into integration
* changes: fix(n1sdp): fix spi_ids range for n1sdp multichip boot fix(gicv3): move invocation of gicv3_get_multichip_base function fix(gic600): fix gic600 maximum SPI ID
show more ...
|
| #
69ed7dc2 |
| 06-Jun-2023 |
sahil <sahil@arm.com> |
fix(gic600): fix gic600 maximum SPI ID
According to GIC-600 TRM, it supports up to 960 SPIs. With the starting SPI_ID of 32, the maximum SPI_ID should be 991. This patch fixes the value of GIC600_SP
fix(gic600): fix gic600 maximum SPI ID
According to GIC-600 TRM, it supports up to 960 SPIs. With the starting SPI_ID of 32, the maximum SPI_ID should be 991. This patch fixes the value of GIC600_SPI_ID_MAX which is currently configured to be 960.
Signed-off-by: sahil <sahil@arm.com> Change-Id: I441f9a607d160db8533f2a03e02afd1a9bab991e
show more ...
|
| #
4bd8c929 |
| 09-May-2023 |
Manish Pandey <manish.pandey2@arm.com> |
Merge changes I1bfa797e,I0ec7a70e into integration
* changes: fix(tree): correct some typos fix(rockchip): use semicolon instead of comma
|
| #
1b491eea |
| 13-Feb-2023 |
Elyes Haouas <ehaouas@noos.fr> |
fix(tree): correct some typos
found using codespell (https://github.com/codespell-project/codespell).
Signed-off-by: Elyes Haouas <ehaouas@noos.fr> Change-Id: I1bfa797e3460adddeefa916bb68e22beddaf6
fix(tree): correct some typos
found using codespell (https://github.com/codespell-project/codespell).
Signed-off-by: Elyes Haouas <ehaouas@noos.fr> Change-Id: I1bfa797e3460adddeefa916bb68e22beddaf6373
show more ...
|
| #
5a63aed2 |
| 24-Mar-2023 |
Manish Pandey <manish.pandey2@arm.com> |
Merge "fix(gicv3): workaround for NVIDIA erratum T241-FABRIC-4" into integration
|
| #
a02a45df |
| 08-Mar-2023 |
Varun Wadekar <vwadekar@nvidia.com> |
fix(gicv3): workaround for NVIDIA erratum T241-FABRIC-4
The purpose of this patch is to address the T241 erratum T241-FABRIC-4, which causes unexpected behavior in the GIC when multiple transactions
fix(gicv3): workaround for NVIDIA erratum T241-FABRIC-4
The purpose of this patch is to address the T241 erratum T241-FABRIC-4, which causes unexpected behavior in the GIC when multiple transactions are received simultaneously from different sources. This hardware issue impacts NVIDIA server platforms that use more than two T241 chips interconnected. Each chip has support for 320 {E}SPIs.
This issue occurs when multiple packets from different GICs are incorrectly interleaved at the target chip. The erratum text below specifies exactly what can cause multiple transfer packets susceptible to interleaving and GIC state corruption. GIC state corruption can lead to a range of problems, including kernel panics, and unexpected behavior.
Erratum documentation: https://developer.nvidia.com/docs/t241-fabric-4/nvidia-t241-fabric-4-errata.pdf
The workaround is to ensure that MMIO accesses target the GIC on the socket that holds the data, for example SPI ranges owned by the socket’s GIC. This ensures that the GIC will not utilize the inter-socket AXI Stream interface for servicing these GIC MMIO accesses.
This patch updates the functions that use the GICD_In{E} registers to ensure that the accesses are directed to the chip that owns the SPI, instead of using the global alias.
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com> Change-Id: I04e33ba64eb306bd5fdabb56e63cbe273d8cd632
show more ...
|
| #
c6957b66 |
| 15-Sep-2022 |
Manish Pandey <manish.pandey2@arm.com> |
Merge "feat(gicv3): validate multichip data for GIC-700" into integration
|
| #
a78b3b38 |
| 06-May-2022 |
Varun Wadekar <vwadekar@nvidia.com> |
feat(gicv3): validate multichip data for GIC-700
This patch introduces support to validate the GIC-700 multichip data structure passed by the platform.
GIC-700 provides support for SPI ID 4096 to 5
feat(gicv3): validate multichip data for GIC-700
This patch introduces support to validate the GIC-700 multichip data structure passed by the platform.
GIC-700 provides support for SPI ID 4096 to 5119. Platforms using the GIC-700 in a multichip configuration can enable these SPI IDs. The driver needs to validate the data before using it and this patch implements the support.
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com> Change-Id: I6f85ec21ef7a59f397fcf6271f8c13c24fe47697
show more ...
|
| #
292bb9a7 |
| 27-Oct-2021 |
Sandrine Bailleux <sandrine.bailleux@arm.com> |
Merge "fix: remove "experimental" tag for stable features" into integration
|
| #
700e7685 |
| 21-Oct-2021 |
Manish Pandey <manish.pandey2@arm.com> |
fix: remove "experimental" tag for stable features
there are features which are marked as experimental even though they are stable and used for quite some time. Following features are no longer mark
fix: remove "experimental" tag for stable features
there are features which are marked as experimental even though they are stable and used for quite some time. Following features are no longer marked as experimental - SPMD - MEASURED_BOOT - FCONF and associated build flags - DECRYPTION_SUPPORT and associated build flags - ENABLE_PAUTH - ENABLE_BTI - USE_SPINLOCK_CAS - GICv3 Multichip support
Signed-off-by: Manish Pandey <manish.pandey2@arm.com> Change-Id: I4bb653d9c413c66095ec31f0b8aefeb13ea04ee9
show more ...
|
| #
02950791 |
| 10-Sep-2021 |
André Przywara <andre.przywara@arm.com> |
Merge changes from topic "gic-700-auto" into integration
* changes: feat(arm_fpga): support GICv4 images feat(gicv3): detect GICv4 feature at runtime feat(gicv3): multichip: detect GIC-700 at
Merge changes from topic "gic-700-auto" into integration
* changes: feat(arm_fpga): support GICv4 images feat(gicv3): detect GICv4 feature at runtime feat(gicv3): multichip: detect GIC-700 at runtime refactor(gic): move GIC IIDR numbers refactor(gicv3): rename GIC Clayton to GIC-700
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 ...
|
| #
ef4d984a |
| 19-Nov-2019 |
Paul Beesley <paul.beesley@arm.com> |
Merge "GIC-600: Fix include ordering according to the coding style" into integration
|
| #
ac426351 |
| 19-Nov-2019 |
Max Shvetsov <maksims.svecovs@arm.com> |
GIC-600: Fix include ordering according to the coding style
Change-Id: Ia120bcaacea3a462ab78db13f84ed23493033601 Signed-off-by: Max Shvetsov <maksims.svecovs@arm.com>
|
| #
415f67e3 |
| 12-Nov-2019 |
Paul Beesley <paul.beesley@arm.com> |
Merge changes from topic "gic600_multichip" into integration
* changes: gic/gic600: add support for multichip configuration plat/arm/gicv3: add support for probing multiple GIC Redistributor fra
Merge changes from topic "gic600_multichip" into integration
* changes: gic/gic600: add support for multichip configuration plat/arm/gicv3: add support for probing multiple GIC Redistributor frames
show more ...
|
| #
fcc337cf |
| 16-Sep-2019 |
Vijayenthiran Subramaniam <vijayenthiran.subramaniam@arm.com> |
gic/gic600: add support for multichip configuration
Add support to configure GIC-600's multichip routing table registers. Introduce a new gic600 multichip structure in order to support platforms to
gic/gic600: add support for multichip configuration
Add support to configure GIC-600's multichip routing table registers. Introduce a new gic600 multichip structure in order to support platforms to pass their GIC-600 multichip information such as routing table owner, SPI blocks ownership.
This driver is currently experimental and the driver api may change in the future.
Change-Id: Id409d0bc07843e271ead3fc2f6e3cb38b317878d Signed-off-by: Vijayenthiran Subramaniam <vijayenthiran.subramaniam@arm.com>
show more ...
|