| f11639b2 | 23-Nov-2023 |
Etienne Carriere <etienne.carriere@foss.st.com> |
ci: build stm32mp1-135F_DK with Clang
Adds a build of stm32mp1-135F_DK platform with Clang to ensure the several driver frameworks enabled by this platform comply with a Clang build.
Acked-by: Jens
ci: build stm32mp1-135F_DK with Clang
Adds a build of stm32mp1-135F_DK platform with Clang to ensure the several driver frameworks enabled by this platform comply with a Clang build.
Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| ace929f0 | 23-Nov-2023 |
Etienne Carriere <etienne.carriere@foss.st.com> |
drivers: regulator: fix variable sized voltages fallback
Fix build issue reported by Clang on variable size field desc not being located at the end of struct voltages_fallback. The error was reporte
drivers: regulator: fix variable sized voltages fallback
Fix build issue reported by Clang on variable size field desc not being located at the end of struct voltages_fallback. The error was reported with a trace message like below:
core/include/drivers/regulator.h:118:4: warning: field 'voltages_fallback' with variable sized type 'struct voltages_fallback' not at the end of a struct or class is a GNU extension [-Wgnu-variable-sized-type-not-at-end] } voltages_fallback; ^ core/drivers/regulator/regulator_fixed.c:27:19: warning: field 'regulator' with variable sized type 'struct regulator' not at the end of a struct or class is a GNU extension [-Wgnu-variable-sized-type-not-at-end] struct regulator regulator; ^ 2 warnings generated.
To achieve this the variable size field entries is removed from struct regulator_voltages that is renamed struct regulator_voltages_desc. API function regulator_supported_voltages() and regulator drivers handler function ::supported_voltages are updated the get 2 input arguments the second being the levels arrays which size is defined by the description argument.
Impacted sources files are updated accordingly.
Fixes: 43c155ba111d ("drivers: regulator: list supported levels") Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| 4a6683cf | 08-Oct-2023 |
Tony Han <tony.han@microchip.com> |
plat-sam: fix warnings found during checkpatch
Remove 'extern' from function prototypes in .h files. Align the parameters in functions.
Signed-off-by: Tony Han <tony.han@microchip.com> Reviewed-by:
plat-sam: fix warnings found during checkpatch
Remove 'extern' from function prototypes in .h files. Align the parameters in functions.
Signed-off-by: Tony Han <tony.han@microchip.com> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| 8122e61d | 04-Dec-2023 |
Zexi Yu <yuzexi@hisilicon.com> |
drivers: crypto: hisilicon: fix QM cache start and done define
Address offset of qm_cache_wb_start and qm_cache_wb_done is wrong.
Fixes: c7f9abcee87f ("drivers: implement HiSilicon Queue Management
drivers: crypto: hisilicon: fix QM cache start and done define
Address offset of qm_cache_wb_start and qm_cache_wb_done is wrong.
Fixes: c7f9abcee87f ("drivers: implement HiSilicon Queue Management (QM) module") Signed-off-by: Zexi Yu <yuzexi@hisilicon.com> Acked-by: Jerome Forissier <jerome.forissier@linaro.org> [Edit commit subject] Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org>
show more ...
|
| 01ef3c79 | 01-Dec-2023 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: panic(): avoid panic in panic
When configured with CFG_HALT_CORES_ON_PANIC=y panic() sends a secure SGI to all other CPUs to trap all of them, but if interrupts haven't been configured yet it
core: panic(): avoid panic in panic
When configured with CFG_HALT_CORES_ON_PANIC=y panic() sends a secure SGI to all other CPUs to trap all of them, but if interrupts haven't been configured yet it triggers a cascade of panics. So add a check to see if interrupts are configured before trying to trap the other CPUs.
Fixes: 2b719df0fc1c ("core: interrupt: halt other cores when one is panicking") Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com> Acked-by: Gatien Chevallier <gatien.chevallier@foss.st.com>
show more ...
|
| 245a552c | 01-Dec-2023 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: add interrupt_get_main_chip_may_fail()
Add interrupt_get_main_chip_may_fail() to be able to check if it's possible to use interrupts without causing a panic.
Signed-off-by: Jens Wiklander <je
core: add interrupt_get_main_chip_may_fail()
Add interrupt_get_main_chip_may_fail() to be able to check if it's possible to use interrupts without causing a panic.
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com> Acked-by: Gatien Chevallier <gatien.chevallier@foss.st.com>
show more ...
|
| c038f3da | 29-Nov-2023 |
Etienne Carriere <etienne.carriere@foss.st.com> |
core: dt_driver: do not defer probe on skip phandler arguments
Prevent dt_driver_device_from_node_idx_prop() to request driver probe deferral when needing to skip phandle arguments cells related to
core: dt_driver: do not defer probe on skip phandler arguments
Prevent dt_driver_device_from_node_idx_prop() to request driver probe deferral when needing to skip phandle arguments cells related to providers not yet registered. When skipping these phandle argument cells we don't really need the skipped provider is registered, we can read the #xxx-cells property in the provider DT node straight.
For example, consider a driver which DT node defines: clocks = <&foo_clock 1 2 3>, <&bar_clock 2>; clock-names = "foo", "bar"; If driver calls clk_get_by_name(fdt, node, "bar"), it does not need to wait &foo_clock related driver to be already probed, it does not even need the driver to be ever probed.
Fixes: a22e85b25772 ("core: dt_driver: factorize clk_dt_get_from_provider()") Acked-by: Gatien Chevallier <gatien.chevallier@foss.st.com> Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| 37a87df8 | 23-Nov-2023 |
Etienne Carriere <etienne.carriere@foss.st.com> |
pta: stats: rename statistics PTA
Rename statistics PTA to "stats.pta" for consistency.
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Jerome Forissier <jerome.forissier@linaro.o
pta: stats: rename statistics PTA
Rename statistics PTA to "stats.pta" for consistency.
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| a05577ea | 23-Nov-2023 |
Etienne Carriere <etienne.carriere@foss.st.com> |
tree wide: clarify PTA ABI
Explicitly describe the statistics PTA ABI using dedicated inline comments and moving struct pta_stats_ta and struct pta_stats_alloc from respectively tee_ta_manager.c and
tree wide: clarify PTA ABI
Explicitly describe the statistics PTA ABI using dedicated inline comments and moving struct pta_stats_ta and struct pta_stats_alloc from respectively tee_ta_manager.c and malloc.h to pta_stats.h header file.
For that purpose, define ALLOC_ID_* macros to identify each allocator one can query information from through the statistics PTA API.
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| 761fc6ec | 22-Nov-2023 |
Etienne Carriere <etienne.carriere@foss.st.com> |
pta: stats: export PTA API definition to TA devkit
Move statistics PTA API definitions and description to a header file that is exported to the TA devkit. This change makes the description that PTA
pta: stats: export PTA API definition to TA devkit
Move statistics PTA API definitions and description to a header file that is exported to the TA devkit. This change makes the description that PTA API more consistent regarding other PTAs.
Explicitly include tee_api_types.h from stats.c source file.
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| 12f658b9 | 23-Nov-2023 |
Etienne Carriere <etienne.carriere@foss.st.com> |
pta: stats: initialize local variables where defined
Initialize local variables where defined in the statistics PTA.
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Jerome Forissi
pta: stats: initialize local variables where defined
Initialize local variables where defined in the statistics PTA.
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| 54115809 | 23-Nov-2023 |
Etienne Carriere <etienne.carriere@foss.st.com> |
core: rename struct tee_ta_dump_stats
Rename struct tee_ta_dump_stats to struct pta_stats_ta to prepare the creation of pta_stats.h header file that will define the whole statistics PTA API and ABI,
core: rename struct tee_ta_dump_stats
Rename struct tee_ta_dump_stats to struct pta_stats_ta to prepare the creation of pta_stats.h header file that will define the whole statistics PTA API and ABI, located in libutee/include/ as already done for all other PTAs.
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| 2617f49f | 22-Nov-2023 |
Etienne Carriere <etienne.carriere@foss.st.com> |
tree wide: rename struct malloc_stats
Rename struct malloc_stats to struct pta_stats_alloc to prepare the creation of pta_stats.h header file that will define the whole statistics PTA API and ABI, l
tree wide: rename struct malloc_stats
Rename struct malloc_stats to struct pta_stats_alloc to prepare the creation of pta_stats.h header file that will define the whole statistics PTA API and ABI, located in libutee/include/ as already done for all other PTAs.
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| 83f153ae | 30-Nov-2023 |
Chia-Wei Wang <chiawei_wang@aspeedtech.com> |
plat-aspeed: ast2700: use gic_init_v3()
Use gic_init_v3() with the GICR base address.
Signed-off-by: Chia-Wei Wang <chiawei_wang@aspeedtech.com> Acked-by: Jens Wiklander <jens.wiklander@linaro.org> |
| 7954812c | 30-Nov-2023 |
Chia-Wei Wang <chiawei_wang@aspeedtech.com> |
core: arm: fix NS entry for secondary cores
The NS entry was originally stashed from LR to R5. The commit f332e77c4b7c ("core: arm: refactor boot argument handling") revised the LR preservation to R
core: arm: fix NS entry for secondary cores
The NS entry was originally stashed from LR to R5. The commit f332e77c4b7c ("core: arm: refactor boot argument handling") revised the LR preservation to R8. Therefore, the way to retrieve the NS entry for secondary cores should be updated as well.
Fixes: f332e77c4b7c ("core: arm: refactor boot argument handling") Signed-off-by: Chia-Wei Wang <chiawei_wang@aspeedtech.com> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 0f50ba5a | 28-Nov-2023 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: fix objectUsage handling for persistent objects
Before this patch was the object usage field stored in the non-persistent part of an object handle, regardless of whether the storage object was
core: fix objectUsage handling for persistent objects
Before this patch was the object usage field stored in the non-persistent part of an object handle, regardless of whether the storage object was persistent. This prevents updates to this field from being restored the next time the persistent object is opened. Updates to the field are also not replicated to eventual other open handles for the object. Fix this by storing the "usage" bits in a new obj_info_usage field in struct tee_pobj for persistent objects. Updates to the field are also written into secure storage to preserve the content the next time the object is opened.
Fixes: b01047730e77 ("Open-source the TEE Core") Closes: https://github.com/OP-TEE/optee_os/issues/6495 Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Acked-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| aac2c716 | 28-Nov-2023 |
Etienne Carriere <etienne.carriere@foss.st.com> |
drivers: clk: print clock tree with debug trace level
Change clk_print_tree() to print the clock tree with debug trace level instead of info trace level.
Add a test on TRACE_LEVEL >= TRACE_DEBUG in
drivers: clk: print clock tree with debug trace level
Change clk_print_tree() to print the clock tree with debug trace level instead of info trace level.
Add a test on TRACE_LEVEL >= TRACE_DEBUG in clk_print_tree() to ensures no unless code is embedded when the trace level is too low.
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| 4362d4f9 | 27-Nov-2023 |
Etienne Carriere <etienne.carriere@foss.st.com> |
drivers: clk: remove spinlock in clk_print_tree()
Remove spinlock handling from clk_print_tree(). This lock may mask interrupts for a long period of time which and may affect the system behavior. Si
drivers: clk: remove spinlock in clk_print_tree()
Remove spinlock handling from clk_print_tree(). This lock may mask interrupts for a long period of time which and may affect the system behavior. Since there is no clock unregistering and clock destroying function, all clock references used are safe to use, even outside the locked state. Whether or not printed information is accurate is not an issue as clk_print_tree() is concerned as the function is only informative.
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| e64dede3 | 26-Nov-2023 |
Etienne Carriere <etienne.carriere@foss.st.com> |
drivers: clk: print tree without recursion
Remove recursive calls used in clk_print_tree() implementation using list parsing algorithm to prevent uncontrolled stack overflows.
Print "-- No register
drivers: clk: print tree without recursion
Remove recursive calls used in clk_print_tree() implementation using list parsing algorithm to prevent uncontrolled stack overflows.
Print "-- No registered clock" instead of nothing after "Clock tree summary" trace message when there are no registered clocks.
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Co-developed-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| bff6a848 | 26-Nov-2023 |
Etienne Carriere <etienne.carriere@foss.st.com> |
drivers: clk: assert registered clock pointer is not NULL
Fix clk_register() assertion entry instruction to print an assertion error message on NULL clock pointer instead of issuing a segmentation f
drivers: clk: assert registered clock pointer is not NULL
Fix clk_register() assertion entry instruction to print an assertion error message on NULL clock pointer instead of issuing a segmentation fault.
Fixes: 2305544b3b9b ("drivers: clk: add generic clock framework") Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| f7299836 | 23-Nov-2023 |
Etienne Carriere <etienne.carriere@foss.st.com> |
drivers: clk: clk_print_tree() stub for disabled CFG_DRIVERS_CLK
Add an stub implementation of clk_print_tree() when CFG_DRIVERS_CLK is disabled. This allows generic code as the statistics PTA to no
drivers: clk: clk_print_tree() stub for disabled CFG_DRIVERS_CLK
Add an stub implementation of clk_print_tree() when CFG_DRIVERS_CLK is disabled. This allows generic code as the statistics PTA to not rely on #ifdef CFG_DRIVERS_CLK pragma.
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| 2b13eca6 | 24-Nov-2023 |
Etienne Carriere <etienne.carriere@foss.st.com> |
drivers: clk: change queue from STAILQ to SLIST
Replace registered clock list from a STAILQ queue to a SLIST queue that is enough for our purpose.
Reviewed-by: Jens Wiklander <jens.wiklander@linaro
drivers: clk: change queue from STAILQ to SLIST
Replace registered clock list from a STAILQ queue to a SLIST queue that is enough for our purpose.
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| d876c674 | 23-Oct-2023 |
Jens Wiklander <jens.wiklander@linaro.org> |
plat-vexpress: donate a secure SGI to normal world
With OP-TEE acting as SPMC in S-EL1 donate a secure SGI to normal world to be used to signal asynchronous notifications for FF-A.
Signed-off-by: J
plat-vexpress: donate a secure SGI to normal world
With OP-TEE acting as SPMC in S-EL1 donate a secure SGI to normal world to be used to signal asynchronous notifications for FF-A.
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| 2e02a737 | 23-Oct-2023 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: ffa: add notifications with SPMC at S-EL1
Adds support for asynchronous notifications via FF-A with SPMC at S-EL1.
The OP-TEE FF-A ABI is extended to report support for asynchronous notificat
core: ffa: add notifications with SPMC at S-EL1
Adds support for asynchronous notifications via FF-A with SPMC at S-EL1.
The OP-TEE FF-A ABI is extended to report support for asynchronous notifications during OPTEE_FFA_EXCHANGE_CAPABILITIES.
The SPMC at S-EL1 is extended to provide the FF-A notifications ABI to a normal world VM.
The notifications depends on having a non-secure SGI interrupt ID available to notify normal world that a notification is pending. Notifications becomes available once platform code has called thread_spmc_set_async_notif_intid() with a designed SGI ID.
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| 17c54670 | 23-Oct-2023 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: ffa: special treatment for FFA_ERROR
If FFA_ERROR is received print the error code. If the FFA_ERROR is from the SPMC panic, else return back FFA_ERROR(FFA_NOT_SUPPORTED).
Signed-off-by: Jens
core: ffa: special treatment for FFA_ERROR
If FFA_ERROR is received print the error code. If the FFA_ERROR is from the SPMC panic, else return back FFA_ERROR(FFA_NOT_SUPPORTED).
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|