A new flag "is_cfr_rcc_capable", is introduced to enable RCC.
Currently, this flag is enabled only for QCA6018.
Change-Id: Ifdd1922c655c0bb743147e3f51d3ca32cac3dd2e
Add counters for following scenarios -
1. Ucode aborts DMA of CFR data when a higher priority TX/RX activity
needs to be scheduled, add counters in host to identify the no. of
aborts.
2. Add counters to track the total no. of TX-based CFR captures since
wifi up.
Change-Id: I3c0e0e68651348c3484a14dfcd1f664962c8647f
1. Remove the handler that flushes all pending DBR and txrx
events, since that is not being used.
2. PPDU TLV subscribe logic is integrated with ol stats layer,
remove redundant subscriber alloc.
3. Downgrade debug level of timer prints, as error handling timer
fires every 3 secs.
Change-Id: I2a5d2ae10ebee069dd30c1ed87d6560b30f77427
In CFR error handling lut ageout timer, following fixes are made -
1. Fire error handling timer every 3 secs
2. Start/Stop timer only when pdev->cfr_rcc_mode transitions from enable
to disable and vice versa
3. Stop/Free timer during deinit of pdev, incase user issues wifi down
without disabling cfr
Change-Id: I2f9819706d1440d675edfdd933839dbc3ebddbb0
FW set mprot_type in NDPA frame as all ping request is a sound + steer.
check mprot type in mgmt frame and send dummy rts and cts.
Change-Id: I0f275c57e254117e06cb17173f4ae4b65f0e07aa
37th bit is being set as an exchange between FW and ucode
to indicate that it is a DDR address to PCSS module.
As a result of which Cookie lookup fails while comparing
all 40 bits, since the physical address of DBR buffer
does not match with the physical address of the received
buffer.
Since lower 36bits represents physical address,
Use only 4 least significant bits from higher 32bits along
with lower 32 bits while programming the physical address in
DBR SRNG. Format: ( low32 + 4 bits of high32 ).
Change-Id: I2cb09c00a9942966266ba81f56f0c6c173671e2f
Do not flush the DBR event for which the corresponding
TX/RX event is yet to be received.
Once the new PPDU TLV is received, flush the previous
pending DBR events.
Change-Id: I4495a45db139128d2af01f79744021c6ad6bf322
Currently mesh mode uses channel numbering scheme which is derived
from APIs which don't support 6GHz channel numbering. This is
important because the channel numbers for 6GHz are overloaded with
those in the 2.4GHz and 5GHz band.
Add support to obtain the correct channel number (and auxiliary
information like band and frequency) through the new APIs that
support 6GHz.
Change-Id: I60afa5294af5e5681974f1bbc45c9e008eda1232
CRs-Fixed: 2605229
rx ack does not get created for tx failed frames.
this is done with a check for completion status on the previous frame.
Change-Id: Idfff8aa8165542bb2ca2cf1370a201ccb057997e
Send bcn_tx_rate as vdev start paramter.
This will avoid sending individual wmi
command for the same during vdev up.
Change-Id: I890d89e7c607bc24d2726ded7e51d4dd19ca3359
Enable vlan hardware acceleration support in Rx path
if multipass feature enabled.
It is expected for a packet to have vlan header in-placed
and vlan_id is padded with zero. If not, drop the frame with
proper error updation.
Update vlan_id if frame comes with special peer and has vlan
header in placed and vlan_id padded with 0.
Change-Id: Ife7a371dcca20634b0dc99f00cb02551dbff611f
CRs-Fixed: 2584007
Lithium HW can parse each MSDU when packets are enqueued to transmit
classifier and each MSDU can get enqueued to different MSDU-Queue.
By default, there are 2 queues per TID – UDP and NON-UDP. Based on
the flow parsing, packets will be queued to either of them.
Enterprise customers uses RAW mode frames which transmit classifier
would not be able to identify L4 protocol for UDP or NON-UDP queue
for encrypted frames.
Customer can also have different application based packets which needs
to be enqueued to differently prioritized queues. They can choose to
tag each MSDU based on application DPI and derive the flow priority
as below –
• UDP
• NON-UDP
• HI-PRIO
• LOW-PRIO
Customer needs API support from host which will provide an ast-index
based on a particular flow id given peer mac address. Based on the mac
address, host will find the associated peer and return the ast_index &
cache set number corresponding to the flow id from peer flow based ast
entry table. Customer will then program this ast-index and ast override
in transmit classifier CMD ring to enqueue MSDU to a specific
flow-queuein TQM.
Host API:
Input parameter – uint8_t *macaddress,uint8_t flowid,uint8_t tid
Output – uint16_t ast_index
Change-Id: I62b2308510ee7a43b153e125dc3bee6abbad0848
Address the compilation issues when the DFS feature Auto channel
switch support is disabled(WLAN_DFS_PRECAC_AUTO_CHAN_SUPPORT=0).
Change-Id: I6eda4bf133552e145a49a60aea50a0ce29a11373
CRs-Fixed: 2608450
1. Hanndle BAR frame.
2. set rate for ACK frame.
3. Check block ack session and use block ack if block
ack session is established.
4. no ACK for broadcast probe request.
5. no ack if the ack policy is set to no ack in qos control.
Change-Id: Id42b0e95fc7ea043d35c8d7d5686f15140acdea6
use resp_type to identify packets with HTT_PPDU_STATS_ACK_EXPECTED_E.
this condition triggers rx legacy ack frame.
Change-Id: I17b2ce428692da655580a9365d1c3d920ac360fc
for probe response with missing payload is not handled properly
causing N -1 probe response count compared to sniffer.
Change-Id: I13b00b35be78b67f2242c84a8a9978814d097a21