Commit Graph

19009 Commits

Author SHA1 Message Date
Jingxiang Ge
4333d62894 qcacmn: add QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_NF_CAL_VAL
Add QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_NF_CAL_VAL attribute
for noise floor calibration value.

Change-Id: Ie20ce40c0b925fd95cdcb127877e32a0b28b1fc2
CRs-Fixed: 3427750
2023-03-15 11:20:35 -07:00
Pavankumar Nandeshwar
80d41dc9b4 qcacmn: Handle Umac reset for MLO case
1. Add an API to process trigger_umac_recovery T2H message.
2. Synchronize do_pre_reset, do_post_reset_start, do_post_reset_complete
   messages for all the SOCs and then process these messages in the host.
3. Synchronize pre_reset_done, post_reset_start_done,
   post_reset_complete_done for all the SOCs before sending it to FW.
4. Add a new state in host for trigger_umac_recovery message.
   Ignore back to back trigger_umac_recovery messages received from FW.

Change-Id: Id45d326d63e122834090844e83ad6cc7240f96af
CRs-Fixed: 3425833
2023-03-15 11:20:26 -07:00
Narayan Subramhanyan
ff85561570 Revert "qcacmn: Add manual ulofdma trigger bit in rx ppdu user stats"
This reverts commit I2a697f91e572f88a36f96085d15c90c679deaf0c.
Original change was added to support manual ulofdma trigger but it
needs to be reverted here due to a small tweak in design approach.
New design to be integrated and hence reverting this one.

Change-Id: I4c358db48298666c753aa89166a31adbba067e36
CRs-Fixed: 3429084
2023-03-15 09:31:33 -07:00
Gaurav Saini
c1d7a3b4dc qcacmn: Fix Tx ring index selection
For target SDX waikiki, Tx data/completion ring
value should be 3 else it is 2. so, Added a condition
to make a selection based on the target type.

Change-Id: I1fe65894c1c5dfa8f4d3efdd781dbfac0f6e2c04
CRs-Fixed: 3430265
2023-03-15 07:46:16 -07:00
Subrat Mishra
235202f7de qcacmn: Add RC index macro for Smart Antenna 320 MHz BW
Add Rate Code Index macro for Smart Antenna 320 MHz BW in per PPDU
stats processing path.

Change-Id: I880cbc5d54f333dc2f8938c1a4d3bd56b96b7a6e
CRs-Fixed: 3429317
2023-03-15 07:46:05 -07:00
Basamma Yakkanahalli
c6ec5df956 qcacmn: Add support for manual triggered UL OFDMA response
Added a support to handle manual triggered UL OFDMA
response user info event.

Change-Id: Ic1b8eca9a704a5fa8a82f8eb2f8735a9eaee08ad
CRs-Fixed: 3430299
2023-03-15 07:45:55 -07:00
Sushant Butta
20cc6672bc qcacmn: Fix tlv parsing for rx_evm details tlv
Fixed tlv parsing for rx_evm and rx_antenna.

Change-Id: If254c9488351f1b6bb0ca592c166f6c798b59516
CRs-Fixed: 3404801
2023-03-15 04:34:06 -07:00
Jianmin Zhu
41c19f596d qcacmn: Add API mlo_is_ml_connection_in_progress
Add API mlo_is_ml_connection_in_progress.
When wpa supplicant enable/disable roaming, need check it to avoid race
condition issue.

Change-Id: I85cc9f8b542169563881c601a477f5c646629071
CRs-Fixed: 3430980
2023-03-15 04:33:56 -07:00
Chaoli Zhou
4e932d4624 qcacmn: Replace kzalloc/kfree with vmalloc/vfree for reg pdev/psoc obj
At continuous physical address limited telematics platform,
in order to avoid occasional memory alloc failure with big
kzalloc size, it's better to use virtual memory allocation
API instead. And below items will be refined to replace malloc
with valloc when CONFIG_ENABLE_VALLOC_REPLACE_MALLOC=y.

1 x 66384 =   66384B @
wlan_regulatory_psoc_obj_created_notification:106  
wlan_objmgr_psoc_obj_create+0x104/0x240 [qca6698]

1 x 44936 =   44936B @
wlan_regulatory_pdev_obj_created_notification:324  
wlan_objmgr_pdev_obj_create+0x17c/0x284 [qca6698]

