Commit Graph

16832 Commits

Author SHA1 Message Date
Sai Rupesh Chevuru
c6742e5632 qcacmn: handling of wifi down/up scenarios for MLO MCAST
handling of wifi down/up scenarios for MLO MCAST

Change-Id: Ib2d47884612af73c798f1a9b4f74b9b47058fc08
CRs-Fixed: 3183831
2022-05-04 07:22:56 -07:00
Edayilliam Jayadev
cecf753cac qcacmn: Fix compilation issues in mgmt Rx REO
Fix compilation issues in mgmt Rx REO feature.

CRs-Fixed: 3179407
Change-Id: I19e475b9f4eb5615d9ae63a85af3daf3ea1434ba
2022-05-03 12:41:07 -07:00
Edayilliam Jayadev
97e2f4b060 qcacmn: Check the sanity of mgmt Rx REO snapshots
Ensure the sanity of management Rx reorder snapshots of each valid
link.

CRs-Fixed: 3182800
Change-Id: I5949c8a7f8b15cb6a3eac874694daebb39423624
2022-05-03 12:41:01 -07:00
Edayilliam Jayadev
f9969cdc06 qcacmn: Initialize/clear mgmt Rx reorder data structures
Initialize/clear mgmt Rx reorder data structures on init/deinit.

Change-Id: Idf634fded0dadf2e13cea90f4819788b08ed4a12
CRs-Fixed: 3183181
2022-05-03 12:40:55 -07:00
Paul Zhang
28df9f4e53 qcacmn: Enhancement for RNR IE processing
Since the idx is always initialized zero in function util_scan_parse_rnr_ie.
If there are two or more RNR IEs in the frame, then the RNR info is
overwritten by the last one.

Change-Id: If6d47871267ea43c3a5b3130cae73ebd0de45930
CRs-Fixed: 3183233
2022-05-03 10:40:04 -07:00
Pavankumar Nandeshwar
96c227a65d qcacmn: Check if ast hash table is populated before accessing
Check if ast hash table is populated before accessing it,
as some calls from ecm can try to access the hash table when it
is down

Change-Id: I6d38359c3cf13f578671794db61c8eb845245d6d
CRs-Fixed: 3186437
2022-05-03 08:40:48 -07:00
Alan Chen
28a567fe06 qcacmn: Use single variable for minidump table index position
To avoid calling qdf_get_name_idx() function multiple times, only
use the variable tracking the index position of the log type in the
minidump table.

Change-Id: I978ee0fdeed0d9483da7262293103f468496e1c0
CRs-Fixed: 3185934
2022-05-02 20:50:08 -07:00
Amir Patel
0bfdc54393 qcacmn: Drain Rx monitor workqueue
Drain Rx monitor workqueue on wifi down

CRs-Fixed: 3186360
Change-Id: I524b08338da1f2a4567c17551a8b44d420ca3455
2022-05-02 14:08:50 -07:00
Jeevan Kukkalli
025fca08e6 qcacmn: Subscribe for ppdu_start_user_info TLV
Subscribe for ppdu_start_user_info TLV for
lite monitor mode in WKK.

Change-Id: I4ffc09ae11905f8d784bf388889b317055ec6357
CRs-Fixed: 3185558
2022-05-02 07:31:13 -07:00
sumedh baikady
fe2748debc qcacmn: Add check to skip REO shared qref stats for legacy platforms
Reo shared qref stats is not required for legacy platforms
and is enabled for wkk only. Hence add check in stats to
skip for legacy platform.

Change-Id: Ic6f1ebd965aa63b98a3ac6a5216fa9b4e3499b74
CRs-Fixed: 3186595
2022-05-01 06:45:26 -07:00
Pragaspathi Thilagaraj
7738bad9e9 qcacmn: Add support to manage Wifi pos vdev private object
Add support to manage Wifi pos vdev private object. Add new peer
type in enum wlan_peer_type. Add rx_ops and register the rx_ops
for PASN peer create/peer delete request.
Register 11az PASN related WMI events in target if.

