Commit Graph

19715 次程式碼提交

作者 SHA1 備註 提交日期
Santosh Anbu
32d27588db qcacmn: Update mon dst interrupt from INI
Add change to update monitor destination ring interrupt handling
thresholds from INI.

Change-Id: Ibfced2b809ac2101171e8fe9f58e021a5a1f8ccf
CRs-Fixed: 3569507
2023-07-27 04:50:58 -07:00
Jianmin Zhu
830e468aa1 qcacmn: Add OUI config to send SMPS frame along with OMN for specified APs
Add gActionOUISendSMPSFrameWithOMN to send SMPS frame along with OMN for
specified IoT APs

Change-Id: Ida35779d11f9c6d6340afdbebeb788520fa7afdc
CRs-Fixed: 3568462
2023-07-27 04:50:43 -07:00
Santosh Anbu
ba59a82e83 qcacmn: Support INI cfg for mon dst interrupt
Monitor destination ring interrupt processing is configurable.
For improved CPU utilization the batch counter threshold and
timer threshold is updated and also an option is provided to make
this values configurable through INI.

Change-Id: Ibe671927f53f3e8fac7f17540c21a2c7edae427b
CRs-Fixed: 3569505
2023-07-27 04:50:29 -07:00
Santosh Anbu
436efcf19a qcacmn: Remove unused ini cfg for monitor
Removed unused cfg variable and related function specific to monitor
path.

Change-Id: I906d1a2a50779ac5cae287355a9acaf5b70e479b
CRs-Fixed: 3569504
2023-07-27 04:50:16 -07:00
Namita Nair
a8d48da111 qcacmn: Handle OPT_WIFI_DP during IPA pipedown
Currently if OPT_DP filter reserve or add request
is received during IPA pipe disconnect, the request is
not rejected. This could cause a race condition when
WIFI is disconnected while OPT_DP transfer is initiated.
This change handles this scenario by rejecting the
OPT_DP request when pipes are going down.

Change-Id: I8ec9e2e50917ef6ec3a07f9e1833303d94134c6c
CRs-Fixed: 3520707
2023-07-26 21:25:13 -07:00
Shreedhar Parande
10000aedc1 qcacmn: Add API to get primary VDEV from ML peer
Add API to get primary VDEV using primary link peer.

Change-Id: I309070bf33bdae017f174b00ae5eea3d34292a97
CRs-Fixed: 3570511
2023-07-26 21:25:03 -07:00
Jeff Johnson
9ce54cdba4 qcacmn: Fix dp_tx_tso_num_seg_pool_init_by_id() stub
The dp_tx_tso_num_seg_pool_init_by_id() stub implementation has an
incorrect semicolon, so remove it.

Change-Id: Ie70aafdb83116e3e3fb7bd96223b0c770e80eb7f
CRs-Fixed: 3500205
2023-07-26 21:24:51 -07:00
Vinod Kumar Pirla
160f06923c qcacmn: Call OSIF callback to update BSS info on each link
Notify OSIF about each connected link once assoc VDEV connection
is completed, call the ops callback registered while filling
kernel data structure for each link.

Earlier post connection each VDEV's OSIF callback is called to notify
individually, but this leaves the OSIF unaware of standby link details
as the standby link doesn't have VDEV associated with it.

Change-Id: I027b91d02bdc4412400a7e66f11911da149e672b
CRs-Fixed: 3556378
2023-07-26 10:53:07 -07:00
Vinod Kumar Pirla
1049b376f7 qcacmn: Introduce OSIF ops callback handler pointers
The ops are called on BSS info to be updated to OSIF and
to call for MAC address update on particular VDEV

Change-Id: Ib7b07e6ea2927c365298555ed6f24377127ddd4a
CRs-Fixed: 3556338
2023-07-26 10:52:56 -07:00
KARTHIK KUMAR T
63bf6f5d07 qcacmn: Added code to include rx packet tlv hdr
Added code to include rx_pkt_hdr_tlv in
rx packet tlvs header

Change-Id: I0609cf94e3b53cf625f7c347d86e42fe815e452e
CRs-Fixed: 3563009
2023-07-26 10:52:45 -07:00
Vinod Kumar Pirla
356ed4f407 qcacmn: Use ml dev context to deinit epcs ctx
The MLO dev context in VDEV is already made to NULL as
part of VDEV destroy and dereference of MLO dev ctx from
VDEV results in NULL pointer exception.