Change-Id: Ia2f1b0d3f6f0149c3a88ee776ee4b11493943227
CRs-Fixed: 3426809
2023-03-15 02:40:58 -07:00
Sai Pavan Akhil Remella
5d62197747 qcacmn: Send vendor attributes with the Roam stats
As part of commit I7a08635a7912cbd940d90a2d62433296740ad913
a vendor command is added to enable roam stats event.
This change registers callback to send the added vendor
command event to userspace.

Change-Id: I6dc3f8357ace5bb3fa41b4aa116652a91b9fd924
CRs-Fixed: 3427397
2023-03-14 10:37:42 -07:00
Amit Mehta
4a4820f85a qcacmn: Fix monitor filter config
For beryllium target in monitor mode host only subscribe
to MSDU end and MPDU start tlvs, but during monitor mode
up as part of monitor filter reset host is subscribing to
all the tlvs.

To fix the issue only subscribe to MSDU end and MPDU start tlvs
on target basis

Change-Id: I1599559b1af0b5121a7c361db403da857988cc01
CRs-Fixed: 3429044
2023-03-14 10:37:33 -07:00
Edayilliam Jayadev
4855c6ef1a qcacmn: Enable management rx reo scheduler
Enable management Rx reorder scheduler.

CRs-Fixed: 3410648
Change-Id: I90fad2bb3c118f3d9021dc94ecdd1a300c9ab00c
2023-03-14 08:46:27 -07:00
Edayilliam Jayadev
fd71acd187 qcacmn: Add WMI APIs to get endpoint ID
Add WMI layer APIs to get endpoint ID.

Change-Id: Id1b3f951755f662344239e306312db5b31b32296
CRs-Fixed: 3408703
2023-03-14 08:46:17 -07:00
Edayilliam Jayadev
10fe6982eb qcacmn: Add HTC APIs to schedule/cancel custom callbacks
Add HTC layer APIs to schedule/cancel custom callbacks.

CRs-Fixed: 3408693
Change-Id: I1316685707b7abc6c8d86ec4d237dc920f9f78eb
2023-03-14 08:46:06 -07:00
Edayilliam Jayadev
63c5956a01 qcacmn: Add APIs to schedule/cancel custom callbacks
Add HIF/CE layer APIs to schedule/cancel custom callbacks.

Change-Id: I9cc7dcf73a726cb1ed2d7945d6ce9e736d42af52
CRs-Fixed: 3408690
2023-03-14 08:45:56 -07:00
Himanshu Batra
fe8e699301 qcacmn: Add API to get osif handle for wds ext peer
Add API to get osif handle for wds ext peer

Change-Id: I1294acee12c9f4d12f8b8728f8d89e61fec81d9f
CRs-Fixed: 3430300
2023-03-14 05:00:19 -07:00
Chaoli Zhou
6de3f20f10 qcacmn: Add common memory alloc/free API
Add qdf_mem_common_alloc/qdf_mem_common_free for
the platform that want to replace malloc with valloc
due to limited continuous physical memory.

Change-Id: If3c5716ff6d62c0a4f6f21b7ebf9eef1e3f0e529
CRs-Fixed: 3429140
2023-03-14 03:26:03 -07:00
Karthik Kantamneni
2edb0c0388 qcacmn: Add RX handling for RHINE architecture
RHINE is soft UMAC based architecture which is not having
REO block, all the REO functionality will be implemented
in F.W and host level. Host will get the RX packets in
CE-RX rings in HTT format, to reap RX packets new HTT
messages will be extracted and parsed.

So implement RX handling based on new softumac architecture for RHINE.

Change-Id: If430dd017309e2b2a3eb5e27e1d8b58696abceb4
CRs-Fixed: 3382920
2023-03-14 01:41:05 -07:00
Jeff Johnson
f3217146fa qcacmn: Fix misspelling "bandwitdth"
Fix misspelling: "bandwitdth" => "bandwidth"

Change-Id: I7fde29d0be481e6e4214a00d68ff4c468d03a322
CRs-Fixed: 3430187
2023-03-13 23:54:33 -07:00
Jeff Johnson
83e9a49c12 qcacmn: Fix misspelling "funtcion"
Fix misspelling: "funtcion" => "function"

