Commit Graph

15941 Commits

Author SHA1 Message Date
Chaithanya Garrepalli
7387592290 qcacmn: Fix compilation issue for Hamiltion
Avoid setting TCL_R0_CMN_CONFIG register if this is
not defined in HW headers

Change-Id: I8fec6a5637deca8545da00fc8c631c0e26ba9a1e
2021-10-14 07:55:54 -07:00
Naga
8020841ce4 qcacmn: Add sanity check for monitor pdev
Add sanity check for monitor pdev while enabling
enhanced stats.

Change-Id: Icd1a2e7daf57d32d85d7c5ad5e11f0d6ea2456ee
CRs-Fixed: 3055767
2021-10-14 03:34:55 -07:00
sandhu
3de5365a37 qcacmn: Fix hamilton whunt compilation issue
Change-Id: I0ac3ab0530cfb645c0eef81aafc9d1ef6a35c776
CRs-Fixed: 3052592
2021-10-14 01:16:02 -07:00
Liangwei Dong
dffbb1b320 qcacmn: Fix SAE pmkid update issue
For SAE SAP, after full SAE authentication, only pmkid
will be sent down to driver, PMK len is zero.
Driver should accept the set pmksa without PMK.
Add check pmk length checking and if pmk len is zero,
driver allow the set pmksa.

Change-Id: Ic05dee4cce31233dbe6dfced05df54fe8972dd1f
CRs-Fixed: 3042899
2021-10-13 17:42:40 -07:00
Aditya Kodukula
7f4b38db3d qcacld-3.0: Correct the kernel doc of ICMP APIs
Correct the Kernel documentation of ICMP feature APIs.

Change-Id: Iec2fe332c24e11835ebd6546dda40603f6f0173d
CRs-Fixed: 3055077
2021-10-13 17:42:25 -07:00
Lincoln Tran
1b0df8b4fb qcacmn: Clear MLO cap bit in case of failure or disconnect complete
Clear the MLO capability bit in the following scenarios:
- On a successful disconnect complete
- On a failing connect complete
- Every time we fetch a new candidate
This will ensure subsequent connections are not effected by this bit.

Change-Id: I4cbda78715450b5db5bc25cb7f6a141d636b712b
CRs-fixed: 3054192
2021-10-13 15:23:01 -07:00
Pragaspathi Thilagaraj
ee45b0f182 qcacld-3.0: Fix connectivity logging roam result and roam reason
Roam result is printed as failure always since the
is_roam_successful flag is not passed to the
roam successful attribute to userspace. For roam
reason, the wrong attribute is used to convert the roam
sub reason from driver values to userspace values.
In WTC roam, the sub reason & vsie is not filled
from the right roam trigger TLV.

Fix the connectivity logging roam result and roam
subreason and WTC values passed to userspace.

Change-Id: Id276054868d907a801e87c1fd9cd7bb3b7c4e150
CRs-Fixed: 3051447
2021-10-13 15:22:45 -07:00
Chaithanya Garrepalli
3c3e5709ac qcacmn: Increse num TX rings for QCN9224
This change includes below
1) Changes needed to increase Tx rings to 4
2) Use WBM2SW4 ring for rx error in QCN9224
3) memset srng at alloc to avoid populating RBM_id
in per packet path and enable implicit RBM

Change-Id: Icbd5ac2378273b8f3c6adc41c611e29551fff22f
2021-10-13 13:12:19 -07:00
Shiva Krishna Pittala
de13832745 qcacmn: Populate and expose 320MHz spectral capabilities
Populate and expose the following 320MHz spectral capabilities.
  - Agile spectral scan support for 320MHz mode.
  - Number of detectors used for spectral scan in 320MHz mode.

Change-Id: Ibea77d4ec8b1d9322ef82d1d48236836ffad24ec
CRs-Fixed: 3053059
2021-10-13 02:57:24 -07:00
Karthik Kantamneni
4c00b017c8 qcacmn: Add HIF events to track NAPI POLL exit time
Add HIF events to track NAPI POLL exit time, this gives
information about actual time spent by wlan host in napi softirq.

Change-Id: I7548fd05f2f7db714ac9bcf79171ffb3d478e936
CRs-Fixed: 3052902
2021-10-12 13:16:48 -07:00
Shiva Krishna Pittala
41879eb3ca qcacmn: Add QCA vendor attributes to indicate 320MHz spectral capabilities
Add a QCA vendor attribute to indicate agile spectral scan support for
320MHz mode. Add another attribute to indicate the number of
detectors used for spectral scan in 320MHz mode.

