Commit Graph

9606 Commits

Author SHA1 Message Date
Mainak Sen
eb011c8f02 qcacmn: Add cdp ops for MSCS feature
Add a new cdp datapath ops - mscs_ops for Mirrored
stream classification signalling feature. This function
will be invoked from ECM flow acceleration manager

Change-Id: I749623846395057b6ea8328c881efa8733700b0e
2020-10-05 17:50:29 -07:00
Vevek Venkatesan
69cfce2eca qcacmn: add cdp ops for IPA Tx buf smmu_unmapping
Add cdp ops for IPA Tx buffer SMMU-S1 unmapping.

Change-Id: Ia28509439c27d4b42353c55774926f245fd30abc
CRs-Fixed: 2789746
2020-10-05 17:50:26 -07:00
Vignesh Mohan
4ec0baa83f qcacmn: Initialize postNOL width to invalid
Initialize postNOL width to CHWIDTH_INVALID instead of 0 which
is mapped to CHWIDTH_20MHZ to avoid channel changes to HT20 mode
after NOL.

Change-Id: I684f38ddb0dc76cccfede74bd6424162407b378f
2020-10-05 09:29:38 -07:00
Aniruddha Paul
ec14dd22d8 qcacmn: DP histogram print fixes
This change fixes the below issue.
1. Clear the histogram statistics per peer.
2. Separate out the Tx/Rx histogram prints.

Change-Id: I5fc51f6bca14dc4c615c5501441e1a6b28bb0f02
2020-10-04 15:20:21 -07:00
Nirav Shah
0fb3541617 qcacmn: Add support to configure REO ring threshold
Add support to configure REO ring threshold through ini
for WLAN_DP_PER_RING_TYPE_CONFIG feature.

Change-Id: I02a14adcf243905ab25c2af12cb9499f32ff453f
CRs-Fixed: 2789147
2020-10-04 03:49:27 -07:00
Yeshwanth Sriram Guntuka
478749a365 qcacmn: Do RTPM put during cleanup when HTT ver resp is not received
For HTT h2t message which has a response from FW, runtime
get is done in HTC layer and the corresponding runtime_put
is done as part of the HTT response processing. In a scenario
where the HTT response is not received from FW or not processed
by host, runtime_put is not done as part of cleanup and panic
is triggered due to get/put imbalance.

Fix is to do RTPM put as part of htc cleanup when the HTT
response from FW is not received or processed.

Change-Id: I17ccb7c3e2293c95f5f233d36c6ef38a75733cce
CRs-Fixed: 2779113
2020-10-02 10:37:14 -07:00
Amruta Kulkarni
3213f64df6 qcacmn: Limit addition of 6ghz channels to scan request
Currently for STA mode, depending on the scan_mode_6g ini value
driver will remove or add 6g channels to scan req, due to which
in some cases, scan is taking more time to complete.
Fix is to add new value to enum scan_mode_6g, when scan_mode_6g
ini value set to SCAN_MODE_6G_NO_OPERATION driver will not
modify the channel list.

Change-Id: I5b6891f142b54f4fa2fe6e9a75bf5fbd2e5f3adc
CRs-Fixed: 2783911
2020-10-02 06:47:26 -07:00
suresh
d7655884fd qcacmn: Remove DA-Specific flags in DFS source code
DA_SUPPORT macro specific code changes are removed
in DFS source code. Also, remove DA_SUPPORT macro
reference in file wlan_global_lmac_if.c

Remove the compile time flag WLAN_DFS_DIRECT_ATTACH
and related souce code.

Other DA-specific code changes are also removed.

Change-Id: Id9fdf547efd0b0332173ac1349811171e4e6acec
2020-10-02 03:38:08 -07:00
Rajasekaran Kalidoss
9ba4f14c9a qcacmn: Add TWT wmi status code for already suspended session
The firmware sends a new status code to indicate an already suspended
TWT session. Update WMI_HOST_PAUSE_TWT_STATUS status code to represent
this state.

CRs-Fixed: 2786636
Change-Id: Id1fbdde8691084e408144454214d59c8ad532f9b
2020-10-01 23:58:41 -07:00
Abhishek Singh
8a5194d9cc qcacmn: use qdf_scnprintf to print state machine name
Use secure qdf_scnprintf instead of qdf_snprintf to print
state machine name.

