Commit graph

65508 commits

Author SHA1 Message Date
Krzysztof Chruscinski
041f0e5379 all: logging: Remove log_strdup function
Logging v1 has been removed and log_strdup wrapper function is no
longer needed. Removing the function and its use in the tree.

Signed-off-by: Krzysztof Chruscinski <krzysztof.chruscinski@nordicsemi.no>
2022-06-23 13:42:23 +02:00
Krzysztof Chruscinski
59a0e5e645 manifest: Update lvgl
Update lvgl after removal of log_strdup function.

Signed-off-by: Krzysztof Chruscinski <krzysztof.chruscinski@nordicsemi.no>
2022-06-23 13:42:23 +02:00
Andrei Emeltchenko
87d5a6b1d7 net: gptp_mi: Remove unused variables
Remove unused variables and assignments.

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2022-06-23 07:18:25 -04:00
Andrei Emeltchenko
f82fb0cb55 net: gptp: Remove unneeded variables
Remove unused variable and assignments.

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2022-06-23 07:18:25 -04:00
Andrzej Głąbek
2ddc0a6c17 manifest: Update hal_nordic revision
Pull in a fix in the nrfx_qspi driver for a problem with incorrect
status returned by `nrfx_qspi_mem_busy_check()`.

Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
2022-06-23 11:49:10 +02:00
Robert Lubos
fb802fb6c0 samples: net: zperf: Comply with Coccinelle requirements
Cocinelle complains about "shell" being used as a parameter name:

"Violation to rule 5.7 (Tag name should be unique) tag: shell"

Therefore rename the parameter throughout the sample to "sh".

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2022-06-23 11:10:34 +02:00
Robert Lubos
fd2fab1a49 samples: net: zperf: Rewrite download part to use sockets
Rewrite the TCP/UDP download part of the zperf sample to use socket API.
For UDP, performance impact is negligible (< 1 Mbps), for TCP it's
noticable, but still throughputs can be considered satisfactory (up to
~75 Mbps).

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2022-06-23 11:10:34 +02:00
Robert Lubos
6c30c9ac47 samples: net: zperf: Rewrite upload part to use sockets
Rewrite TCP/UDP upload part of the zperf sample to use socket API
instead of net_context. This has a negligible impact on the upload
throughputs (< 1 Mbps).

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2022-06-23 11:10:34 +02:00
Robert Lubos
ef6770f22b net: tcp: Avoid unnecessary packet cloning on the RX path
So far, TCP cloned a packet with data on an RX path for the application,
leaving the original packet intact. This isn't really needed, as the
original packet is unconditionally freed later anyway, so the TCP can as
well simply queue the original packet for the application, while
informing the network processing core, that the packet was consumed by
the TCP layer.

This allows to improve the download throughput even further, since the
CPU don't waste time on needles packet copying.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2022-06-23 11:10:34 +02:00
Robert Lubos
5a05ac8fc9 net: tcp: Increase default NET_TCP_TIME_WAIT_DELAY value
The current default of 250ms appears to be too low in case connection
teardown takes place in lossy networks - in case of FIN packet
retransmission, the connection on the Zephyr side could have already
been dismissed due to low TIME_WAIT state delay, resulting in ICMP
Destination Unreachable replies.

Increase the default value to 1500ms - this is still pretty low, but at
least gives the peer some time to retransmit the FIN packet.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2022-06-23 11:08:36 +02:00
Robert Lubos
2bd00e65ba net: tcp: Acknowledge FIN packets in TIMED_WAIT state
In case TCP stack enters TIMED_WAIT state (after receiving FIN/ACK reply
from peer), it should stil be ready to reply with ACK for any
consecutive FIN attempts. Othewise, in case the final ACK from Zephyr
side is lost, the connection is not properly closed on the other end,
and peer keeps retransmitting the final FIN packet.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2022-06-23 11:08:36 +02:00
Robert Lubos
28fb1a5f39 net: tcp: Prevent Silly Window Syndrome
Implement a mechanism, according to RFC 813, which allows to prevent so
called "Silly Window Syndrome" - a scenario where the TCP receiver keeps
reporting small window sizes in the acknowledgments, effectively
limiting the connection throughput. This allows to improve performance
in low-buffer configurations, where the maximum window size is small,
and the issue was hitting quite often.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2022-06-23 11:08:18 +02:00
Robert Lubos
e03e4d5ad1 net: openthread: Fix build with NET_MGMT_EVENT_INFO disabled
In case NET_MGMT_EVENT module was enabled but w/o NET_MGMT_EVENT_INFO,
the OpenThread integration layer failed to build as the "info" field in
the net mgmt callback structure is not available then.