Change-Id: I3e752b893a07458cc414035c95a8c9f0abe20022
CRs-Fixed: 3430195
2023-03-13 23:54:22 -07:00
Jeff Johnson
2574da9bf9 qcacmn: Fix misspelling "sucsess"
Fix misspelling: "sucsess" => "success".

Change-Id: I93f4b97e2d753362843a08c86a947f936b563c28
CRs-Fixed: 3430188
2023-03-13 23:54:11 -07:00
Devender Kumar
610e19cab2 qcacmn: Add support for peer map handler
Call ol_peer_map handler when AST_OFFLOAD_SUPPORT
is enable, so that client_connect_ex event can be
sent to IPA.

Change-Id: I688cb95dec43180133a8948573fbd45af3cb9f33
CRs-Fixed: 3419264
2023-03-13 13:44:39 -07:00
Devender Kumar
d67fc1fc09 qcacmn: Fix Tx queue selection when IPA is enable
When IPA is enable and TX DATA ring mask is not set for
TX ring given to IPA, Host should not select the TX queue
which is given to IPA, hence override the TX queue to 0 if
TX queue id is same as IPA TX data ring.

Change-Id: Ia7fe49ef50deee869c84de9e741362cb31d60bf0
CRs-Fixed: 3419264
2023-03-13 13:44:26 -07:00
Jeff Johnson
ca2123d842 qcacmn: Fix target_if.h documentation
The kernel-doc script reported documentation issues in
target_if/core/inc/target_if.h, so fix them.

Change-Id: I3c539f3a581f5886c013e34fa54904899cbe9d17
CRs-Fixed: 3417467
2023-03-12 15:13:35 -07:00
Edayilliam Jayadev
d3f1f54f3f qcacmn: Add mgmt Rx REO scheduler debug support
Add support for mgmt Rx REO scheduler debug.

CRs-Fixed: 3409291
Change-Id: I5027fb4196d3d072fe4ade880eb217bcef47a6d3
2023-03-12 13:42:51 -07:00
Amrit Sahai
176e6fa814 qcacmn: Fetch and update rssi_chain stats from Firmware
fetch and update rssi_chain stats from firmware.

Change-Id: I0a16ebda0ab17d32c7f7daab36eeebb6c4d691f9
CRs-Fixed: 3404107
2023-03-12 00:23:28 -08:00
Shreedhar Parande
000049c119 qcacmn: Delete link peers upon bridge peer creation failure
If bridge peer creation is failed, delete all link peers belongs
to that MLD.

CRs-Fixed: 3428992
Change-Id: Ife492cbaa4bb0e80df2f5a62539804912fe76637
2023-03-11 16:02:53 -08:00
nobelj
3618c82727 qcacmn: Increase capacity to store status buffer in tx monitor
In tx monitor, the maximum capacity to store status buffer is 64.
During high throughput scenario number of status buffer exceeds 64.

Change-Id: I5e8d1945773d2027a4adbc141fa868587e80acd1
CRs-Fixed: 3430126
2023-03-11 13:41:25 -08:00
Kenvish Butani
8984ecea8d qcacmn: Fix for crash during FW recovery
Fix for the crash seen during FW recovery
while doing disable ol_stats for all the
MLO pdev's

Change-Id: Ie7b037e2d124009658a01d2a00d0a74a784ac51f
CRs-Fixed: 3430134
2023-03-11 03:50:37 -08:00
Rakesh Pillai
9374de2500 qcacmn: Fix monitor status ring history
Currently for the monitor status ring history,
the event type is not being logged.
Fix the event type logging in the monitor status
ring history.

Change-Id: I43f07bf9a4232a203b7a996db6038a081249ffc9
CRs-Fixed: 3425325
2023-03-10 19:42:04 -08:00
Chaithanya Garrepalli
97fcc90a7e qcacmn: Handle SG case with multiple MSDUs in MPDU
In case of where multiple scatter gather frames are
part of same MPDU last_mpdu_in_msdu will be set only
for last buffer of last scatter frame in MPDU.

Below is the hw descriptors bits when 2 scatter frames
are part of a MPDU

 -----------------------------------------------------------
|Buffer_num | MSDU_NUM | first_in_mpdu | cont | last_in_mpdu |
 -----------------------------------------------------------
|    1     |     1    |       1       |  1   |      0       |
 -----------------------------------------------------------
|    2     |     1    |       0       |  0   |      0       |
 -----------------------------------------------------------
