提交图

18788 次代码提交

作者 SHA1 备注 提交日期
Devender Kumar
148d0de3e5 qcacmn: Add support for pmac_id in IPA driver
To support splitphy and MLO operation when multiple
TX ring are present under single soc, then to differentiate
the TX lmac, pmac id in per packet is require. As pmac_id in
bank register is always constant for pinnacle case, so need
to pass per packet in TX desc.

Change-Id: I8e5a832700770274e68bf8a04e97675386184545
CRs-Fixed: 3356413
2023-03-17 01:41:35 -07:00
Devender Kumar
905bc10886 qcacmn: Add support for pmac_id in QDF layer
To support splitphy and MLO operation when multiple
TX ring are present under single soc, then to differentiate
the TX lmac, pmac id in per packet is require. As pmac_id in
bank register is always constant for pinnacle case, so need
to pass per packet in TX desc.

Change-Id: Ic6d8e14e8c1948e218c52c8eeaf99fcd6c437753
CRs-Fixed: 3356413
2023-03-17 01:41:16 -07:00
Shashikala Prabhu
56160b1881 qcacmn: Add API to print UMAC reset stats
Add API to print UMAC reset and MLO UMAC reset related  stats.

Change-Id: I0925cb8df74a9d33633d180a4cbecd11856d67a5
CRs-Fixed: 3425706
2023-03-16 23:59:18 -07:00
Rachit Kankane
d458f39acf qcacmn: Add support for STA+GO DFS scc in VDEV MGR
Add variable and get / set APIs in VDEV mgr for STA + SAP / GO DFS SCC
scenario to track SAP / GO's channel switch before STA's channel switch

Change-Id: Ie13291602a5888942c71e3882c72796c7ea47378
CRs-Fixed: 3431360
2023-03-16 20:52:33 -07:00
Santosh Anbu
ea42206e31 qcacmn: York Scan radio monitor mode bringup
Initial changes for York scan radio bringup in monitor mode.

Change-Id: I99c9a6eea4c9bf2255b92975e3862500d31c2f1d
CRs-Fixed: 3421410
2023-03-16 19:02:36 -07:00
Uraj Sasan
f5553f82ef qcacmn: Fix logical_link_index for STA vaps
There was a case in which the logical_link_index for link vdev and
partner vdev was matching which was causing an issue.

The reason for duplicate logical link was because the mlo_link_connect
was not sent in same order in which partner link vdevs are added.

Send mlo_send_link_connect in order in which partner links are added.
This will ensure generation of logical link indices for link vdev
and partner vdevs correctly.

Change-Id: I4053fad7a7b615bca9b6386bf142ea785bca5ccf
CRs-Fixed: 3427985
2023-03-16 15:35:08 -07:00
Nandha Kishore Easwaran
399283c30b qcacmn: Set fragment flag for reinjected packet
Set fragment flag for packet reinjected to reo reinject ring.

Change-Id: I5baf2d459811d64fa795846779ff51aa14b3c845
CRs-Fixed: 3424755
2023-03-16 13:50:53 -07:00
Neha Bisht
1c335ff769 qcacmn: Fix for mac address in WDI_EVENT_PEER_PRIMARY_UMAC_UPDATE
Fix for mac address in WDI_EVENT_PEER_PRIMARY_UMAC_UPDATE

Change-Id: I06b51bbcccff17e0e2665200c5961af3d63cd59c
CRs-Fixed: 3432531
2023-03-16 13:50:43 -07:00
Himanshu Batra
21a548ada6 qcacmn: Rename WLAN_TELEMETRY_STATS_SUPPORT to WLAN_CONFIG_TELEMETRY_AGENT
Rename telemetry agent macro WLAN_TELEMETRY_STATS_SUPPORT to
WLAN_CONFIG_TELEMETRY_AGENT

Change-Id: I9b2feb33b32daf56e584ae04f260749c358c8ea4
CRs-Fixed: 3425567
2023-03-16 13:50:32 -07:00
Manikanta Pubbisetty
4971375b9a qcacmn: Add HAL changes for TX completions on WCN6450
Add HAL changes required to parse TX completions on WCN6450.

Change-Id: Ice5fdf9ef52d9bf8680976c9e765922a28c1c97a
CRs-Fixed: 3381815
2023-03-16 13:50:22 -07:00
Manikanta Pubbisetty
8d58a4e757 qcacmn: Add TX enqueue logic for WCN6450
Implement TX enqueue logic for WCN6450. There are no host facing
UMAC HW blocks in WCN6450. Driver enqueues all TX packets to
copy engine (CE) over the copy engine channel that is mapped to
HTT_DATA2_MSG_SVC service.

