Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

modules: hal_nordic: nrfs: DVFS cleanup #82341

Closed

Conversation

ppelikan-nordic
Copy link
Contributor

Removing unnecessary logging from DVFS reg operations in lib NRFS.
Update manifest to include latest updates from NRFS.

@zephyrbot
Copy link
Collaborator

zephyrbot commented Nov 29, 2024

The following west manifest projects have changed revision in this Pull Request:

Name Old Revision New Revision Diff
babblesim_base BabbleSim/base@0cc70e7 (v1.14.2) BabbleSim/base@153101c (v1.15) BabbleSim/[email protected]
babblesim_ext_libCryptov1 BabbleSim/ext_libCryptov1@2363095 (v1.4) BabbleSim/ext_libCryptov1@da24601 (master,v1.5) BabbleSim/[email protected]
bsim zephyrproject-rtos/babblesim-manifest@1f242f4 (v2.4) zephyrproject-rtos/babblesim-manifest@a88d335 (main,v2.5) zephyrproject-rtos/[email protected]
cmsis zephyrproject-rtos/cmsis@4b96cbb zephyrproject-rtos/cmsis@d1b8b20 (master) zephyrproject-rtos/[email protected]
cmsis-nn zephyrproject-rtos/cmsis-nn@ea987c1 (zephyr-v6.0.0) zephyrproject-rtos/cmsis-nn@e9328d6 (zephyr-v7.0.0) zephyrproject-rtos/[email protected]
cmsis_6 🆕 N/A (Added) zephyrproject-rtos/CMSIS_6@783317a (main) N/A
fatfs zephyrproject-rtos/fatfs@427159b zephyrproject-rtos/fatfs@16245c7 (master) zephyrproject-rtos/[email protected]
hal_adi zephyrproject-rtos/hal_adi@b1a1023 zephyrproject-rtos/hal_adi@633fcec (main) zephyrproject-rtos/[email protected]
hal_atmel zephyrproject-rtos/hal_atmel@56d60eb zephyrproject-rtos/hal_atmel@da76744 (master) zephyrproject-rtos/[email protected]
hal_espressif zephyrproject-rtos/hal_espressif@980d61c zephyrproject-rtos/hal_espressif@a459b40 zephyrproject-rtos/[email protected]
hal_ethos_u zephyrproject-rtos/hal_ethos_u@8e2cf75 zephyrproject-rtos/hal_ethos_u@50ddffc (main) zephyrproject-rtos/[email protected]
hal_infineon zephyrproject-rtos/hal_infineon@88d2529 zephyrproject-rtos/hal_infineon@468e955 zephyrproject-rtos/[email protected]
hal_intel zephyrproject-rtos/hal_intel@8876a18 zephyrproject-rtos/hal_intel@0355bb8 (main) zephyrproject-rtos/[email protected]
hal_microchip zephyrproject-rtos/hal_microchip@71eba05 zephyrproject-rtos/hal_microchip@fa2431a zephyrproject-rtos/[email protected]
hal_nordic zephyrproject-rtos/hal_nordic@e0e48c4 zephyrproject-rtos/hal_nordic#264 zephyrproject-rtos/hal_nordic#264/files
hal_nxp zephyrproject-rtos/hal_nxp@c42d70d zephyrproject-rtos/hal_nxp@605560a zephyrproject-rtos/[email protected]
hal_renesas zephyrproject-rtos/hal_renesas@f77a850 zephyrproject-rtos/hal_renesas@bcbd9fe zephyrproject-rtos/[email protected]
hal_rpi_pico zephyrproject-rtos/hal_rpi_pico@79ee0f9 zephyrproject-rtos/hal_rpi_pico@7b57b24 (zephyr) zephyrproject-rtos/[email protected]
hal_silabs zephyrproject-rtos/hal_silabs@69a5fad zephyrproject-rtos/hal_silabs@8a173e9 (main) zephyrproject-rtos/[email protected]
hal_st zephyrproject-rtos/hal_st@b2f548f zephyrproject-rtos/hal_st@05fd453 (master) zephyrproject-rtos/[email protected]
hal_stm32 zephyrproject-rtos/hal_stm32@d5fb525 zephyrproject-rtos/hal_stm32@55043bc zephyrproject-rtos/[email protected]
hal_tdk 🆕 N/A (Added) zephyrproject-rtos/hal_tdk@6727477 (main) N/A
hal_ti zephyrproject-rtos/hal_ti@2e7b95a zephyrproject-rtos/hal_ti@258652a zephyrproject-rtos/[email protected]
hostap zephyrproject-rtos/hostap@14f350c zephyrproject-rtos/hostap@4957416 zephyrproject-rtos/[email protected]
liblc3 zephyrproject-rtos/liblc3@1a5938e zephyrproject-rtos/liblc3@48bbd3e zephyrproject-rtos/[email protected]
libmctp 🆕 N/A (Added) zephyrproject-rtos/libmctp@b97860e (zephyr) N/A
libmetal zephyrproject-rtos/libmetal@a6851ba zephyrproject-rtos/libmetal@3e8781a (main) zephyrproject-rtos/[email protected]
littlefs zephyrproject-rtos/littlefs@009bcff zephyrproject-rtos/littlefs@ed0531d (zephyr) zephyrproject-rtos/[email protected]
lvgl zephyrproject-rtos/lvgl@2b498e6 zephyrproject-rtos/lvgl@1ed1ddd zephyrproject-rtos/[email protected]
mcuboot zephyrproject-rtos/mcuboot@eb94206 zephyrproject-rtos/mcuboot@346f737 (main) zephyrproject-rtos/[email protected]
mipi-sys-t zephyrproject-rtos/mipi-sys-t@71ace1f zephyrproject-rtos/mipi-sys-t@33e5c23 (zephyr) zephyrproject-rtos/[email protected]
nanopb zephyrproject-rtos/nanopb@98bf4db zephyrproject-rtos/nanopb@7307ce3 zephyrproject-rtos/[email protected]
nrf_hw_models zephyrproject-rtos/nrf_hw_models@fbc6e61 zephyrproject-rtos/nrf_hw_models@73a5d58 (main) zephyrproject-rtos/[email protected]
nrf_wifi zephyrproject-rtos/nrf_wifi@71261e2 zephyrproject-rtos/nrf_wifi@e35f707 zephyrproject-rtos/[email protected]
open-amp zephyrproject-rtos/open-amp@b735edb zephyrproject-rtos/open-amp@52bb178 (main) zephyrproject-rtos/[email protected]
openthread zephyrproject-rtos/openthread@2aeb8b8 zephyrproject-rtos/openthread@3ae741f (main) zephyrproject-rtos/[email protected]
percepio zephyrproject-rtos/percepio@b68d179 zephyrproject-rtos/percepio@49e6dc2 (zephyr) zephyrproject-rtos/[email protected]
picolibc zephyrproject-rtos/picolibc@d492d5f zephyrproject-rtos/picolibc@82d62ed (zephyr-no-lto) zephyrproject-rtos/[email protected]
segger zephyrproject-rtos/segger@1a607e8 zephyrproject-rtos/segger@cf56b1d (master) zephyrproject-rtos/[email protected]
sof zephyrproject-rtos/sof@316f414 (zephyr-20241203-branch,zephyr-20241203) zephyrproject-rtos/sof@bc08c9c (zephyr) zephyrproject-rtos/[email protected]
tflite-micro zephyrproject-rtos/tflite-micro@48613f7 (zephyr) zephyrproject-rtos/tflite-micro@8d404de (zephyr-v4.1.0) zephyrproject-rtos/[email protected]
trusted-firmware-m zephyrproject-rtos/trusted-firmware-m@fa020a8 zephyrproject-rtos/trusted-firmware-m@2f13847 (main) zephyrproject-rtos/[email protected]
uoscore-uedhoc zephyrproject-rtos/uoscore-uedhoc@84ef879 zephyrproject-rtos/uoscore-uedhoc@54abc10 (zephyr) zephyrproject-rtos/[email protected]
zephyr-lang-rust zephyrproject-rtos/zephyr-lang-rust@7af3db4 (v4.0-branch) zephyrproject-rtos/zephyr-lang-rust@49c6712 (main) zephyrproject-rtos/[email protected]