|    3     |     2    |       0       |  1   |      0       |
 -----------------------------------------------------------
|    4     |     2    |       0       |  0   |      1       |
 -----------------------------------------------------------

In above case scatter MSDU boundary checks can be done only
based on continuation bit. So while reaping use continuation
bit instead of last_in_mpdu bit to detect boundary

Change-Id: I42e7360d6a1b7d0cfd9a6688cae51e3854d430ec
CRs-Fixed: 3388668
2023-03-10 16:11:55 -08:00
Shashikala Prabhu
09c1bea86c qcacmn: Update the datatype of T2LM provisioned links
T2LM provisioned links of preferred link structure are represented as
bitmap of type wlan_link_band_caps enum. Hence, replace the datatype
'enum wlan_link_band_caps' with 'uint16_t'.

Change-Id: If6cdaf5b12a9bd8b06050db67464fb4db642883b
CRs-Fixed: 3429430
2023-03-10 16:11:43 -08:00
Neha Bisht
80ee0f60c6 qcacmn: Add support for primary TQM migration
Add support for primary TQM migration.

Change-Id: Ifd62eb7e731bbd9e86c462642fd2e20d50d5495a
CRs-Fixed: 3410900
2023-03-10 16:11:33 -08:00
Basamma Yakkanahalli
031d51614e qcacmn: Add DBR support for standalone sounding CBF CV data
Added change,
1. Define new DBR module DBR_MODULE_CBF to handle TxBF
   standalone sounding CV data and corresponding ring
   initialization.
2. API to extract new meta data TLV added for CV data.
3. API to handle standalone sounding complete.

Change-Id: Id28c5561bb8b3bf08de7ddd9aa2365e2ae99f1c2
CRs-Fixed: 3415627
2023-03-10 00:44:21 -08:00
Hariharan Basuthkar
aecdfaa78a qcacmn: Rectify 20 MHz opclass check
When the CLI command wifitool athX disable_opclass_chans is executed
with a valid 20 MHz operating class, the command throws an error,
"Opclass should only be 20 MHz opclass" on the console.

The opclass passed as an argument to reg_enable_disable_opclass_chans,
which is greater than 20 MHz in value, makes the API reg_is_20mhz_opclass,
always return false.

To fix the issue, pass channel spacing (in MHz units) as an argument to
the 'reg_is_20mhz_opclass'. Also rename 'reg_is_20mhz_opclass' to
'reg_is_chanspacing_20mhz' as we are verifying if the channel spacing
of an opclass is close to 20 MHz; not verifying the opclass itself.

Change-Id: I198b4d90c68613210377b96f6836c5b8c810dc7f
CRs-Fixed: 3410934
2023-03-09 15:43:22 -08:00
Namita Nair
f27ac75cff qcacmn: Fix inc/wlan_ipa_core.h documentation
Fix documentation issues in inc/wlan_ipa_core.h
identified by kernel-doc script.

Change-Id: Ibd4867f8553326078d08f2fde9469ee74a1ec963
CRs-Fixed: 3424480
2023-03-09 12:58:36 -08:00
Parikshit Gune
5106bd66b4 qcacmn: Set PPEDS src info in WDS ext mode
For WDS ext mode in MLO cases, all the link peers
should get the the newly created VP as src info
for DS peer routing.

Change-Id: I0811f9403819c3ed204799e167994ecb3d60cf96
CRs-Fixed: 3425239
2023-03-09 06:33:11 -08:00
Devender Kumar
91624e52ba qcacmn: Add DP interrupt mask to support 16 MSI
pinnacle support 16 MSI value, add dp interrupt
mask assignment till 16 msi_data_count.

Change-Id: Ie7ea25d14ff6260d6ab8933ec216caa5fdfed668
CRs-Fixed: 3419264
2023-03-09 06:33:01 -08:00
nobelj
8c72eb9696 qcacmn: Add hal api to set word mask
Add hal api to set tx monitor word mask

Change-Id: I4eb365b3a7d4f83edcb20146951daf0d5af3d68d
CRs-Fixed: 3421500
2023-03-09 00:41:24 -08:00
Parikshit Gune
ba18ce8164 qcacmn: Setup DS VP on FW recovery
On FW recovery, do not allocate a new VP and use
the existing profile to setup DS VP