CRs-Fixed: 3045445
Change-Id: I4667e93e8074af122bfe9e08bededc439811afbf
2021-10-12 11:02:44 -07:00
Tushnim Bhattacharyya
066df9c51b qcacld-3.0: Set default value for bss_color_collision_det_sta to 1
For STAUT to follow the rules governing OBSS Narrow Bandwidth RU in
UL OFDMA Tolerance Support, bss_color_collision_det_sta to be set
to 1.

Change-Id: Ibe283f8bec9febbaf9a876d1afd55389ea4c971d
CRs-Fixed: 3053624
2021-10-12 11:02:34 -07:00
Rakesh Pillai
e7c9776900 qcacmn: Fix the mask for tx completion near full irq
Currently the IRQ mask for tx completion near full
interrupt is not in sync with the tx completion rings
which are enabled for WCN7850.

Fix the mask for tx completion near full interrupt.

Change-Id: I1432191b260094060873406d48e04fde5b7bc35e
CRs-Fixed: 3052650
2021-10-12 04:52:16 -07:00
Surya Prakash Sivaraj
d9f3a699aa qcacld-3.0: Update VHT IE with highest supported LGI rate
Currently, the Rx/Tx highest Long GI data rate field in
the  VHT IE is filled with short GI data rate. Therefore,
change the highest supported data rate back to LGI data
rate.

Allow the short GI rate to be filled as the highest supported
rate in the wiphy if short GI is enabled.

Change-Id: Ie0652b4cdeef370cb8ad3d11b5d36b6959c1cbcb
CRs-Fixed: 3053946
2021-10-12 04:51:55 -07:00
Nandha Kishore Easwaran
fa18b0fa88 qcacmn: Add new WDI event for HOST_SW_EVENT
Add new WDI event for WDI_EVENT_HOST_SW_EVENT which will be used by
pktlog.

Change-Id: Ie4e6a167e1118b430f418582af7ea9a8eb3aaf59
2021-10-12 02:29:41 -07:00
Naga
c46ec16889 qcacmn: Add change to modify if to ifdef
Add change to modify if to ifdef

Change-Id: I49e3841deb4168cbbc4e0a4f045413717aa97d2a
CRs-Fixed: 3050747
2021-10-12 02:29:35 -07:00
Naga
1648e13dbe qcacmn: Add HTT ring setup for monitor rings
Add HTT ring setup for monitor source and destination rings

CRs-Fixed: 3010856
Change-Id: Ice96ed938a25069fd60f07e2a4bebd9ad0184200
2021-10-12 02:29:29 -07:00
Naga
92ac36e016 qcacmn: Enable timer based low threshold interrupt
Enable timer based low threshold interrupt for waikiki monitor
tx/rx source rings

CRs-Fixed: 3010853
Change-Id: Ia33b110337e610ab9b5d7a9cecb61f6952cd3379
2021-10-12 02:29:23 -07:00
Naga
fa9b23b61f qcacmn: Enable monitor destination ring interrupt for waikiki
Enable monitor Tx/Rx ring interrupt for waikiki

CRs-Fixed: 3010851
Change-Id: I33537f7d4dbab700af7ccdb2ca511531fd3ade76
2021-10-12 02:29:17 -07:00
Naga
df329ebb84 qcacmn: Allocate and Initialize monitor rings
Allocate tx/rx monitor destination rings for waikiki

CRs-Fixed: 3010845
Change-Id: I1c6950188e2693cab648679d34d6731db53978f9
2021-10-12 02:29:11 -07:00
Naga
e1a6f926ed qcacmn: Add new HTT msg support for BE
- Add support htt msg for HTT_H2T_MSG_TYPE_TX_RING_SELECTION_CFG
  msg configuration
- Add support for configurable length dma
  per packet type for rx monitor.
- Add support for wordmask subscription for rx monitor.
- Add support for per packet msdu/mpdu logging config.
- Add support for tx monitor tlv subscription.
- Dummy APIs for 2.0 filter configuration

Change-Id: I36b18c03eff452537c2f051b24275b81ab98ebae
CRs-Fixed: 2991330
2021-10-12 02:29:05 -07:00
Naga
06cd379df0 qcacmn: Add support for Waikiki HAL Monitor
Add HAL specific structures and APIs to support
Waikiki monitor

Change-Id: Ie7516dcaff116ff03ff83e890d657b1b705a7484
CRs-Fixed: 3013523
2021-10-12 02:28:59 -07:00
Naga
5475a38feb qcacmn: Add support for BE monitor buf processing
Add support for BE monitor buffer processing