Change-Id: I2a5e4d8d7c9b9562d9ab02b287957e93ee6f4758
CRs-Fixed: 3154521
2022-04-30 22:49:55 -07:00
Pragaspathi Thilagaraj
87ce989ee0 qcacmn: Add support for RTT PASN events
Add support in wmi to handle below new RTT PASN events:
WMI_RTT_PASN_PEER_DELETE_EVENTID
WMI_RTT_PASN_PEER_CREATE_REQ_EVENTID

Change-Id: Ib33c2def2d7ef66a6a2717e2a8e1756ab4318e4d
CRs-Fixed: 3150069
2022-04-30 22:49:49 -07:00
Manoj Ekbote
74ede2801b qcacmn: Handle ML destination in Intra-BSS code
When destination peer is an ML peer, get the soc from da_peer.

Change-Id: I93d10a7ab9ce805180397bcf0f3b404c27df528b
CRs-Fixed: 3177339
2022-04-30 03:02:31 -07:00
Deeksha Gupta
55b630d160 qcacmn: Increase the size of EHT PHY cap as per D1.4
Increase the size of EHT PHY cap as per D1.4

Change-Id: Ibe228e12a0277bd1015a3bf87a96b11410d51a77
CRs-Fixed: 3185926
2022-04-29 17:21:15 -07:00
Harsh Kumar Bijlani
5eeabf4f49 qcacmn: Update reception type from PPDU Start User Info TLV
For MU_MIMO traffic from AP to STA, RSSI Legacy TLV gives
reception type as QDF_RECEPTION_TYPE_ULOFMDA which is incorrect.

In order to fix this, update reception type from PPDU Start User
Info TLV. Also remove updation of reception type from LSIG TLVs
to avoid override of reception type value.

Change-Id: I9ef4c5bc7a15d4e68404d702bec61eca9c9bad4c
CRs-Fixed: 3178085
2022-04-29 17:21:08 -07:00
Shashikala Prabhu
a12a2c47c8 qcacmn: Add WMI changes to send the T2LM command to FW
Add WMI changes to send TID-to-link mapping to FW as part of peer assoc
command and as part of WMI_PEER_TID_TO_LINK_MAP_CMDID.

Change-Id: Ia3a8fb10d49e1d54d6f4f418be3f684bc0147c5c
CRs-Fixed: 3183734
2022-04-29 13:50:00 -07:00
Venkateswara Swamy Bandaru
cf2e7f5172 qcacmn: Fix invalid ehtops print flooding on console
Due to moving to 11be D1.3 old eht ops is seen as invalid and
unnecessarily flooding console. Moding these prints to debug level.

Change-Id: Ibb21ffe9ed670c9ef9bc1e6d91f90ea5118a78f3
CRs-Fixed: 3185395
2022-04-29 13:49:53 -07:00
Harsh Kumar Bijlani
cfe5ee5060 qcacmn: Add support for Tx MIMO and OFDMA stats for Waikiki
Add support for Tx MIMO and OFDMA stats for Waikiki.

Change-Id: I54de5ff93841c98fde1dc4b4eda743748dab4bbb
CRs-Fixed: 3181946
2022-04-29 09:01:29 -07:00
Venkateswara Swamy Bandaru
964ba5e0a6 qcacmn: Update EHT capabilities as per draft 1.4
Update EHT Capabilities as per 11be draft 1.4 specification.

Change-Id: Ibce3df4ec1aed07102f01d201409ef4e120fa94f
CRs-Fixed: 3176802
2022-04-29 09:01:23 -07:00
Deeksha Gupta
7310b12d12 qcacmn: Update EHT capabilities as per draft 1.4
Update EHT Capabilities as per 11be draft 1.4 specification.

Change-Id: I1300f0a1ece4ccd11c230097b57d9f6f5da8d6af
CRs-Fixed: 3160719
2022-04-29 09:01:15 -07:00
Edayilliam Jayadev
167f6c146a qcacmn: Exclude parallel Rx from stale frames
Frames which are received in parallel across links should not be
discarded as stale frames. Exclude frames received in parallel from
stale frames.