Change-Id: I330613fa104c51becc1018750edf91d8055edb01
CRs-Fixed: 3427382
2023-03-08 23:01:59 -08:00
Paul Zhang
f453c827cb qcacmn: handle MBSSID IE for critical update
With the MBSSID IE, it has to generate the corresponding
beacon and probe response frames. Then handle the generated
frames per critical update feature.

Change-Id: Iff3fdb3a335a98d9ed7e51957885e2f161069807
CRs-Fixed: 3376521
2023-03-08 21:10:24 -08:00
Jinwei Chen
a3d8c8606d qcacmn: Add WBM2SW ring descriptor structure symbol
Add WBM2SW ring descriptor structure symbol for KIWI,
this is helpfu for WBM2SW revelant issue debugging.

Change-Id: I81f9029ae47026f5530481b2de3c60502a15acc6
CRs-Fixed: 3427974
2023-03-08 21:10:15 -08:00
Karthik Kantamneni
84731a352a qcacmn: RHINE architecture specific HTT changes
Add HTT changes which are specific to RHINE architecture.
Some of the changes like dedicated TX endpoint service,
fastpath implementation and few other message handling
is different in RHINE. Current change add support for
RHINE specific HTT implementation.

Change-Id: I90c2d1d66cdadc5935e6b819e3f19e635c45cb51
CRs-Fixed: 3382915
2023-03-08 17:24:42 -08:00
Jinwei Chen
c2c0f7f7f9 qcacmn: Support REO2SW ring pointer update threshold configuration
Support REO2SW ring pointer update threshold configuration,
it is helpful for PCIe utilization improvement.
timer based threshold - M: issue pointer updates when M micro
seconds has elapsed.
number based threshold - N: issue pointer updates when N entries
updates occur.

Change-Id: I49ed388520fd52e97e303d6ea9c04ced6cb5cf5f
CRs-Fixed: 3420101
2023-03-08 17:24:33 -08:00
Venkateswara Naralasetty
c66b8677cf qcacmn: add new counter to fisa stats
Add a new counter inccorect_rdi to fisa stats to log incorrect reo
destination indications in fisa processing.

Change-Id: I785ad90ae1d36b2f6b9b1888373a29fcbd65348e
CRs-Fixed: 3426537
2023-03-08 14:21:24 -08:00
Sheenam Monga
9567fe0031 qcacmn: Fix reg_get_min_max_bw_on_cur_chan_list kernel doc
The kernel-doc script identified some documentation issues in
the doc of reg_get_min_max_bw_on_cur_chan_list, so fix those
issues.

Change-Id: I5f720706b8c744f39d4ad6f6dbd6e722c3d53096
CRs-Fixed: 3409405
2023-03-08 12:27:52 -08:00
Shreedhar Parande
60919a5e84 qcacmn: Add APIs to create bridge peer
Add APIs to create bridge peer. Register call
back for the same to handle bridge peer
creation.

CRs-Fixed: 3416877
Change-Id: I51d8f023576c93121e42d54243721edbf705e6b4
2023-03-08 12:27:42 -08:00
Yu Tian
3cbef591fb qcacmn: Fix napi_complete function call limitation
napi_completion could stop NAPI re-queue only if
returned budget is small than limit budget. WLAN
driver IRQ affinity change would force NAPI complete.
In some cases, RX is in busy loop, RX NAPI could be
queued to more than one CPU NAPI polling list, which
will lead system crash. This change is aimed to make
sure that returned budget is smaller than the limit.

Change-Id: I1b93596b8afc3ee09c4caeceb7a7ba98c4bed4d1
CRs-Fixed: 3420953
2023-03-08 12:27:33 -08:00
Pavankumar Nandeshwar
e93182a1b2 qcacmn: Do not allow Umac reset in DS mode
Do not send prerequisite htt message informing
support of Umac reset feature to firmware
if DS is enabled

Change-Id: I1272579a3079e126b81a3b324009f6f32c65a904
CRs-Fixed: 3425584
2023-03-08 09:29:23 -08:00
Kenvish Butani
bad3898323 qcacmn: Ini and Config command Support for MLO Link Peer Stats
Add support to enable/disable MLO Link Peer stats through
ini and cfg80211tool enable_ol stats command

Change-Id: Id1229a149befa416d060e1b07eee150e6b295abf
CRs-Fixed: 3397721
2023-03-08 07:43:00 -08:00