Change-Id: I2b7563e7a2c4d7e091ed093774b4f24047791708
CRs-Fixed: 3010502
2021-10-12 02:28:53 -07:00
Naga
69bd3e218f qcacmn: Add buffer mgmt support for BE monitor
Add support to allocate, free and replenish
rx and tx monitor buffers.

Change-Id: I9e59f4466740c0cf29a02711b6a112715e0224ab
CRs-Fixed: 3010486
2021-10-12 02:28:48 -07:00
Naga
9d6b212c7a qcacmn: Add sw desc pool support for BE monitor
Add APIs to allocate, free, init and deinit
sw descriptor pool for rx and tx monitor.

Change-Id: I03287cf3c590ace91825f16a7b0c5752c04fc8ed
CRs-Fixed: 3010468
2021-10-12 02:28:41 -07:00
Naga
84c4158c87 qcacmn: Add support for BE Monitor soc attach
- Change to allocate BE specific monitor soc
- Allocate, initialize soc and pdev level monitor rings
- HTT srng setup for source ring
- Dummy APIs to allocate, initialize sw desc pool

Change-Id: Icf90994e7bd76017cf3c83ae00449d839967321d
CRs-Fixed: 2991298
2021-10-12 02:28:36 -07:00
Naga
db1a6c8418 qcacmn: Add new data structures and ops for BE monitor
- New data structures are added for BE monitor support
  - dp_mon_soc_be  - to maintain soc level BE specific fields
  - dp_mon_pdev_be - to maintain pdev BE specific fields
  - dp_mon_desc_pool - to maintain descriptor pool
- Monitor ops are updated for 2.0 and corresponding dummy APIs
  are added.
- dp_mon_filter_srng_type is enhanced for TxMON

Change-Id: I12a2fbc53e4eecc7a191b7aa925431298d0a9f54
CRs-Fixed: 2991276
2021-10-12 02:28:30 -07:00
Naga
3289db4279 qcacmn: Monitor code segregation
- Features common to both Li and BE and
  their APIs are retained files at dp/wifi3.0/monitor.
- New monitor ops are introduced if there
  is a requirement for divergence of API.
- Diverged API definitions for 1.0 are captured
  in this change.

All of code in below files are moved to 1.0
- dp_rx_mon_dest.c -> 1.0/dp_rx_mon_dest_1.0.c
- dp_rx_mon_status -> 1.0/dp_rx_mon_status_1.0.c

Only Li and HMT specific are moved for below file
- dp_mon_filter.c -> 1.0/dp_mon_filter_1.0.c
- dp_mon.c -> 1.0/dp_mon_1.0.c

Change-Id: I44d163b27565b86068d80e1d97ec11d0b4a081d4
CRs-Fixed: 2991248
2021-10-12 02:28:25 -07:00
Naga
cca6b74fe7 qcacmn: Add new directory structure for Monitor
- dp/wifi.3.0/monitor/ => directory for monitor specific code
  - dp_rx_mon.c: status TLV procesing + packet buffer processing
  - dp_rx_mon.h: Rx monitor header file common for Li and Be
  - dp_mon_filter.c: Monitor filter configuration
  - dp_mon_filter.h: Monitor filter header file common for Li and BE

  - 1.0/ => directory for Lithium specific handling
    - dp_rx_mon_1.0.h: Rx Monitor specific header file
    - dp_rx_mon_dest_1.0.c: Packet buffer processing
    - dp_rx_mon_status_1.0.c: status TLV processing
    - dp_mon_filter_1.0.c: Rx Filter configuration
    - dp_mon_filter_1.0.h: Rx Filter configuration header
    - dp_mon_1_0.h - Li specific monitor ops
    - dp_mon_1_0.c - Li monitor ops handling

  - 2.0/ => directory for BE specific handling
    - dp_rx_mon_2.0.h: Rx Monitor specific header file
    - dp_rx_mon_2.0.c: Packet buffer processing
    - dp_rx_mon_status_2.0.c: status TLV processing
    - dp_tx_mon_2.0.h: Tx Monitor specific header file
    - dp_tx_mon_2.0.c: Packet buffer processing
    - dp_tx_mon_status_2.0.c: status TLV processing
    - dp_mon_filter_2.0.c: Rx and Tx Filter configuration
    - dp_mon_filter_2.0.h: Filter configuration specific header
    - dp_mon_2.0.h: BE specific monitor ops and defs header file
    - dp_mon_2.0.c: BE specific monitor ops handling

Change-Id: I74b5408460b5f2f4b31f73947b55d97dfe3b971e
CRs-Fixed: 2991215
2021-10-12 02:28:19 -07:00
Edayilliam Jayadev
d9667ef801 qcacmn: Prevent out of order delivery of mgmt frames
Keep track of the global time stamp of the last
management frame delivered to the upper layer.
Drop all the frames older than the last delivered
frame.