CRs-Fixed: 3183145
Change-Id: I218f24658307244b3d5fbad09c6ccf2e42221138
2022-04-29 06:32:16 -07:00
Shashikala Prabhu
6f0d0248f0 qcacmn: Define T2LM structure in wlan_mlo_peer_context structure
T2LM negotiation happens per MLD level. Hence, define the T2LM related
structure in wlan_mlo_peer_context.

Add API to get the protected EHT action frame subtype.

Change-Id: Ia3870fbb38b8d673f96954af18078c96d20365f3
CRs-Fixed: 3167178
2022-04-29 02:10:57 -07:00
Jeevan Kukkalli
bf5043dc92 qcacmn: set appropriate rx packet offset
Set appropriate rx packet offset when full pkt is
subscribed in litemon case.

Change-Id: I1b1149b5105ce2b61c6e6ddc7841c21ce0b7870c
CRs-Fixed: 3183047
2022-04-29 00:57:59 -07:00
Amit Mehta
0c9a5d80a2 qcacmn: Fix log trace level
Currently trace level for dp_nofl_info is DEBUG
change trace level  to INFO

Change-Id: I7fb24164a7635df26661587e4af0dca6dd225a0c
CRs-Fixed: 3184792
2022-04-29 00:57:53 -07:00
Adwait Nayak
94eec2edd6 qcacmn: Fix to process the RX_PPDU_END_STATUS_DONE TLV
RX_PPDU_END_STATUS_DONE TLV is not being processed, since Host
is not copying the last byte from the payload.
Add code to copy the full payload from status frag and process
it to the upper layer.

Change-Id: I51d03f5664b2944008936e3711f2ba74bcfde89c
CRs-Fixed: 3179137
2022-04-28 15:46:24 -07:00
KARTHIK KUMAR T
1bc325d4f3 qcacmn: calculate RSSI DBM in WKIKI
Add rssi dbm support bit for rssi_comb calculation
using parameters received from the fw.

Change-Id: Ice57ed69db74852a8b03752632bae747c043e93d
CRs-Fixed: 3183406
2022-04-28 11:51:10 -07:00
Edayilliam Jayadev
1c9f82f0ec qcacmn: Use PPDU duration to find end time stamp
Use the PPDU duration given by FW to find the end time
stamp of management frames.

CRs-Fixed: 3181500
Change-Id: Ibabe82c8e2d3cd7e494e764a9a2baeded89a7300
2022-04-28 10:40:59 -07:00
Edayilliam Jayadev
f1373c7ace qcacmn: Extract reo params only if FW feature flag is enabled
Extract management Rx REO params only if FW feature flag is enabled.

CRs-Fixed: 3182774
Change-Id: I3051a54af9d9671edd7833a23444f72602c35e88
2022-04-28 10:40:54 -07:00
Edayilliam Jayadev
3a96deddfb qcacmn: Read all the snapshots before wait count calculation
Read all the REO snapshots before calculating wait count.

CRs-Fixed: 3181495
Change-Id: Ica542f3c5ff8d32c983b82100bdf29761d0bf872
2022-04-28 10:40:48 -07:00
Edayilliam Jayadev
ff6d633d72 qcacmn: Add WAR to consistently read mgmt Rx REO snapshots
Read the management Rx reorder snapshots back to back to get a
consistent value.

CRs-Fixed: 3181479
Change-Id: I5ff73db5d4be362d7449494f3630a11da0456f0e
2022-04-28 10:40:43 -07:00
Basamma Yakkanahalli
a9b55f2c20 qcacmn: APIs to handle MLME VDEV OP flags
Added APIs set, get, and clear mlme vdev op flags.

Change-Id: Ibc20e07553545fd3c30f42f192171922f63e4b4c
CRs-Fixed: 3161657
2022-04-28 08:40:18 -07:00
Kiran Venkatappa
ae6d816cbf qcacmn: Enable copy engine 14 for diag on qcn9224
Copy Engine(CE14) is used for diag events on qcn9224. Add changes to
configure this CE as dest ring and fix diag event handler to use
wmi_handle from first pdev similar to other WMI events.