Change-Id: Idbbd625998aa09194ca533b0c8df2fd8e6d16d76
CRs-Fixed: 3570602
2023-07-26 10:52:34 -07:00
Deeksha Gupta
d47c717a77 qcacmn: Fill connect response MLO params from mlo_mgr
After mlo connection is completed driver send the connect resp event
to kernel. As of now, driver gets the ML param info from the assoc_rsp IE.
For stand_by link, driver don't have vdev. Due to this, driver can't send the
stand_by info to kernel.

Fix is, instead of assoc_rsp IE driver will use mlo_mgr to get the links
information.

Change-Id: I8da762bed94de4ad2b024183c09b3d0a0f1b7ca4
CRs-Fixed: 3530712
2023-07-26 04:40:24 -07:00
Priyadarshnee Srinivasan
eeeb952b15 qcacmn: Address incorrect radarfound frequency computation
In Pebble (11BE qcn6432 chip), the radar-found frequency is
incorrectly computed in the current implementation as
dfs_translate_radar_params is executed.
The translation function (dfs_translate_radar_params) which 
alters the frequency offset is needed for pre-11BE chipsets.
For 11BE chips where
wmi_service_radar_found_chan_freq_eq_center_freq
service is advertised by HALPHY, the frequency translation is not
needed as the offset sent by FW in wmi_dfs_radar_detection_event_id
can be directly used.

CRs-Fixed: 3562464
Change-Id: I824b94ca764d6bd62a67feb38ba3ccc966999e90
2023-07-26 04:40:12 -07:00
Vijay Raj
277510a529 qcacmn: Introduce vdev parameter WMI_VDEV_PARAM_DISABLE_2G_TWT
Introduce new vdev parameter WMI_VDEV_PARAM_DISABLE_2G_TWT
in order facilitate  FW to change twt operation state for
2.4 GHz link

Change-Id: I35436245c5e0ee113a8fdc2edba42a7978b2683d
CRs-Fixed: 3560314
2023-07-25 22:29:44 -07:00
Shreedhar Parande
5daab8f6cd qcacmn: Add APIs to get EML and STR capabilities from ML Peer
Add APIs to retrieve eMLSR, eMLMR and STR capabilities of
connected non-AP MLD.

Change-Id: I1c4b11cfebef6a9b315baf9044355caab1b112de
CRs-Fixed: 3525298
2023-07-25 15:22:25 -07:00
Liangwei Dong
1e58e42dba qcacmn: Fix duplicated Short SSID entry issue
If bssid and short ssid is present in the rnr list,
do not add duplicated entry.

Change-Id: Ic2f3b2396cd087601cf72aad8b4fdf81188d064e
CRs-Fixed: 3554848
2023-07-25 15:22:15 -07:00
Sushant Butta
8b9b8a9a16 qcacmn: Add check to validate length of packet buffer
Add check to validate length of the packet
buffer before adding to skb.

Change-Id: I78cf436c4bf6a00b1aa08ef82cb790c2b3478733
CRs-Fixed: 3553974
2023-07-25 15:21:59 -07:00
Balaganapathy Palanisamy
9d048b9e4d qcacmn: Add MLO bridge vdev APIs
Add MLO bridge vdev APIs to support 4 chip
RDP STA associations.

Change-Id: Iea4c4e3301bc29d470144d5ae0964bb80f2ae68d
CRs-Fixed: 3560194
2023-07-25 03:19:04 -07:00
Hariharan Ramanathan
ab649e0622 qcacmn: Featurization of DP_TX_DESC_POOL_OPTIMIZE
1. In lowmem profiles the number of tx_desc in 4th pool is reduced to
quarter for memory optimizations.
Added new API dp_get_updated_tx_desc which will return the desc value
from INI based on the flag DP_TX_DESC_POOL_OPTIMIZE.

2. Changes to introduce new INI to get reduced desc value for 4th tx
desc pool.

This helps optimize 0.75M per SOC in lowmem profiles.

Change-Id: I033fcaeb843019fb03bb77e0d05a3ebf60fa806a
CRs-Fixed: 3557483
2023-07-25 00:19:37 -07:00
Arun Kumar Khandavalli
4c2b8d81e4 qcacmn: Reject partner link connection in case of IE parsing failure
Currently while updating the mlo vdev flag host checks whether the
mlie is present, this vdev flag is used to send various ml information
to firmware. In certain cases because of issue due to parsing of
ml probe response or AP issues mlie is not present in the partner link
entry, resulting in host sending ml flags for assoc vdev and not setting
ml flags for partner vdev's resulting in undetermined behaviors in
firmware.

If mlie is not present during the partner link association stay associated
on the available links.