Changes are specific to WCN6450 and hence implement the logic
in the arch specific code.

Change-Id: Ia366a74b94a4e84c1d4c037c7a99093bb6739178
CRs-Fixed: 3381755
2023-03-16 11:19:41 -07:00
Manikanta Pubbisetty
cd50866740 qcacmn: Handle flow map/unmap HTT messages for WCN6450
In the case of WCN6450, sizes of the TX descriptor pools are not known
to the driver during load time. The sizes are shared by the firmware
post VDEV creation via HTT_T2H_MSG_TYPE_FLOW_POOL_MAP HTT message.
After the VDEV gets deleted in the firmware, a corresponding flow unmap
HTT message will be sent to the driver to clean up the TX descriptors
of a particular VDEV.

Add logic to handle the flow map/unmap HTT messages for WCN6450. These
messages are specific to WCN6450 and hence the logic is implemented in
arch specific HTT code.

Change-Id: I8edcabbec77abae2c238f487acb7a48b478fd149
CRs-Fixed: 3381751
2023-03-16 11:19:31 -07:00
Asutosh Mohapatra
7770f21a7a qcacmn: Send link stats command over QMI for moselle
Currently host sends WMI_REQUEST_LINK_STATS_CMDID for
SAP over WMI to fw and as fw doesn't support this command
over WMI for moselle it does forced assert.

To address this issue send WMI_REQUEST_LINK_STATS_CMDID
command over QMI to fw for moselle.

Change-Id: I03c9daee1d561d69bb5caf195f8e06ce5e4a72fc
CRs-Fixed: 3394792
2023-03-16 09:30:25 -07:00
Manikanta Pubbisetty
6758a546bc qcacmn: Add TX descriptor changes for WCN6450
WCN6450 is a chip based on Rhine architecture. Unlike LI/BE targets,
chipsets based on Rhine (RH) do not have host facing UMAC HW blocks.
Their corresponding SRNG interfaces are also removed. The functionality
of these UMAC HW blocks is replaced with a software implementation in
the firmware. Communication between the driver and firmware will happen
over copy engine (CE).

Although there are no host facing UMAC HW blocks, the CE hardware used
in WCN6450 expects the host driver to use the TX descriptor (HW) format
of LI targets during TX packet enqueue. Therefore it is required to
create a new pool of TX descriptors (HW) pool for WCN6450 that is used
during TX.

The logic to create/free/init/deinit these descriptors is specific
to WCN6450/Rhine, therefore it is implemented in architecture specific
Rhine code.

Introduce new APIs in struct dp_arch_ops {} to allocate and free
arch specific TX descriptors. These ops will be no-op for LI/BE
architectures.

Also for Rhine targets, allocate/free other TX descriptors like TX EXT &
TSO descriptors as part of the arch APIs.

Change-Id: I452ac69143395881ab8580355a0f75571dc3e929
CRs-Fixed: 3381711
2023-03-16 09:30:15 -07:00
Aravind Kishore Sukla
c60807a9c9 qcacmn: Remove ie len check for SON_IE_LEN
SON IE length check drops some of the AP beacon or probe
response due to length mismatch.

As length may increase for some of APs. Remove check for
ie len of WLAN_VENDOR_SON_IE_LEN

Change-Id: I74add7ea539913f67bf7d11e2ff8e4b0374eba05
CRs-Fixed: 3418249
2023-03-16 07:44:43 -07:00
Jeff Johnson
2aa96628ca qcacmn: Fix umac/wifi_pos documentation
The kernel-doc script identified some documentation issues in the
umac/wifi_pos folder, so fix them.

Change-Id: I261ecd11e8e15bac021214c2d9e0774f316d7ac7
CRs-Fixed: 3430355
2023-03-16 03:11:29 -07:00
Manikanta Pubbisetty
24a8216db2 qcacmn: Refactor TX descriptor alloc/free/init/deinit logic
Currently, memory for all kinds of TX descriptors (TX EXT,
TSO etc) are allocated/initialised at once during the driver
init and freed/deinitialised during the driver deinit.
This logic is not suitable for WCN6450.

In the case of WCN6450, the size of the TX descriptor pool is
not known to the driver during load time; Firmware provides
the size of the descriptor pool via HTT_T2H_MSG_TYPE_FLOW_POOL_MAP
message post VDEV creation.

In order to add the support of WCN6450, it is required to
refactor the TX descriptor alloc/free/init/deinit logic.

Changes will not have any impact on the other supported hardware.

Change-Id: Iaa66fd5e118f0486bd618394fad070502bac34a0
CRs-Fixed: 3381705
2023-03-16 03:11:18 -07:00
Nobel Sharanyan Jeganathan
799d46a277 qcacmn: invoke hal api to populate word mask
Added hal api to populate word mask

