Add debug log in dp_tx_delete_flow_pool() to know if
all available tx descriptors have been released to the
pool or not
Change-Id: Id0684effd5c5c0b531bb2d4b3f08d929aaa85b5c
CRs-Fixed: 2463632
Allocate memory in multiple smaller chunks for dp_rx_desc_pool_alloc,
and link the pages instead of allocating one big contiguous memory to
avoid memory allocation failures.
Change-Id: Id81de10727555c4ca78963a6f01ed3b992ce9924
CRs-Fixed: 2443999
dp_soc_reinit is a flag to check if the
Rx descriptor memory can be reused across
WiFi up/down
Provide an API which checks the flag and
returns either true or false based on the
value set
CRs-Fixed: 2354186
Change-Id: I8c1afbfe0f743d7c9ab37a42a9ef0c6ac1fbf39c
Avoid memory fragmentation that happens during
attach-detach flow.
- Reuse transmit allocated static pool memory across soc up/down.
These memories are allocated during soc attach.
- Reuse DP source ring memory, DP soc context, DP pdev context
across soc up/down.
- Reorganise structure members of DP soc and DP pdev so that
we can zero out structure members across soc up/down
- Add cdp soc init/deinit and cdp pdev init/deinit that
will be active across soc up/down
Change-Id: I5732453f617bdc16995fda916b645c41845c3ecb
Regular allocs usually result in allocation of size aligned to
slab boundary resulting in more memory than the requested. Use
multi-page allocation to avoid allocation of more memory than
requested.
Change-Id: Id6562f2fe419179e27206ff5b1d543090b931607
CRs-Fixed: 2294213
macros and fw cmn headers included in hal_internal.h is moved
to a new hal_hw_headers.h to avoid these getting included in hif
layer. Include the new hal_hw_headers.h file
Change-Id: I3390ae9e71ca561d94a265e1fdf4d9354e7b2474
The avail_desc is not set to 0 when the tx desc pool is
freed, later if still try to allocate tx desc by judgement
of avail_desc, panic happens.
Change-Id: Ia4565da1caa6898c6d4293e2658cf4ccf89563fa
CRs-Fixed: 2246328
Replace internal spin_lock macros with qdf_spin_lock APIs for lock
operating on TSO/EXT descriptor pools.
TX_DESC_LOCK_* APIs are used only by the flow_control V2 support
to by pass them.
Change-Id: I926c279de3878b6f48efd798194fa896072c1f6d
CRs-Fixed: 2142815
1. Fix a case in dp where lock is taken on tso segment but
released on tso desc.
2. Increment dma alloc size if allocation is successful
Change-Id: I73d54026a1c268597105096925d138008c2d8c1e
CRs-Fixed: 2131278
Adds support for flow control on convergence branch.
Allocate Tx descriptors dynamically when vdev comes up.
Tx queue is paused and unpaused internally in host based on the
stop and start thresholds.
Changes are added under compilation flag QCA_LL_TX_FLOW_CONTROL_V2.
Change-Id: I0ccb80b0099f39efad52ccd7d47f2709fdee2a93
CRs-Fixed: 2040457
Unlock the tso segment and tso common segment descriptor
pool if there are no descriptors available in the freelist.
Change-Id: I5c09e381769cdaa914e03ced24dccae8aea90897
CRs-Fixed: 2042950
1. Unmap tso common segment only after receiving
completions for all the tso segments for a given
skb.
2. Keep a track of num of free tso descriptors available
in the pool of tso descriptors.
Change-Id: I01bdbb9e40b7259f77dbcfeec22c6d8cd0c0a6dd
CRs-Fixed: 2042950