Change-Id: I3134555dc955ffc96a50584c2cfc6713b2673cc4
CRs-Fixed: 3555133
2023-07-25 00:19:26 -07:00
Guru Pratap Sharma
25d2ff265a qcacmn: Adding lock in case of epcs context
Adding lock in case of epcs context to achieve mutual exclusion

Change-Id: Ib3e99b5f39eca01c62d32927942e99958320007a
CRs-Fixed: 3568561
2023-07-25 00:19:15 -07:00
Amit Mehta
ca46c1b02d qcacmn: Add changes to get link_id in reo error path
Add changes to get link_id in reo error path.

Change-Id: Ia0ac59318b992be97be5ae15a8e111a730866609
CRs-Fixed: 3566184
2023-07-24 15:51:19 -07:00
Jeff Johnson
26eceff0f7 qcacmn: Fix hif_cleanup_static_buf_to_target() typo
Function hif_cleanup_static_buf_to_target() has multiple
implementations, with one chosen by conditional compilation. The
version where CONFIG_BYPASS_QMI is defined and QCN7605_SUPPORT is not
defined has a typo (snc instead of scn), so fix it.

Change-Id: Ifbfee8cb53e987216b46507e336bf3aa3de7bf6c
CRs-Fixed: 3500203
2023-07-24 15:51:00 -07:00
Santosh Anbu
5faea3c76b qcacmn: Skip link ready when vdev is already UP
In scenarios when two partner vdevs are brought up simultaneously, as part
of moving to start_response or sync_wait mlo_ap_lock is acquired.

For a given vdev not moving to CAC wait, link ready can be posted twice,
which will lead to rcu stall if partner vdev is already trying to dispatch
sync_complete event.

Hence skip the link ready event if the vdev is already in UP state.

Change-Id: Ie3d2c4078ebced3538f3fea08d5b798837534725
CRs-Fixed: 3555092
2023-07-24 08:00:46 -07:00
Sai Rupesh Chevuru
2876ec5043 qcacmn: update the bridge vap in partner list
update the bridge vap in partner list

Change-Id: I232314d4a91768bc5bbade3285ab925dd834d03f
CRs-Fixed: 3550189
2023-07-24 05:10:29 -07:00
Mukul Dhiman
fe14b1901b qcacmn: dp stats aggregate handling for bridge vap in mlo
dp stats aggregate handling for bridge vap in mlo

Change-Id: I4bb934776a35f76b091694de024b173c744ac087
CRs-Fixed: 3557225
2023-07-24 05:10:18 -07:00
Aasir Rasheed
aa6e9e0e0f qcacmn: Add support for remote channel width 320 MHz
Currently, We are using GET_STATION_INFO_REMOTE_CH_WIDTH
attribute for remote channel width which is using u8 for
storing the channel width info. However, for 320 MHz there
is a need to use u16 attribute to store the channel width
info.

This change is to preserve old interface and use new
interface to store u16 attribute for remote channel width.

Change-Id: I01eb246c380a6155d0d96032549eee53a877cb2a
CRs-Fixed: 3567663
2023-07-23 17:10:00 -07:00
Deeksha Gupta
ff999acd60 qcacmn: Add support to get the TDLS wider bandwidth capability
Extend bitwise mask in enum qca_wlan_tdls_caps_features_supported to get
the TDLS wider bandwidth capability from the driver.

Change-Id: I7e7209f72c7d8db3ac06ecafdfe91deb7438e1b2
CRs-Fixed: 3552602
2023-07-23 17:09:50 -07:00
Aasir Rasheed
dd8d3c5a69 qcacmn: Fix typographical errors for kernal-doc
Fix typographical errors required for kernal-doc.

Change-Id: Ifa490697222cf08a4140feb39d2da3b127bd8887
CRs-Fixed: 3565219
2023-07-23 17:09:40 -07:00
Karthik Kantamneni
f243b44719 qcacmn: Fix Runtime PM resume issue for ipci interface
For ipci interface platforms, currently RTPM resume is
requested from CE interrupt handler even when suspend
is in progress. But ideally we should request resume
only RTPM state is in suspended, since as part of suspend
sequence also we will get CE WOW events and this should
not trigger resume.

Fix this by requesting resume from CE interrupt handler
only when driver state is suspended.

Change-Id: I450d6c48809afae26fe863184766ab5141d25691
CRs-Fixed: 3554857
2023-07-23 17:09:30 -07:00
Srinivas Girigowda
70d7e0a2bc Revert "qcacmn: Debug patch for delay reg queue corrupt"
This reverts Change-Id:Ib14634fe31bfdae86aac6c89e5d65618ae5c753e.