Additional metadata changed:

Name URL Submodules West cmds module.yml
littlefs
mcuboot
nanopb
nrf_wifi
zephyr-lang-rust

DNM label due to: 3 added projects, 1 project with PR revision and 5 projects with metadata changes

Note: This message is automatically posted and updated by the Manifest GitHub Action.

@ppelikan-nordic ppelikan-nordic force-pushed the nrfs-cleanup branch 2 times, most recently from 4d7be6b to 323803c Compare December 5, 2024 13:40
@bjarki-andreasen
Copy link
Collaborator

please rebase :)

@sachinthegreen sachinthegreen removed their request for review December 19, 2024 06:42
@fabiobaltieri fabiobaltieri added DNM (manifest) This PR should not be merged (controlled by action-manifest) and removed DNM This PR should not be merged (Do Not Merge) labels Feb 4, 2025
firscity and others added 7 commits February 19, 2025 16:26
Grant references are allocated via simple O(1) allocator - idx of first
free gref is always stored in the "0" list entry (e.g. list[0] == "A").
Next free gref (e.g. B) will be stored inside list entry with the index
of previous (list[A] == B) and so on. This allows to find free gref
instantly if available. However, current implementation allows a user
to perform a double-free of some taken grefs since it doesn't store any
information about entries being currently claimed. This may cause
gref_list to break.