Fix this by conditionally enabling code processing the event only if
NET_MGMT_EVENT_INFO is enabled. Otherwise, print a warning, as the event
is not really useful if no address information is provided.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2022-06-23 11:07:46 +02:00
Keith Packard
f79eaba7e6 tests/kernel: Run common tests using picolibc
This runs the existing kernel common tests using picolibc as some of those
depend on libc functionality.

Signed-off-by: Keith Packard <keithp@keithp.com>
2022-06-23 09:16:32 +02:00
Keith Packard
0984aedf68 libc/picolibc: When !TLS, use zephyr errno
For targets without thread local storage, we need to use the builtin
per-thread errno support provided by Zephyr as the multi-thread errno
support provided in picolibc relies on TLS.

Signed-off-by: Keith Packard <keithp@keithp.com>
2022-06-23 09:16:32 +02:00
Aastha Grover
d81b3d7425 tests/subsys/logging/log_switch_format: fix incomplete logs
log_Switch_format test has incomplete handler logs on frdm_k64f
and also a false positive for logging.log_switch_format.immediate
testcase due to harness console which does not wait for
completion of ztest testcases to indicate pass/fail status to twister.

Fixes #46368

Signed-off-by: Aastha Grover <aastha.grover@intel.com>
2022-06-23 09:15:39 +02:00
Benjamin Gwin
6dcdbe6447 cpp: Include additional contents in <cstddef>
Similar to <cstdint>, this file should provide the contents of stddef.h
for C++ users.

Signed-off-by: Benjamin Gwin <bgwin@google.com>
2022-06-23 09:12:33 +02:00
Maciej Perkowski
dfffc27039 twister: Delete less files during artifact cleanup
Option --runtime-artifact-cleanup/-M allows to clean build artifacts
during runtime to save space usage. However, if one wanted to combine
it with --build-only and then --test-only, they would get an error.
This commit expands the list of files stored with -M with files
required to made --test-only also to work afterwards. Such change can
be useful for setups where building is done on one node and then
minimal amount of artifacts are transfered to another one.

Signed-off-by: Maciej Perkowski <Maciej.Perkowski@nordicsemi.no>
2022-06-23 09:11:40 +02:00
Robert Lubos
41bbb51412 net: sockets: Fix uninitialized variable use in accept userspace check
Prevent local "addrlen_copy" variable from being used uninitialized in
accept() userspace verification function.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2022-06-23 09:11:29 +02:00
Francois Ramu
7f10bd6340 drivers: flash: stm32 qspi driver setting dma priority
This adds a table to set the dma channel priority from the DTS
The config bits are converted through the table_priority
to match the DMA_Priority_level of the stm32cube HAL.
Fixes #46725

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2022-06-23 09:11:15 +02:00
Nicolas Pitre
7084b5c9de arm64: native arch_proc_id() implementation
Return the hardware mpid value directly. Guard against values that
wouldn't fit in the returned uint32_t. If that ever happens then
reverting to the Zephyr sequential CPU number should be considered.

Signed-off-by: Nicolas Pitre <npitre@baylibre.com>
2022-06-23 09:10:52 +02:00
John Kjellberg
27179a53f8 drivers/disk: sdmmc: Fix build for STM32F4
Closes #46734

Signed-off-by: John Kjellberg <kjellberg.john@gmail.com>
2022-06-23 09:10:43 +02:00
Krzysztof Chruscinski
7f1b4f88e3 logging: Rename files and test from log_msg2 to log_msg
Renaming log_msg2 files to log_msg.

Signed-off-by: Krzysztof Chruscinski <krzysztof.chruscinski@nordicsemi.no>
2022-06-23 09:10:33 +02:00
Erwan Gouriou
c107ec44b6 boards: stm32: Add zephyr_udc0 when it is missing.
Some STM32 based boards where missing the alternate node label zephyr_udc0,
leading to build issues when compiling usb samples.

Fixes #46626

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2022-06-23 09:10:20 +02:00
Yonatan Schachter
2bfc245576 rpi_pico: Fix bootloader linking
A recent change to hal_rpi_pico's cmake, intended to fix the
compilation via Unix Makefiles, ended up not linking the BL
to the final ELF. This commit fixes both problems.