CRs-Fixed: 3049671
Change-Id: Ibe0cc239f7af38da63ea8c405b3f89fc9473ea57
2021-10-12 00:09:10 -07:00
Aditya Kodukula
6a5c5db59d qcacmn: Add Support to offload icmp feature to fw
Send command with required parameters to offload icmp
feature to fw.

Change-Id: Iefac64a34e274830f0c1c82589b2f35817306a64
CRs-Fixed: 3042454
2021-10-12 00:09:06 -07:00
Aditya Kodukula
f6c46032eb qcacld-3.0: Add Support to offload icmp feature to fw
Add support to offload icmp feature to fw in case of
suspended state to avoid high power consumption.

Change-Id: I3ff19d71eac530c75be57e6b52b975e755ff2a53
CRs-Fixed: 3042452
2021-10-12 00:08:44 -07:00
Venkateswara Swamy Bandaru
ab2c08d63e qcacmn: Add wmi support for eht vdev params
Add wmi support for eht vdev params
mu mode, puncturing mode, ltf config, dcm
and range extension configs.

Change-Id: I6cfc0297a4a323775614f28717c50109558dd401
CRs-Fixed: 3052104
2021-10-11 14:56:04 -07:00
Ashish Kumar Dhanotiya
41700c646c qcacld-3.0: Pass correct band info to roam set band
Currently driver always sets band value as REG_BAND_MASK_ALL
to roam set band which is incorrect.
Set correct band value from regulatory to roam set band.

Change-Id: I2cfb0c92e1eca549175135811d0122162281ba06
CRs-Fixed: 3050318
2021-10-11 12:14:32 -07:00
Chaithanya Garrepalli
b733f89803 qcacmn: change RxDMA rings to DMAC mode for QCN9224
For Waikiki use same SW2RxDMA ring for both radios

Change-Id: I33ab1749afada08e97d0b16fe68773c2d5532a15
2021-10-11 08:06:37 -07:00
Chaithanya Garrepalli
60db195327 qcacmn: Change to route vdev_id exceptions to FW
Configure HW to route vdev_id mismatch exceptions
packets to FW.

Change-Id: I8baf4a2f299ddda253a9cd3c247054a0e546af23
2021-10-11 04:51:39 -07:00
Shiva Krishna Pittala
409ffbfda0 qcacmn: Pass report parameters to FFT bin byte swap function
Pass report parameters to FFT bin byte swap function instead of
FFT bin length adjustment WAR.

Change-Id: I02a280bc4e8e0839c894a70258e1f16a784c08a6
CRs-Fixed: 3051559
2021-10-11 02:35:48 -07:00
Yu Tian
112813c1b7 qcacmn: Add API to get TX pending in WoW state
This change is used to provide an API for PMO module to
check whether there are pending TX frames before HOST sends
wake up indication to FW. PMO module uses this to indicate
FW whehter to discard HWDTIM.

Change-Id: Icc3271e87e376e3313fddc5f4f99e39daeaf6af7
CRs-Fixed: 3046947
2021-10-11 00:30:47 -07:00
Pragaspathi Thilagaraj
ce387c8fd3 qcacmn: Validate SSID first while fetching peer pmksa
Validate the SSID & cache ID if SSID length is present in the
pmksa entry, as in FILS case only SSID and cache id are filled
and BSSID is not filled.

So validate the BSSID only if the SSID is not present.

Change-Id: Ia0a31f953869f00495fad597bb564ec706425312
CRs-Fixed: 3051530
2021-10-08 23:15:58 -07:00
Ashish Kumar Dhanotiya
4b91d7428b qcacld-3.0: Add ini to enable/disable vht mcs 10 and 11 support
Currently there is no ini to enable/disable vht mac 10, 11
and this feature is completely based on FW capability.

Based on current requirement add support to enable/disable
vht mcs 10/11 feature from ini.

CRs-Fixed: 2861854
Change-Id: I350daea8a2f81bfeac25ccdda026d1a5d1c133e3
2021-10-08 23:15:43 -07:00
sheenam monga
3300b19d56 qcacld-3.0: Add support for for 3rd connection in DBS
Currently, If CLI+CLI is present in 5G SCC or 5G MCC then
3rd connection should come in DBS. Hw mode change is required
to come up in DBS. As entries for CLI+CLI are missing in
policy_mgr_next_action_three_connection_table_type, by default
next action is updtaed as NO_OP and hw mode change fails due to which
connection fails.

Fix is to add CLI+CLI entries in
policy_mgr_next_action_three_connection_table_type to avoid connection
failure.