Change-Id: Ic13fdb1fa4104618d67f3f7aae25681951d78581
CRs-Fixed: 3422903
2023-03-16 01:33:31 -07:00
Sai Rupesh Chevuru
6d70bfb469 qcacmn: Do not hold reference of partner vdevs
Do not hold reference of partner vdevs,
As we are storing the vdev_id's.

Change-Id: I1f2bf4f66a4d31cbdefc405d398d03dd9580a2a1
CRs-Fixed: 3406135
2023-03-16 01:33:21 -07:00
Jeff Johnson
839714c413 qcacmn: Remove obsolete struct ol_pktlog_dev_t references
There are two references to struct ol_pktlog_dev_t even though the
struct itself no longer exists in the code. Remove those references.

Change-Id: Ibf94e86c44d9c84c6a51ee554b457878f0a0b7ba
CRs-Fixed: 3421798
2023-03-15 22:39:19 -07:00
Devender Kumar
f230d96802 qcacmn: Properly set WDI version for WIN chipset
Set WDI version based on SOC architecture, set WDI
version to IPA_WDI_4 for QCA_WIFI_QCN9224 chipset,
else IPA_WDI_3.

Change-Id: Ib80435e5098cfbcb9f90d4ac9cfe81ea183f308a
CRs-Fixed: 3383949
2023-03-15 22:39:08 -07:00
Santosh Anbu
d20a5a657c qcacmn: York Scan radio monitor mode bringup
Initial changes for York scan radio bringup in monitor mode.
Update monitor filter settings.

Change-Id: Ib9468f11b71d0439d0bd63526f64f454ed6b5b4d
CRs-Fixed: 3421412
2023-03-15 22:38:56 -07:00
Venkateswara Naralasetty
87fdda9166 qcacmn: hal API changes for wcn6450
Add generic HAL APIs changes for Rhine architecture under
hal/wifi3.0/rh/ which are generic across Rhine chipsets.

Add wcn6450 specific HAL API changes under hal/wifi3.0/wcn6450.

Change-Id: I0964e0f610faa402c00fb68e4c6e901a92f6d7a7
CRs-Fixed: 3383304
2023-03-15 22:38:45 -07:00
Venkateswara Naralasetty
bd07dadb15 qcacmn: hal changes for wcn6450
Changes required for hal attach for wcn6450.

Change-Id: I7953f14f168b570d598ff88fcdf1f5363e2d4d52
CRs-Fixed: 3383310
2023-03-15 22:38:34 -07:00
Devender Kumar
8e3fc021bf qcacmn: Add qdf_nbuf_fast_xmit() API
Some platforms support a skb_recycler feature which patches the Linux
kernel to add a bool fast_xmit member to struct sk_buff.
Add a QDF abstraction to return the value of this member when it is
supported, and return false when it is not supported.

Change-Id: I6dfe6276779218f4d0245ec44035b4aa596d0e2a
CRs-Fixed: 3418516
2023-03-15 20:59:36 -07:00
Chaoli Zhou
ddabd3eda4 qcacmn: Replace kzalloc/kfree with vmalloc/vfree
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 if CONFIG_ENABLE_VALLOC_REPLACE_MALLOC=y.

1 x 30488 = 30488B @dp_soc_attach:15189
1 x 52096 = 52096B @hal_attach:1104
4096 x 64 = 262144B @dp_rx_desc_pool_alloc:337

Change-Id: I57a6f78f690b5be1838de954933ae36129cea234
CRs-Fixed: 3426935
2023-03-15 20:59:27 -07:00
Aravind Kishore Sukla
a3a4e67eed qcacmn: Add check for buffer overflow and null pointer dereference
There is a chance for null pointer dereference for
num_eht_user_info_valid and array out of bounds for eht_user_info.

Add checks for both the cases as it may cause crash.

Change-Id: Icb5235612a1225b9991c99519b5ee49536c577bc
CRs-Fixed: 3426873
2023-03-15 17:41:32 -07:00
M Kavitha
9064b44469 qcacmn: Add support to receive EGID_INFO from BT WMI
Add WMI support to receive the EGID_INFO from BT and
forward to FW

Change-Id: I1698994173e6cefba1284f564c2f2e79e31ee221
CRs-Fixed: 3384085
2023-03-15 17:41:21 -07:00
Chaithanya Garrepalli
b57fbc13f4 qcacmn: Add umac callback to get MLO chip ID
Add new MLO mgr callback to return MLO chip ID

Change-Id: I214b600830991f846ded208b16ed2fb1407a5a28
CRs-Fixed: 3432589
2023-03-15 13:02:42 -07:00
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