Change-Id: I314939169f9be32cd277af68dcd3ef7a0eb06187
CRs-Fixed: 3177987
2022-04-28 06:50:18 -07:00
Ashish Kumar Dhanotiya
e9c9acf630 qcacmn: Add 11d offload APIs under correct feature flag
Currently host driver defines 11d offload APIs under
HOST_11D_SCAN feature flag which is not correct.
Add 11d offload APIs under TARGET_11D_SCAN feature flag.

Change-Id: I0d3205b215c9fc363a71c4e7a6b54e40fb10a964
CRs-Fixed: 3183200
2022-04-28 03:12:44 -07:00
sumedh baikady
e10617683d qcacmn: Fix mem issue in reo desc shared table free
Fix use after free in detach path of REO shared table.

Change-Id: I9bba8f16e19f2e6a5217c78a633bbb57d1609edf
CRs-Fixed: 3184481
2022-04-27 22:57:21 -07:00
Sai Rupesh Chevuru
d365912c55 qcacmn: Flush and invalidation of descriptor memory at allocation
Flush and invalidation of descriptor memory at allocation is helping
to avoid NULL descriptors issues in TX and RX path.

Change-Id: Ifcdb65df01365e7ec0b0be59d8b4bf862d90943d
CRs-Fixed: 3180696
2022-04-27 22:57:15 -07:00
Hariharan Basuthkar
263d5b8138 qcacmn: Add an API to get best power mode based on freq and bw
Add an API wlan_reg_get_best_pwr_mode, to get the best_power_mode
based on AP's primary channel center frequency and AP's operating
bandwidth. The best power mode that has the maximum EIRP power
allowed for operation among the 3 AP types, i.e, LPI, SP and VLP is
chosen as the best power mode.

For example:

If primary channel center frequency = 6115 MHz and AP's operating bandwidth
is 80 dbm. If,
LPI EIRP = 30 dbm
SP EIRP = 33 dbm,
VLP EIRP = 27 dbm,
then the best power mode returned is SP.

Also, remove the static declaration of reg_get_subchannels_for_opclass
so that it can be called by wlan_reg_get_best_pwr_mode.

Change-Id: I89b6bc35b5c15a49e2d49265c8685f9d291fb48e
CRs-Fixed: 3163714
2022-04-27 13:01:54 -07:00
David Oladunjoye
52945c51a9 qcacmn: umac: Add mapping for WMI to Host TWT nudge status
Add mapping for WMI_NUDGE_TWT_STATUS_ALREADY_PAUSED on host side.

Change-Id: Ia7bcd78cfc709677b9b28a9fc2703e30f3cb2b7b
CRs-Fixed: 3181119
2022-04-27 13:01:48 -07:00
Sai Rupesh Chevuru
14d0e0cd79 qcacmn: Use unique and random mac address per MLD in IGMP RX
In receive path for IGMP packets modify the source mac to
unique and random address per MLD.

Change-Id: Ifcbf414017b2596656d53d6c921cf7fd63bf0cac
CRs-Fixed: 3176816
2022-04-27 10:28:22 -07:00
Himanshu Batra
bef237765d qcacmn: Add fix to use correct vdev pointer
Add fix to use correct vdev pointer

Change-Id: I14721d494b9ca40b480cf9315002e96006f848a1
CRs-Fixed: 3178303
2022-04-27 07:24:20 -07:00
Shashikala Prabhu
1a3a58f4de qcacmn: Add API to get MLD CAP info from Basic Variant ML element
Add API to get the MLD capabilities from a given Basic variant Multi-Link
element or element fragment  sequence.

