| #
a5885a39 |
| 23-Aug-2024 |
Gatien Chevallier <gatien.chevallier@foss.st.com> |
drivers: stm32_hpdma: implement transient CID0 on AHB errata for HPDMAs
On stm32mp2x SoCs, when an AHB busy signal is inserted during a transaction, a ghost CID0 is generated on the bus. If the comp
drivers: stm32_hpdma: implement transient CID0 on AHB errata for HPDMAs
On stm32mp2x SoCs, when an AHB busy signal is inserted during a transaction, a ghost CID0 is generated on the bus. If the compartment filtering is enabled on RISAB3/4/5, this transient CID0 is interpreted as a fault access by RISAB3/4/5 which aborts current access and returns an IAC. Described in section 2.3.21 of errata sheet available here: [1]. Therefore, when CID filtering is enabled on RISAB, we must ban CID0 as a possible CID value configured for any initiator on the bus. This avoids a conflict between an initiator holding CID0 and the transient CID0.
When "st,errata-ahbrisab" is set in the device tree, HPDMA channels cannot hold the CID0 value on the bus.
Link: https://www.st.com/resource/en/errata_sheet/es0598-stm32mp23xx25xx-device-errata-stmicroelectronics.pdf [1] Signed-off-by: Gatien Chevallier <gatien.chevallier@foss.st.com> Acked-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| #
5c2c026a |
| 13-Nov-2024 |
Gatien Chevallier <gatien.chevallier@foss.st.com> |
drivers: stm32_hpdma: update and fix CID filtering configuration
The conditions to acquire or release RIF semaphores when applying the CID filtering configuration were incorrect. Add handle_availabl
drivers: stm32_hpdma: update and fix CID filtering configuration
The conditions to acquire or release RIF semaphores when applying the CID filtering configuration were incorrect. Add handle_available_semaphores() to handle correctly the RIF semaphores.
Signed-off-by: Gatien Chevallier <gatien.chevallier@foss.st.com> Acked-by: Etienne Carriere <etienne.carriere@foss.st.com> Fixes: 0cf1cd13ceb6 ("drivers: add HPDMA driver with RIF support")
show more ...
|
| #
307d268b |
| 13-Nov-2024 |
Gatien Chevallier <gatien.chevallier@foss.st.com> |
drivers: stm32_hpdma: do not make RIF configuration mandatory
It should not be mandatory to apply a RIF configuration for a HPDMA. Remove this constraint by allocating a RIF configuration structure
drivers: stm32_hpdma: do not make RIF configuration mandatory
It should not be mandatory to apply a RIF configuration for a HPDMA. Remove this constraint by allocating a RIF configuration structure only when the "st,protreg" property is present in the device tree to be able to check if it has been allocated later.
Signed-off-by: Gatien Chevallier <gatien.chevallier@foss.st.com> Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| #
646ad62b |
| 13-Nov-2024 |
Gatien Chevallier <gatien.chevallier@foss.st.com> |
drivers: stm32_rif: update and fix RIF configuration parsing
Fix the parsing of the RIF configuration by using device tree bindings, when necessary. Generalize RIF bit fields and use them when deali
drivers: stm32_rif: update and fix RIF configuration parsing
Fix the parsing of the RIF configuration by using device tree bindings, when necessary. Generalize RIF bit fields and use them when dealing with generic RIF functions. Update drivers that use stm32_rif_parse_cfg() accordingly.
Signed-off-by: Gatien Chevallier <gatien.chevallier@foss.st.com> Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com> Fixes: 1506f47af917 ("drivers: firewall: add stm32_rif driver for common RIF features")
show more ...
|
| #
0cf1cd13 |
| 27-Mar-2024 |
Gatien Chevallier <gatien.chevallier@foss.st.com> |
drivers: add HPDMA driver with RIF support
This driver implements RIF configuration for HPDMA, which is a RIF aware IP. It means that the HPDMA driver is in charge of configuring its own RIF restric
drivers: add HPDMA driver with RIF support
This driver implements RIF configuration for HPDMA, which is a RIF aware IP. It means that the HPDMA driver is in charge of configuring its own RIF restrictions and that the HPDMA has dedicated RIF configuration registers.
RIF configuration is possible when the executing context is TDCID.
Signed-off-by: Gatien Chevallier <gatien.chevallier@foss.st.com> Acked-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|