Change-Id: I561130b5b7d728d28f883380843f957a4af34e78
CRs-Fixed: 2788893
2020-10-01 23:58:37 -07:00
Ashish Kumar Dhanotiya
6bac5aefe2 qcacmn: Resolve compilation errors
Change Ic166c112189ef79a84f61d16e7e04a6334c61178 renames
few files for osif in connection manager, but does not
take care of the compilation issue after rename of the files.

Add a change to take care of the compilation errors in
connection manager module.

Change-Id: Icecb3f7aa625a65b835c15890fc019917e2b9446
CRs-Fixed: 2786828
2020-10-01 21:20:53 -07:00
gaurank kathpalia
98937e5243 qcacmn: Fix compilation error in connection manager
Fix compilation error in connection manager.
Handle function name changes missed as part of
Icabeb57965920ec82e690bee662528189b081f32.

Change-Id: I6f1bc631de9dd7cc9ba7c80e01e857fe1b543782
CRs-Fixed: 2788660
2020-10-01 21:20:49 -07:00
Sridhar Selvaraj
bf0668f3c0 qcacmn: Reinitialize pci irq ops for qcn9100
QCN9100 pci radio is connected to the IPQ5018 through PCI slots
and enumerated by the Q6 radio. From the host driver perspective,
QCN9100 is treated as an AHB device, however the QCN9100 uses
MSI interrupts to notify events
-Reinitialize pci irq ops for hybrid bus type device qcn9100
-Update CE flags of qcn9100 to interrupt mode
-Set disable_wake_irq flag for qcn9100 as wake irq is not used

Change-Id: I8da7f0b48923b9d70e62f4ff181bd47865ea2fe8
2020-10-01 19:09:03 -07:00
Rajeev Kumar
0d04766b88 qcacmn: Log WMI work queue call stack on WMI WD bite
Log WMI work queue call stack when WD timer expires to assist
in debugging on non slub debug enabled builds.

Change-Id: Id3dd575700ca586b0738a88ca2af88a757238d1b
CRs-Fixed: 2789114
2020-10-01 19:08:59 -07:00
Jeevan Kukkalli
60b1d03a3b qcacmn: Delete self ast entry during peer tear down
Delete self ast entry along with other ast entries
belonging to peer during peer tear down

Change-Id: I08373929b7e510d79cd677b12f3ee897c1c6790b
CRs-Fixed: 2776743
2020-10-01 16:58:16 -07:00
Yeshwanth Sriram Guntuka
7d4b38f4ad qcacmn: Set the CE2 buffer size to 3200 bytes
Buffers attached to CE2 destination ring are of 4k bytes.
skb allocation for these buffers exceed 1-page allocation
due to addition bytes reserved for alignment, padding and
skb shared info.

Set the CE2 buffer size to 3200 bytes so that the skb memory
fits into a single page.

Change-Id: I97b3fc140376bb107ba23ab581a2dd5aeb833948
CRs-Fixed: 2785267
2020-10-01 16:58:12 -07:00
gaurank kathpalia
14be947c4e qcacmn: Fix logging in connection manager
Add vdev id and cm id in connection manager logs.

Change-Id: I1061f6daeb940167508e18ece006f425fc6bc775
CRs-Fixed: 2787825
2020-10-01 16:58:08 -07:00
Karthik Kantamneni
a0039f649f qcacmn: Fix nbuf free without unmap
While processing monitor status srng when DMA is not done
for current peeked HP+1 and DMA is done for HP+2 then nbuf
at HP+1 is freed without processing. But nbuf should be unmapped
before freeing. So unmap nbuf then proceed for freeing.

Change-Id: I9e808a7c9b6452d6b6e1fddc49fb08871c8c90f9
CRs-Fixed: 2785364
2020-10-01 14:41:44 -07:00
Srinivas Girigowda
80c1b5a6c3 qcacmn: Replace obsolete HIF_DBG() with hif_debug()
Replace obsolete HIF_DBG() with hif_debug().

Change-Id: I462d75617359fd13eafa497045ddfb70c2025595
CRs-Fixed: 2779720
2020-10-01 14:41:39 -07:00
Srinivas Girigowda
d89e043589 qcacmn: Replace obsolete HIF_TRACE() with hif_info()
Replace obsolete HIF_TRACE() with hif_info().

Change-Id: I315d86b886ce0bc28c8c967c986095fe2ee46bec
CRs-Fixed: 2779720
2020-10-01 14:41:34 -07:00
Srinivas Girigowda
d79f50ca9c qcacmn: Replace obsolete HIF_INFO_MED() with hif_debug()
Replace obsolete HIF_INFO_MED() with hif_debug().

Change-Id: Iec7a1a5332293bc5cc3a826a1223fa74e1fa3955
CRs-Fixed: 2779720
2020-10-01 14:41:28 -07:00
Srinivas Girigowda
832f4f7018 qcacmn: Replace obsolete HIF_INFO_LO() with hif_debug()
Replace obsolete HIF_INFO_LO() with hif_debug().

Change-Id: I3794e381c0810c08b37670d6dec8eace78eb3fb7
CRs-Fixed: 2779720
2020-10-01 14:41:15 -07:00
Srinivas Girigowda
15d2d83bd1 qcacmn: Replace obsolete HIF_INFO_HI() with hif_debug()
Replace obsolete HIF_INFO_HI() with hif_debug().

Change-Id: I85178f5e690030208f65d4375247383a62c12f76
CRs-Fixed: 2779720
2020-10-01 14:41:10 -07:00
Srinivas Girigowda
f327fcd404 qcacmn: Replace obsolete HIF_INFO() with hif_info()
Replace obsolete HIF_INFO() with hif_info().

Change-Id: I7fcf079551db5a69bd45b96b2126d1521c3e3e4c
CRs-Fixed: 2779720
2020-10-01 14:41:06 -07:00
Srinivas Girigowda
94ea515d92 qcacmn: Replace obsolete HIF_WARN() with hif_warn()
Replace obsolete HIF_WARN() with hif_warn().

Change-Id: Idb72d684b9d05aab6cf55ee2608f47c04077d8f7
CRs-Fixed: 2779720
2020-10-01 14:41:01 -07:00
Srinivas Girigowda
9667b145c6 qcacmn: Replace obsolete HIF_ERROR() with hif_err()
Replace obsolete HIF_ERROR() with hif_err().

Change-Id: I9260b47d11c1820bb05d9a7e2bf50d5257ba85ae
CRs-Fixed: 2779720
2020-10-01 14:40:57 -07:00
Gururaj Pandurangi
abb7ffcac0 qcacmn: Add rate limit macro for cp stats module ID
Add a new macro cp_stats_err_rl to rate limit certain
cp statistics logs.

Change-Id: I375ce2545c1eba2e568905ce76750cdf2f24bafd
CRs-Fixed: 2788221
2020-10-01 14:40:52 -07:00
gaurank kathpalia
c9fb109954 qcacmn: Add wlan status code enum
Adds wlan status code enum to be used in mlme.

Change-Id: I9c501e6fdb3bc1400c25a43287d50533465d631a
CRs-Fixed: 2786907
2020-10-01 08:27:34 -07:00
gaurank kathpalia
95e8d99b6b qcacmn: Add rsn_caps info in scan entry
Adds rsn cap info in scan entry security info, to get the
rsn caps directly from scan entry without need of parsing
RSN IE again.

Change-Id: Ideeb0780841a70fda94d8580dbb025d162716d06
CRs-Fixed: 2786586
2020-10-01 08:27:31 -07:00
Jianmin Zhu
f7767ae001 qcacmn: dfs_set_cfreq2 may be set wrongly when start SAP on 2G channel
dfs_curchan isn't reset when start vdev on 2G channel, can't use it.
Reproduce steps:
1. DUT vdev1 SAP started on 5G DFS channel with HE160,
WMI_CHAN_FLAG_DFS_CFREQ2 is set.
2. DUT vdev1 SAP switched to 2G channel.
Found WMI_CHAN_FLAG_DFS_CFREQ2 still set.

Change-Id: Ic5282ddf667af92365f3e43274a010a26a5a0715
CRs-Fixed: 2787305
2020-09-30 18:02:49 -07:00
Pragaspathi Thilagaraj
79da1010f3 qcacmn: Don't add pmkid count field in initial association
In the initial connection association request, since the STA
doesn't have pmkid, it sends the 2 byte pmkid field as 0.
But some APs dont allow pmkid count field to be 0 during
association and pmkid field having some value in EAPOL
handshake and triggers disconnection with reason code 17(
Information element in 4-way handshake different from Assoc
request). With crypto component disabled, the legacy
rsn ie construction doesn't add the 2 bytes with 0 value for
non-PMF connections.

So don't add pmkid count with 0 value in initial association
request for non-PMF connections.

Change-Id: I90441167ee480bf5d08e73e43d3ee9371bd16b0a
CRs-Fixed: 2783639
2020-09-30 18:02:45 -07:00
Karthik Kantamneni
268ab400cd qcacmn: Add support for WMI DIAG events over CE7
Add support for handling firmware WMI DIAG events over CE7.

Change-Id: I3d6c0b08313e816809a65eb77d9728fc4b4488f3
CRs-Fixed: 2787010
2020-09-30 11:10:33 -07:00
gaurank kathpalia
619e46370d qcacmn: Add public API for connection manager
Add public util API for connection manager to get connection
states and set max connection attempts.

Change-Id: I66d4318c7465e3926d6bacdc70dbb849827bf2c4
CRs-Fixed: 2787323
2020-09-30 08:38:45 -07:00
gaurank kathpalia
54f1e8f100 qcacmn: Rename connection manager candidate select APIs
Rename connection manager candidate select APIs to bss select.

Change-Id: Icabeb57965920ec82e690bee662528189b081f32
CRs-Fixed: 2786493
2020-09-30 08:38:41 -07:00
Ananya Gupta
218ec1c24e qcacmn: Lock rx_desc_pool to collect nbufs and delete later
When multi page alloc is activated, spinlock for rx_desc_pool
is being held for more than 2 seconds, resulting in QDF_BUG.
The major proportion of the time period is used in unmapping
the nbufs.
To fix this, lock rx_desc_pool only to collect nbufs from
rx_desc in a list and unmap and free the nbufs after releasing
the lock.

Change-Id: Iff2078a0de56b51712e2f9a7c5ace7a959e2445d
CRs-Fixed: 2779498
2020-09-30 01:26:05 -07:00
Yeshwanth Sriram Guntuka
0907c4679d qcacmn: Initialize the HW FST memory to zero
HW flow search table memory is not initialized to
zero due to incorrect argument order to qdf_mem_set.
This results in the possibility of HW flow entry
to be not configured properly even though SW flow
entry is configured properly.

Fix is to use the appropriate argument order to
qdf_mem_set so that HW FST memory is initialized
to zero.

Change-Id: If24f50c507392bd8d4974232d48d3af6f4f29b43
CRs-Fixed: 2773951
2020-09-29 13:23:28 -07:00
phadiman
b49dc87bc2 qcacmn: Remove duplicate default macros for DP data rings
The number of DP data rings are configured through INI
files and the default number of rings are defined by macros.

Default macros for DP data rings are defined twice, hence
remove such duplicate macros

Change-Id: I62927751731b88ce74c4f2651aa74c19b301b89f
2020-09-29 13:23:24 -07:00
Bapiraju Alla
0ff4421b30 qcacmn: Send get_station and ll_stats req in a single command
Currently ll_stats and get_station requests are sent back to back
from user space. The firmware time difference between these two commands
results in extra sleep and wakeup for Q6.

To avoid this extra Q6 sleep and wake, send both requests in a single
command from the driver if the firmware supports that operation. Cache
the get_station results in the driver until user space request reach
to the driver.

Change-Id: I5e6f42f9e3836ef4bf61d3d9220f8cedb775cbd5
CRs-Fixed: 2778479
2020-09-28 17:08:12 -07:00
Shwetha G K
bc3e92d1d6 qcacmn: Print oneshot/periodic CFR failure stats
Print oneshot/periodic CFR failure stats as well during CFR stop

Change-Id: Id81f0b79fd59e11c8170855aded88af7870162b3
2020-09-28 03:35:03 -07:00
Rajasekaran Kalidoss
3c4ca49728 qcacmn: Add a new status code to represent an already suspended TWT session
The firmware sends a new status code to indicate an already suspended
TWT session. Update the status code enum to represent this state.

CRs-Fixed: 2784214
Change-Id: I7663ae1e1477919b7e93b0dcebd5287dc3e87263
2020-09-26 11:43:58 -07:00
Alan Chen
cc93b4f071 qcacmn: Add log to print wow flag parameter
Add log to print wow flag parameter to log various wow parameters.

Change-Id: I5da00d0720fd7abc0f95699b3fcd41925ae2a2d1
CRs-Fixed: 2784062
2020-09-26 01:18:12 -07:00
gaurank kathpalia
fdfaaf5260 qcacmn: Add connection logic after serialization part 2
Add event handling for mlme indication for connect start for
peer and its response. Add the interface manager missing
events. Add sync and async event handling for serialization
callback

Change-Id: I5cbb9a6ac1350f8035224135fb159010311a8468
CRs-Fixed: 2784163
2020-09-25 20:20:44 -07:00
Jinwei Chen
652bd3a42b qcacmn: Support unaligned consistent memory prealloc
Support unaligned consistent memory prealloc for CE srng
memory.

Change-Id: I7c014e4c13602de89d03e2f7c5efb39b5b376226
CRs-Fixed: 2761282
2020-09-25 20:20:40 -07:00
Deeksha Gupta
1f01cd3590 qcacmn: Disable 6Ghz RNR channel update for P2P scan
Currently P2P doesn't support 6Ghz, disable adding RNR channels
list to reduce P2P scan time duration.

Change-Id: I14e2c1a8d122e99bfd29acb59af5a6f5877f9a35
CRs-Fixed: 2783592
2020-09-24 18:11:41 -07:00
Manikanta Pubbisetty
537c758e28 qcacmn: add a variable to indicate FST's placement in CMEM
Add a variable to indicate FST's placement in CMEM; all
FST CMEM operations will be based on this.

Change-Id: I6d8c541d939d3ab74eab22d13d5034b8ea79e99c
CRs-Fixed: 2784299
2020-09-24 15:48:28 -07:00
sheenam monga
ba9e7a24f6 qcacmn: Avoid excessive logging
Issue: log level for some frequent prints is set to info
those logs would be present in dmesg as well as driver logs
and System performance may get affected due to excessive
logging.

Fix: Avoid redundant logs which may affect system
performance and change default log level to debug.

Change-Id: I053e95806884eab26c37340823b818c9e3c81036
CRs-Fixed: 2771412
2020-09-24 13:19:54 -07:00
Abhishek Singh
0b9139a2e2 qcacmn: Add public API to update mlme info in scan database
Adds a public API to update the mlme info in scan database.

Change-Id: Icc702c3605d5976937564cdd0a793e75db51d205
CRs-Fixed: 2784262
2020-09-24 10:45:53 -07:00
Jianmin Zhu
d6329cff1b qcacmn: Replace channel with frequency
Replace channel with frequency.

Change-Id: I291dd5110d5fe69361c636d60635b60309e8575f
CRs-Fixed: 2776242
2020-09-24 10:45:50 -07:00
Ashish Kumar Dhanotiya
7232e077f7 qcacmn: Update crypto params based on IEs for connect request
Currently connection manager does not update crypto params
of connect request based on RSN/WPA/WAPI IEs.

Add logic to update the connect params based on IEs.

Change-Id: I74aba3c061ed5fc203be7270dcc244f14718c781
CRs-Fixed: 2777574
2020-09-24 00:13:41 -07:00
Rhythm Patwa
224d4e2276 qcacmn: Add peer assoc param for Max BSS Idle option
Add peer assoc parameter 'peer_bss_max_idle_option' to
update the peer's Max BSS Idle option cap to FW.

Change-Id: If7fd4369bade8b289655c491849562c2357de877
CRs-fixed: 2781050
2020-09-23 17:13:52 -07:00