CRs-Fixed: 3568037
Change-Id: I8426812fd071bf41a15e1ebb776beeb6da865a00
2023-07-23 17:09:19 -07:00
Krunalsinh Padhar
3d44d3fb6f qcacmn: force non-assoc link as primary for single soc
In force non-assoc link as primary case, If MLD is within single SOC, then
stop assoc link to become primary umac and allow the non-assoc link as
selected to be the primary umac.

CRs-Fixed: 3564005
Change-Id: I3f2d681ccacd9e449c1f1b74fa9df23429c11a1c
2023-07-22 03:57:21 -07:00
Arun Kumar Khandavalli
ca7419851a qcacmn: Invoke the objmgr destroy handlers in reverse order of creation
Invoke the object manager destroy handlers in reverse order of creation,
MLME creates the vdev 1st and all the handlers are invoked, during
destroy as well the vdev is deleted 1st and destroy handlers are invoked
later.

Any handlers dependent on the vdev object will have issue, so invoke
the handlers in the reverse order of creation and delete the vdev
last.

Change-Id: Ib15507464f78a436c96a0910e2af0307a3d711fb
CRs-Fixed: 3565425
2023-07-22 03:57:11 -07:00
Aasir Rasheed
cc94ae4317 qcacmn: Add crypto api's for individual link
Currently crypto module is using vdev to get
and delete the crypto key, However there is a need to get
and delete the crypto key based on psoc level.
The change is to use psoc handler for retrieving and deleting
the key.
Change-Id: I4fcf0fd5c7d9d5a579c092c43117594f7d9fc6a3
CRs-Fixed: 3561978
2023-07-21 16:50:50 -07:00
Aasir Rasheed
0c2398d0c5 qcacmn: Store keys based on psoc level
Currently, we are storing keys based on vdev object.
However, with n link mlo there is a need to store keys
based on psoc level.
This change is to store keys based on psoc level.
Change-Id: I457704ce40ed450516b0a99b4021b68df112a600
CRs-Fixed: 3565184
2023-07-21 16:50:42 -07:00
Aasir Rasheed
a78a9c13e0 qcacmn: Remove unnecessary code
This change is to remove unnecessary
code. Earlier this change was required for
partner link.
Change-Id: I8a217d3e81d395ae2eaf3d7b1641af83f3e95526
CRs-Fixed: 3565193
2023-07-21 16:50:34 -07:00
Aditya Kodukula
e382b8c781 qcacmn: Fix arguments of QDF_MAC_ADDR_REF to avoid compilation failure
Currently in driver while using QDF_MAC_ADDR_FMT to print mac
address, the mac address reference provided to QDF_MAC_ADDR_REF is
incorrect in some cases and it can cause compilation failure.
So, fix all such instances.

Change-Id: I31aa5abddc3c207b2fd2eb823ac2000f5ed3f0a6
CRs-Fixed: 3563985
2023-07-21 16:50:24 -07:00
Hariharan Ramanathan
5ec64fb74d qcacmn: Featurization of DP_TX_EXT_DESC_POOL_OPTIMIZE
This flag DP_TX_EXT_DESC_POOL_OPTIMIZE if enabled will reduce the number
of ext tx desc pool to 1.

1. Changes done to split the tx_desc and ext_tx_desc pool number
variables in alloc and free path. Based on this flag the reduced
ext_desc_pool count will be returned.

2. In Tx path, since the pool id is selected based on the CPU, changes done
to override the desc_pool_id of ext_desc_pool via new API
dp_tx_ext_desc_pool_override to 0 with which from whatever core the packets
comes from, pool 0 will be chosen for ext_desc.

Change-Id: Iae8bf9952a136ba2c55256d8f305b6d5fbde5d83
CRs-Fixed: 3552532
2023-07-21 16:50:14 -07:00
Abhishek Singh
68e0b883b4 qcacmn: Print all the remaining scan req params
Print all remaining scan req params while printing scan req.

Change-Id: If81ff0fd12a65e207576254bd787fa8711088269
CRs-Fixed: 3566116
2023-07-21 16:50:03 -07:00
Gaurav Saini
552bef7535 qcacmn: Moving peer find function in common path
peer find by mac function is getting used by
many components. so, Movng that to common path.

Change-Id: I390b86af73618661857ed80d478fe4f48bee9fe1
CRs-Fixed: 3563204
2023-07-21 10:23:45 -07:00
Deeksha Gupta
e5a70728b5 qcacmn: Add documentation and nested attribute enums for existing QCA TDLS commands
Add missing documentation and nested attribute enums for the existing
QCA TDLS vendor commands.