Signed-off-by: Yonatan Schachter <yonatan.schachter@gmail.com>
2022-06-23 09:10:10 +02:00
Marcin Niestroj
945b5085c5 tests: crypto: mbedtls: remove default mbedTLS options
Whenever MBEDTLS_BUILTIN is selected then
CONFIG_MBEDTLS_CFG_FILE="config-tls-generic.h" is set as a default value.
It is even impossible to change it, as without CUSTOM_MBEDTLS_CFG_FILE it
is just a hidden (not configurable by user) Kconfig option.

Remove explicit configuration from prj.conf.

Signed-off-by: Marcin Niestroj <m.niestroj@emb.dev>
2022-06-23 09:10:03 +02:00
Marcin Niestroj
46b0f64868 samples: crypto: remove default mbedTLS options
Whenever MBEDTLS_BUILTIN is selected then
CONFIG_MBEDTLS_CFG_FILE="config-tls-generic.h" is set as a default value.

Remove explicit configuration from prj_mtls_shim.conf.

Signed-off-by: Marcin Niestroj <m.niestroj@emb.dev>
2022-06-23 09:10:03 +02:00
Marcin Niestroj
96e9971797 tests: crypto: crypto_hash: remove default mbedTLS options
Whenever MBEDTLS_BUILTIN is selected then
CONFIG_MBEDTLS_CFG_FILE="config-tls-generic.h" is set as a default value.

Remove explicit configuration from prj.conf.

Signed-off-by: Marcin Niestroj <m.niestroj@emb.dev>
2022-06-23 09:10:03 +02:00
Emil Gydesen
e211bd8931 Bluetooth: Audio: Fix ASCS stream->conn cleanup
The stream->conn was never unref'ed on disconnect with
unbonded devices.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2022-06-23 09:09:45 +02:00
Emil Gydesen
17ca15067a Bluetooth: Audio: Fix issue with sending on bidirectional streams
This commit fixes some issues with setting up and
using bidirectional audio streams.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2022-06-23 09:09:45 +02:00
Emil Gydesen
a757fc8c46 samples: Bluetooth: Update unicast audio samples to use bidirectional
Modified the samples such that the client will attempt to
setup 2 sink streams and 1 source stream, basically
representing a headset use case.

This also excercises both setting up a unidirectional
and a bidirectional ISO channel using the 3 audio streams.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2022-06-23 09:09:45 +02:00
Emil Gydesen
f404d583ba samples: Bluetooth: Unicast audio client stream send fix
The sample used `net_buf_ref` to send the same data multiple
times on multiple streams, but the send procedure, which
ends up calling bt_conn_send_cb, does not work
with multiple refs. We thus replace the refs with net_buf_clones.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2022-06-23 09:09:45 +02:00
Emil Gydesen
884b296a6c Bluetooth: Audio: Fix bad CONTAINER_OF for BAP unicast and broadcast sent
In the sent callbacks we used CONTAINER_OF to get the bt_audio_ep,
but that no longer has the ISO channel, causing these
CONTAINER_OF to return a wrong pointer.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2022-06-23 09:09:45 +02:00
Chen Peng1
5a23383ad6 tests: interrupt: remove unused macro TRIGGER_IRQ_INT.
On X86 platforms, the interrupt trigger method has been
changed to use APIC IPI, we don't use INT command to trigger
interrupt, so remove this unused macro.

Signed-off-by: Chen Peng1 <peng1.chen@intel.com>
2022-06-23 09:08:43 +02:00
Chen Peng1
bae794e300 test: interrupt: change the test interrupt line to a bigger one.
change the test interrupt line number to a bigger one, because
the low number usually will be used by other devices.

Signed-off-by: Chen Peng1 <peng1.chen@intel.com>
2022-06-23 09:08:43 +02:00
Chen Peng1
40fb6fca05 tests: interrupt: add some nop operations in trigger_irq function.
On X86 platforms, the interrupt trigger method has been changed
from using INT command to using APIC IPI, we need to make sure
the IPI interrupt is handled before do our check, so add some
nop operations.

Signed-off-by: Chen Peng1 <peng1.chen@intel.com>
2022-06-23 09:08:43 +02:00
Emil Gydesen
b2cbd9f58c Bluetooth: CSIS: Client use const for conn lookup funcs
`bt_conn_index` has been changed to take a `const bt_conn`
which allows our functions that use this to also take a
`const` parameter.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2022-06-23 09:08:05 +02:00
Emil Gydesen
7148146348 Bluetooth: CSIS: Implement ordered access procedure for CSIS client
the CSIS client now has a ordered access procedure function.
The function implements the procedure as per the CSIP spec,
where it will verify that 1 or more members are unlocked,
and the execture a procedure on each member in ascending
order of rank.