Change-Id: I9f0d8069a970523948fd604b4977efd3d41a4d2d
CRs-Fixed: 3177254
2022-04-27 07:24:14 -07:00
Parikshit Gune
083ffa0268 qcacmn: Change per peer delay histogram stats buckets to 13 from 10
Per peer extended stats are maintained as a histogram having 10
delay buckets. Each packet will fall into one of these buckets as per the
delay calculated. These buckets are now increased to 13 as per requirement.

Change-Id: I7f9a01c21b748a0f589bb44e6f7dd69a1c5702a7
CRs-Fixed: 3163423
2022-04-27 06:12:05 -07:00
Kiran Venkatappa
a5e928212a qcacmn: Add extract API to get sw cal version
cal version is included in EXT2 svc ready message to indicate the bdf
and ftm version to host. Add API to extract this from ext2 message.

Change-Id: I83f4d6e83a3f78f993b40527aed7291c6496777c
CRs-Fixed: 3182634
2022-04-27 04:54:42 -07:00
Amir Patel
df1a9d566a qcacmn: Subscribe for ppdu_start_user_info TLV
Subscribe for ppdu_start_user_info TLV for statistics and
monitor mode in WKK.

Change-Id: I019ddc665fd42bc872054b895a164aaec840bf79
CRs-Fixed: 3181602
2022-04-27 00:50:51 -07:00
Kiran Venkatappa
25753f9cc8 qcacmn: Use correct macro to get pdev_id from mac_phy_caps
pdev_id and hw_link_id is included in same uint32. Lower 16 bits are for
pdev_id and higher 16 bits are for hw_link_id. Use proper macro to get
pdev id from mac_phy_caps.

Change-Id: I91806c0fba63767efa0105df5697dd685f38b819
CRs-Fixed: 3182651
2022-04-27 00:50:44 -07:00
Varsha Mishra
f9424745bb qcacmn: Drop 3 addr multicast in rx
Drop 3 address multicast packet on rx when vdev is
has drop_3addr_mcast enabled.

Change-Id: I726bdc9383ea6e5a052a5d754e8f48c98f9ce874
CRs-Fixed: 3163011
2022-04-27 00:50:38 -07:00
Ananya Gupta
207111647e qcacmn: Validate rx desc unmap in RXDMA err ring
Currently, in STA+Monitor mode, the first MSDU in MPDU is
unmapped and goes down. This MSDU is now processed as rxdma
err packet and crashes due to double unmap as rxdma err ring
is configured as monitor dest ring in monitor mode.
To fix this, validate rx descriptor unmapped flag in rxdma
err processing.

Change-Id: Ic503aa18e2269d8bda6aaf9b349c1ad8be11dcff
CRs-Fixed: 3175972
2022-04-26 17:28:33 -07:00
sumedh baikady
324dcd5688 qcacmn: Add target check for reo shared qaddr enabling
Enable REO shared qref for 11be targets.
Fix a compilation issue in printing dma_paddr type. 

Change-Id: Ib8568a82e96016ea367c8e0122d862e3d6e70d00
CRs-Fixed: 3178147
2022-04-26 14:59:37 -07:00
Edayilliam Jayadev
94d603ee9b qcacmn: Add support for multiple snapshot versions
Add support for multiple version of management Rx reorder
shared snapshots.

CRs-Fixed: 3171325
Change-Id: Idae8d3f8179dc4a60730033e55d5744324133839
2022-04-26 10:00:35 -07:00
Shiva Krishna Pittala
d7826cc02e qcacmn: Don't unregister a DDMA module if it was not registered earlier
When we try to unregister a module that was not registered earlier, we will
try to unmap the buffers that were not allocated. As a result, we end up
with invalid memory access. Fix this issue by checking if the module was
registered before unregistering it.

Change-Id: I97c4ee7a6690c6cba2a7d1a919a39fcb12ebb692
CRs-Fixed: 3179498
2022-04-26 07:03:57 -07:00
Vishal Miskin
36da36e010 qcacmn: Populate TWT target API to set pdev param
Populate TWT target API to set pdev param

Change-Id: Id82ee089825293c05bace5ead97727c8c79845db
CRs-Fixed: 3168199
2022-04-26 07:03:52 -07:00