Add GNTTAB_GREF_USED value and mark all taken grefs with it to prevent
double free in put_grant_entry().

These changes also required updates for allocator and semaphore init
sequences, since we can not use put_free_entry() during driver
initialization anymore.

Signed-off-by: Dmytro Firsov <[email protected]>
Xen allocates a region that should be used as a place for grant table
mapping and passes it via the device tree. By design, this region may
be quite large (up to 4096+ frames/pages), but the number of frames is
usually limited by the max_grant_frames domain parameter (usually 32 or
64).

Linux maps these frames on demand and when reaches mentioned limit
it just stops expanding. At the same time, previous implementation of
Zephyr gnttab driver calculated the number of grant frames by dividing
whole region by page size and tried to map it during init. If the
region specified in the device tree was larger than the
max_grant_frames set by Xen, it would fail on ASSERT, since Xen would
return an error.

To address these issues CONFIG_NR_GRANT_FRAMES was introduced. It
allows to limit size of grant table and map only required number of
pages. Additionally, a check for max_grant_frames Xen limit was
introduced to initialization - if this value will be less than
CONFIG_NR_GRANT_FRAMES, k_panic() will be called.

Signed-off-by: Dmytro Firsov <[email protected]>
Initially this driver was a port from mini-os. Michal Orzel
(@orzelmichal) pointed that it contains incorrect grant table
initialization sequence and redundant calls. Driver mapped grant table
frames via loop of XENMEM_add_to_physmap calls and then tried to do the
same but via GNTTABOP_setup_table operation. After completion of latter
it did not even use provided frames list. This did not cause any major
issues, since XENMEM_add_to_physmap correctly map gnttab frames that
were used.

Remove redundant GNTTABOP_setup_table call from grant table driver to
clean up its initialization sequence.

Signed-off-by: Dmytro Firsov <[email protected]>
The Xen extends domain grant tables every time domain requests gnttab
basing on gnttab idx. If idx > xen_current_max_gnttab_idx the Xen extends
grant table so that idx <= xen_current_max_gnttab_idx. The growing grant
tables on every hypercall is a bit costly operation and it also results in
the bunch of log messages:

(XEN) xen-source/xen/common/grant_table.c:1909:d0v0 Expanding d0 \
  grant table from 1 to 2 frames

This patch changes gnttab processing from gnttab max_idx to low_idx, so the
first hypercall has the largest index, ensuring that the grant table will
grow only once. It also reduces number of log messages.

Signed-off-by: Grygorii Strashko <[email protected]>
Signed-off-by: Dmytro Firsov <[email protected]>
Add OTGFS peripheral to the stm32h7rs soc series, and enable it on the
Discovery board STM32H7S78-DK, where it is wired to USB Type-C port 2.

Signed-off-by: Titouan Christophe <[email protected]>
Added STM32H562xG dts file

Signed-off-by: Kacper Brzostowski <[email protected]>
Low cost STM32H5 series development board with bare minimum to run the MCU

Signed-off-by: Kacper Brzostowski <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment