Add Kconfig to enable/disable Dynamic ED which add support for
proprietary algorithm to enhance performance in high-traffic channels.
Signed-off-by: Kapil Bhatt <kapil.bhatt@nordicsemi.no>
Separate out host(local) and FW(remote) statistics and in case of a
FW statistics timeout, return success with a magic value in the FW
statistics, this way atleast host statistics would be handy for
debugging instead of sending failure up.
Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
Don't block the system workqueue for 2 seconds (default value) when
attempting to perform RPU recovery. The system workqueue is a shared
resource which should not be blocked for significant periods of time.
Signed-off-by: Jordan Yates <jordan@embeint.com>
Add locally generated info for deauth process. If deauthentication
frame is coming from AP it will be set, in other cases
(Beacon loss, New connection from user in connected state,
disconnection from user) flag will not be set.
Signed-off-by: Kapil Bhatt <kapil.bhatt@nordicsemi.no>
Allocate the memory in `nrf_wifi_if_send` *before* taking the nrf70
global mutex. This prevents the function from deadlocking the
application if attempting to send under memory-pressure, since many of
the memory release paths also happen under the global mutex.
Signed-off-by: Jordan Yates <jordan@embeint.com>
Memory allocations in HAL are using data pool. These operations
are in control plane. Add APIs for allocation/free operations on
control pool.
Signed-off-by: Ravi Dondaputi <ravi.dondaputi@nordicsemi.no>
The nRF lower levels (`spim_addr_check` and `qspi_addr_check`) do
address alignment validation before sending or receiving data. If the
buffer sizes are not aligned, errors like this are printed to the
console when the interface is powered up.
```
<err> : spim_addr_check : Unaligned address ee0b2 2002b020 1 0 0
<err> : spim_addr_check : Unaligned address eeb3e 2002bb40 1 0 0
<err> : spim_addr_check : Unaligned address ef5ca 2002c660 1 0 0
<err> : spim_addr_check : Unaligned address f0056 2002d180 1 0 0
```
Signed-off-by: Jordan Yates <jordan@embeint.com>
This was not getting enabled because label was passed instead of path
and dependency was not met.
Fix the DT function to use label.
Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
These nRF70 driver operational modes are important, so, extend the help
to clearly communicate the mode's purpose.
Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
Add a debug shell to the driver to provide advanced debug support such
as reading/writing to RPU memory and registers etc.
Signed-off-by: Sachin D Kulkarni <Sachin.Kulkarni@nordicsemi.no>
Instead of a command and event mechanism that relies on processors being
active (UMAC/LMAC) add a new command that reads from the RPU memory
directly for all stats, useful in debugging when processors are
crashed/non-functional.
Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
This uses the network packet as is without the need for a copy all the
way till the packet is handed over to RPU.
Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
Add prompt to Kconfig NRF70_SYSTEM_WITH_RAW_MODES.
It is assigned in a configuration file, but is not directly
user-configurable (has no prompt). It gets its value
indirectly from other symbols.
Signed-off-by: Kapil Bhatt <kapil.bhatt@nordicsemi.no>
For different values of reorder buffer throughputs are consistent,
Setting reorder buffer size to half of the RX buffers configured.
Signed-off-by: Kapil Bhatt <kapil.bhatt@nordicsemi.no>
During raw scan, Need to disable NRF_WIFI_MGMT_BUFF_OFFLOAD.
UMAC will send beacon and probe responses directly to the host,
regardless of the mgmt_buff_offload flag's value.
Host needs to resubmit buffers to LMAC.
Signed-off-by: Kapil Bhatt <kapil.bhatt@nordicsemi.no>
It is observed that the regulatory domain API returns a failure
even when it has successfully completed its task. This change
addresses a minor fix to return the proper value to the user
when attempting to set the regulatory domain.
Signed-off-by: Vivekananda Uppunda <vivekananda.uppunda@nordicsemi.no>
Create dedicated memory pools for Wi-Fi management and
data operations (defaults: 20KB for management and 130KB for data).
Setting Data pool to 110KB for non-Nordic SOCs to resolve
RAM overflows seen in twister runs.
Remove the `HEAP_MEM_POOL_ADD_SIZE_NRF70` hint since we are
creating separate heaps for driver and not allocating from
system heap.
Signed-off-by: Ravi Dondaputi <ravi.dondaputi@nordicsemi.no>
Fix compilation issues for SoftAP mode which were missed in the mode
specific code changes.
Signed-off-by: Sachin D Kulkarni <Sachin.Kulkarni@nordicsemi.no>
Update the nrf70 Wi-Fi driver to use the mode specific
APIs (as a precursor to enable combining modes as required).
Signed-off-by: Sachin D Kulkarni <Sachin.Kulkarni@nordicsemi.no>
`NRF70_SYSTEM_WITH_RAW_MODES` is more accurately described as an
additional option on top of `NRF70_SYSTEM_MODE`, not as a unique
choice of `NRF70_OPER_MODES`.
This allows the elimination of multiple `NRF70_SYSTEM_MODE ||
NRF70_SYSTEM_WITH_RAW_MODES` dependencies.
Signed-off-by: Jordan Yates <jordan@embeint.com>
Move the cmake file of OSAL to it's own repo and build as a standalone
library, this is porting friendly.
Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
The osal apis spinlock - take, release and bus qspi sleep
are trying to use ops after deinit. So removing osal deinit
for temporary workaround.
Signed-off-by: Kapil Bhatt <kapil.bhatt@nordicsemi.no>
Add variable network configuration control into the driver to optimize
RAM usage by default. The pool sizes are default, and tuning is left to
the applications or samples.
Signed-off-by: Triveni Danda <triveni.danda@nordicsemi.no>