The procedure can be anything (even a non-BT procedure),
and it will be up to the applicaiton to implement
what to do in that.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2022-06-23 09:08:05 +02:00
Emil Gydesen
0558b3af95 Bluetooth: CSIS: Stored actives members by rank
Instead of getting doing look ups for each member
for the CSIS client procedures, we store the active
members ordered by rank.

This is slightly less efficient in cases of error,
but for some procedures as the upcoming Ordered
access procedure where we need to access each
member twice, ordering them once is more
efficient.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2022-06-23 09:08:05 +02:00
Emil Gydesen
d995901a76 Bluetooth: CSIS: Remove const for members in API
Having the members array being const causes a lot of
limitations in the implementatation, and was
occasionally even disregarded. Removed to make the
implementation more flexible.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2022-06-23 09:08:05 +02:00
Benjamin Gwin
ee22ae79a4 testsuite: Make ztest_error_hook compatible with C++
This lets ztest error hooks be used from C++ based tests.

Signed-off-by: Benjamin Gwin <bgwin@google.com>
2022-06-22 19:30:06 -04:00
Abramo Bagnara
d1d5acd2cd coding guidelines: comply with MISRA C:2012 Rule 8.2
MISRA C:2012 Rule 8.2 (Function types shall be in prototype form with
named parameters.)

Added missing parameter names.

Signed-off-by: Abramo Bagnara <abramo.bagnara@bugseng.com>
2022-06-22 17:17:39 -04:00
Stephanos Ioannidis
05ec016157 MAINTAINERS: Add keith-packard as C library collaborator
This commit adds @keith-packard, the author of the picolibc, as a
collaborator for the C library area.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-06-22 13:35:24 -04:00
Stephanos Ioannidis
d326683b56 MAINTAINERS: Add picolibc entry
This commit adds a MAINTAINERS entry for the picolibc module with
@keith-packard as the maintainer and @stephanosio as a collaborator.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-06-22 13:35:24 -04:00
Dmytro Firsov
9891f16d67 xenvm: doc: Update docs for Xen VM according to new evtchn functionality
Signed-off-by: Dmytro Firsov <dmytro_firsov@epam.com>
2022-06-22 17:53:45 +02:00
Dmytro Firsov
a76b492f04 xenvm: evtchn: expand Xen event channel driver functionality
This commit adds new functions, which can be used for Xen event channel
management (allocation, interdomain binding etc.). Such functionality
is needed for Xen PV driver development in Zephyr.

Signed-off-by: Dmytro Firsov <dmytro_firsov@epam.com>
2022-06-22 17:53:45 +02:00
Martí Bolívar
f49d11d310 civetweb: remove obsolete code
This code has gone unmaintained and bugs continue to be reported
against it. We do not have the resources as a project to maintain this
in "odd fixes" mode, and nobody has stepped up to maintain it [1], so
sadly this must be removed for now.

If anyone would like to see civetweb supported in upstream Zephyr
again, they are welcome to add it back, as long as they promise to
maintain it going forward.

Many thanks to everyone who has contributed to civetweb support in
Zephyr while it was here. So long and thanks for all the fish.

Fixes: #45807
Fixes: #43910
Fixes: #34226
Fixes: #46743

[1] https://lists.zephyrproject.org/g/devel/message/8466

Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
2022-06-22 08:26:13 -07:00
Jonathan Rico
27eeee8423 MAINTAINERS: Add Herman Berget to Bluetooth
Herman (hermabe) has been involved in the Bluetooth host, mostly for
EATT. So we would like to add him as a reviewer to select PRs.

Signed-off-by: Jonathan Rico <jonathan.rico@nordicsemi.no>
2022-06-22 08:13:40 -05:00
Benjamin Björnsson
48e905c731 boards: arm: arduino_nicla_sense_me: Add user button
This commit adds a user button to the board DTS.

The button is not connected to nRESET as suggested
by the board schematics, but rather connected to
P0.21. The source code found in the Arduino IDE
connects an interrupt to this GPIO and calls
NVIC_System_Reset from there to cause the reset.

The button was therefore added as a regular button
to cover the most general case.

This has been verified on an Arduino Nicla Sense ME.

Signed-off-by: Benjamin Björnsson <benjamin.bjornsson@gmail.com>
2022-06-22 14:37:35 +02:00
Benjamin Björnsson
73ca3c72bc drivers: sensor: adxl345: Update driver to use i2c_dt_spec
Simplify driver by using i2c_dt_spec for bus access.

Signed-off-by: Benjamin Björnsson <benjamin.bjornsson@gmail.com>
2022-06-22 14:37:07 +02:00