Rx patch changes for multichip MLO
1. Create ini for rx ring mask for each chip
2. Configure hash based routing for each chip based
on lmac_peer_id_msb
3. Peer setup changes to configure lmac_peer_id_msb
to enable hash based routing
4. Rx Replenish changes to provide buffers back to owner
SOC of reo ring
Change-Id: Ibbe6e81f9e62d88d9bb289a082dd14b4362252c4
Changes needed for MLO soc attach to pass chip_id,
dp_ml_context from upper layer.
This change also takes care of assigning appropriate
RBM id for IDLE link descriptors based on chip_id.
Change-Id: I8f5f08c524d91942e6e458f048700b7bdd900107
tcp_proto is not set correctly from hal_rx_get_proto_params() API,
currently it is using HAL_RX_TLV_GET_IP_OFFSET, use
HAL_RX_TLV_GET_TCP_PROTO to fix it.
Change-Id: I1f3c6aa4b8f5420f176bda4aff158dcfa2a7ef5a
CRs-Fixed: 3073794
sw_exception bit will be marked in reo dest ring descriptor for
FW re-injected frame, get this bit and save it in skb->cb,
this bit value can be used for FISA further check.
there is no reo_dest_indication field in reo dest ring on beryllium,
so share same cb member for sw_exception and reo_dest_indication.
Change-Id: I2321121be7dda68ed19faca177d868c7e8ba1dbf
CRs-Fixed: 3056156
This change includes below
1) Changes needed to increase Tx rings to 4
2) Use WBM2SW4 ring for rx error in QCN9224
3) memset srng at alloc to avoid populating RBM_id
in per packet path and enable implicit RBM
Change-Id: Icbd5ac2378273b8f3c6adc41c611e29551fff22f
In Beryllium the HW does the ast lookup and match
and sets the intra-bss bit in the msdu_desc_info
structure of reo_destination ring and WBM Rx release ring.
So, change the Beryllium code to make use of this
hardware assistance for intra-bss.
Change-Id: Ic7c89efc741fefe35603082309204fbe3c9a97c7
FW has some usecases when it needs to enqueue frames into hardware. In
BE WLAN chips, some hardware TX desc fields are moved into Tx
banks, hence a TX bank is also needed to queue to HW.
Dedicate a bank for FW usage.
Change-Id: I1f19f0ef85aff4c7592b0f07de4631259da743a6
CRs-Fixed: 3016828
Below are the changes in HW headers for E1.5
1) WBM2SW release source enum changed back to lithium values
2) DSCP to tid table num is added in Bank register
3) MCAST ctrl value is moved from Bank to seperate register
Change-Id: I342c451d792b1618dcb62ca9d4c77dcf4d4beeac
Register, for WCN7850, the hal ops to get the
current PN for a packet from the tlvs.
Change-Id: I9fabc84aee318de2031bfa5f88dafe19b723079a
CRs-Fixed: 2965086
To fix the below compilation error, included "hal_be_rx_tlv.h" header file
in hal_be_generic_api.c file.
"cmn_dev/hal/wifi3.0/be/hal_be_generic_api.c:754:40: error:
'hal_rx_tlv_get_pn_num_be' undeclared (first use in this function);
did you mean 'hal_rx_tlv_get_pn_num'?"
Change-Id: I57074967dad8cee98fc8094c4eadc9289b7e7984
CRs-Fixed: 2974607
PN number get function handler is not initialized,
This lead to CFI assert. Add correct handlers for
differnt chipsets.
Change-Id: Ib8836af0d69380da597822d1755bb5dd2309c95f
CRs-Fixed: 2968223
Refactor FISA packet history to not access "struct rx_pkt_tlvs". This is
because this structure may be different for Li and BE chips and should
not be accessed directly and only via hal_soc->ops in common code.
CRs-Fixed: 2888556
Change-Id: I0d9f2785a81c130a2dc506020a02ee5581c0bbd3
Add the changes to the generic HAL APIs.
The APIs generic across lithium and beryllium
architecture are kept in common HAL code.
The APIs which are generic across lithium
chipsets are moved to lithium specific files.
The APIs which are generic across beryllium
chipsets are kept in beryllium specific files.
Change-Id: Ie5e28aca5de02aa42f63b4a13fcb1cb32ffa8a28
CRs-Fixed: 2891049