Change-Id: Ia935866506a62e54fb0e410df81a367e3e5b56b1
CRs-Fixed: 3052752
2021-10-08 20:59:11 -07:00
sheenam monga
715efc73ab qcacld-3.0: Add support for 3rd mode when CLI+CLI exists
Currently support is not there for 3rd mode when CLI+CLI
connection is there on DUT.

Update PCL table for 3rd mode when CLI+CLI exsits and add
support to fetch index based on new connection band and
concurrency.

Change-Id: I6041c40b3208d0b33dff2b4f9dc854d2d2dc17a1
CRs-Fixed: 3050537
2021-10-08 18:09:28 -07:00
abhinav kumar
7427e70f15 qcacmn: Fix race condition between connect and disconnect
Scenario: In case of STA + STA, NB/SB issues disconnection for
vdev 0 when vdev 1 is in connecting state.

As connection is blocking serialization command and it can try
multiple candidates and can take upto 30+ sec, there is a
chance that disconnect may get timeout and is followed by
vdev delete from osif. This can lead to vdev delete sent
without vdev down/stop and bss peer delete for vdev 0.

So abort connection when trying for candidate if any of the
vdev is waiting for disconnect, to avoid disconnect timeout.

Change-Id: I7ef50b2e870317d2b095dd0385fcbe1c5b86fd20
CRs-Fixed: 3051567
2021-10-08 13:55:33 -07:00
Amit Mehta
76d60607f4 qcacmn: Ring History Display update
TP and HP values are assigned wrongly while
printing ring history. Fixing assignment.

Change-Id: I50ea90a3b49ab4d5459a3e0ddfa259f669764433
CRs-Fixed: 3051531
2021-10-08 08:17:32 -07:00
Harsh Kumar Bijlani
2cd98c7974 qcacmn: Restrict length of pdev backpressure event list
In current architecture, when host receives backpressure
event from FW, it prints pdev_id, ring_id, hp and tp values
for that ring in the tasklet context.
In same context, memory to hold the information of other
rings is allocate,  which then put into the list maintained
at pdev level and work is scheduled for printing this info.

In scenarios of heavy load, where the backpressure events
are continuously triggered, the list can grow to a bigger
one and printing of ring stats for all of these events can
be a heavy CPU hit.

As an optimization, restrict the depth of the list to 16
by checking the size of list when backpressure event is
received from FW. When list size reaches the max value (16),
then remove the entry from head and insert the new entry at tail.

Also in the worker thread, fetch only 1 entry from the list for
printing and schedule the work again if the list is not empty.

Change-Id: If4291b9d5ebee1e3d1eea80bbd0134faf090b2b8
CRs-Fixed: 3049635
2021-10-08 02:36:17 -07:00
Lincoln Tran
40e49db431 qcacmn: Add all membership selector elements
Include all elements from the BSS membership selector value encoding
table.

Change-Id: Ia9dda9aaa44d5c6ea83d750676511c1ed74bfb4b
CRs-fixed: 3050316
2021-10-07 23:15:56 -07:00
Bapiraju Alla
8354390c7d qcacmn: Add ML IE handling in util_scan_copy_beacon_data
Currently, ML IE address update is missing while copying the beacon data.
This may result in illegal memory access when ML IE accessed from copyied
scan entry after original scan entry got freed.

To avoid this, update ML IE address in new scan entry while copying
scan entry.

Change-Id: I6161481cbd13573b8177f122f7d26d177cc07aaa
CRs-Fixed: 3052302
2021-10-07 18:42:54 -07:00
Edayilliam Jayadev
8498476787 qcacmn: Add lock to protect reo algorithm entry
Add spin lock protect the critical section in reorder
algorithm entry.

CRs-Fixed: 3048994
Change-Id: I9bc6b30b2102dd14f0e5e2ba593e9a6bbbb72714
2021-10-07 18:42:49 -07:00
Surabhi Vishnoi
043b6e89cd qcacld-3.0: Deliver tx offload mgmt pkts based on filter
Deliver tx offload management to mon interface in packet capture
mode based on config filters added by vendor command.

Change-Id: Id60529b963e3021d7744858980b316b546606550
CRs-Fixed: 3045460
2021-10-07 09:19:43 -07:00
Surabhi Vishnoi
1aa17b4bbc qcacld-3.0: Add check for mgmt/ctrl tx packets in pkt capture
Deliver management and control tx packets to monitor interface
only if corresponding filter is set by vendor command.

Change-Id: Ifc7f0ecfce7d7a105902e8a9ce522ba0325ee9cd
CRs-Fixed: 3044855
2021-10-07 09:19:38 -07:00