Change-Id: I624ed1098d2b51958296a581219d25bddfa2d677
CRs-Fixed: 3552603
2023-07-21 01:17:19 -07:00
Karthik Kantamneni
b965b762b1 qcacmn: Fix race with F.W in updating CE control register
In current case when RRI on DDR feature is enabled then host
programs CE control register, but there is chance of F.W also
programming the CE control register around same time this leads
to race and chance of either host/F.W value getting over written.

So to avoid this while programming the CE control register for
RRI on DDR enablement, update it with F.W programming value also
i.e DMA length. So if incase register value over written due to
race proper value will be updated to register either by host/F.W.

Change-Id: I2560c74726b21128d1cd50805d987fda1b2a1230
CRs-Fixed: 3561689
2023-07-21 01:17:09 -07:00
Mohan Prabu
089380cefb qcacmn: Update cfg80211_ch_switch_notify() to kernel_6.x
Introduced new macro CFG80211_PUNCTURING_SINGLE_NETDEV_API
to be used if we want to pass puncture bitmap as an argument
to kernel, else disable it.

Change-Id: I136e09d547bc14e57be5ee0b026a51f0d6e4a525
CRs-Fixed: 3487912
2023-07-21 01:16:58 -07:00
Jia Ding
f3fcb9b56e qcacmn: Initialize ipa_mapped to 1 in soc attach
Two SMMU issues are seen on IPA domain with regard to RX.
1. map without unmap
2. Buffers not mapped into IPA.

With If198a6c5f22af58fdaf9d9c020c74b1f76002e37, mapping
RX buffers to IPA domain are deferred to IPA enable pipes
phase with soc->ipa_mapped flag check added. This leads
to a race window where RX packets are routed to WLAN Host
first with soc->ipa_mapped still being 0. In such case, RX
buffers handled by WLAN driver will neither unmap from IPA
domain nor map into IPA domain.

For !ipa_config_is_opt_wifi_dp_enabled(), fix is to set
soc->ipa_mapped to 1 earlier in soc attach phase instead of
IPA enable pipes phase. With this fix, RX buffers can be unmapped
from IPA domain and mapped to IPA domain in dp_pdev_rx_buffers_attach()
and dp_pdev_nbuf_alloc_and_map_replenish() in WLAN host RX path so
as to avoid above two SMMU issues.

Change-Id: Idcb86db99f522959b639865f77178cd47a234277
CRs-Fixed: 3560191
2023-07-20 19:19:34 -07:00
Manikanta Pubbisetty
e2b9779df7 qcacmn: Add WBUFF statistics
Currently, there are no statistics whatsoever present in WBUFF module.
To start with, add some basic statistics to the WBUFF module.

Change-Id: I63c06cfb8b1430b2e86539f88025e6d74a00012b
CRs-Fixed: 3548509
2023-07-20 19:19:23 -07:00
Sai Pratyusha Magam
799450bbce qcacmn: Changes for 11az related security params
Changes for 11az related security params.

Change-Id: I28414f046ec7aa01152df605a6c4f99d243ff587
CRs-Fixed: 3560800
2023-07-20 19:19:13 -07:00
Ripan Deuri
16b711679f qcacmn: Enable SCS rule config for SAWF
Enable SCS rule config for SAWF.

Change-Id: Ia4e1b72075b7b50317ec5e1d6fd95b80f557d713
CRs-Fixed: 3554761
2023-07-20 19:19:02 -07:00
Pragaspathi Thilagaraj
50de05c257 qcacmn: Add support to enable CFR for EVROS
Add support to enable CFR for EVROS

Change-Id: Ie6feea940d40b04d54058d662116deb2b6972a5e
CRs-Fixed: 3528559
2023-07-20 01:12:16 -07:00
Venkateswara Swamy Bandaru
ba8e167b7a qcacmn: Add API get vdevs of peer
Add API to get vdevs per link of MLO peer.

Change-Id: I02aab17424b1f6b98868347291de98f082b267a5
CRs-Fixed: 3560163
2023-07-20 01:12:05 -07:00
Yu Tian
f2211bb521 qcacmn: Debug patch for delay reg queue corrupt
Add ring_id check for potential srng pointer corruption.

Change-Id:Ib14634fe31bfdae86aac6c89e5d65618ae5c753e
CRs-Fixed: 3549490
2023-07-20 01:11:55 -07:00