Commit graph

10,224 commits

Author SHA1 Message Date
Alan Chen
2a7bc9c287 qcacmn: Remove logic to enable/disable wake msi for drv systems
Remove logic to enable/disable wake msi for drv systems. Today, during
WoW suspend sequence, between hif pci bus suspend and hif pci bus
suspend no irq, wake msi is getting disable temporarily. In case
fw toggles wake msi during this period, then the wake msi is lost,
which can lead to device not waking up for fw triggered wakeup.
Add the fix to remove enable/disable wake msi from suspend/resume
path and keep wake msi always enabled.

Change-Id: Idad0805f66ead4079d67577fa1151f73567511a3
CRs-Fixed: 3042261
2023-01-05 06:59:12 -08:00
Vulupala Shashank Reddy
f69cbbc2e7 qcacmn: Fix FILS Discovery rx frames capture in packet capture mode
Currently the FILS Discovery rx frames are dropped in
tgt_mgmt_txrx_rx_frame_handler considering them as unspecified
packets as action category for FILS Discovery is not defined.

Define FILS Discovery action category so that the FILS Discovery
will not be considered as unspecified frames and dropped while
processing.

Change-Id: I72398caf3cbb1f7d53d5f97da9d1997af2b33595
CRs-Fixed: 3346195
2023-01-03 10:33:57 +05:30
Srikanth Marepalli
85175c4313 qcacmn: Roam control configuration for 6 GHz in full scan only on prior discovery
During the roam scan, if there are no desired APs found in the partial
frequency list, an immediate full scan on all the supported frequencies
is initiated as a fallback. This would include the 6 GHz PSC
frequencies. Define an attribute to allow that behavior to be modified
to include PSCs only if 6 GHz use has been detected.

Change-Id: I81eb9b20c2953e6b0dbf4138b31547db82d7397f
CRs-Fixed: 3351706
2022-12-13 02:51:51 -08:00
Rahul Gusain
89ac6b7304 qcacmn: Send fils discovery template to wmi layer
Add support to send Fils discovery template via target if

Add func to compute shortssid with the help of shortssid table

Change-Id: I78fa50641ee5ae0c338719c4cec91573a212f396
CRs-Fixed: 3114903
2022-12-06 22:22:42 +05:30
Srikanth Marepalli
dee1030535 qcacmn: Add a vendor attribute for roam control configuration for full scan
During the roam scan, if there are no desired APs found in the partial
frequency list, an immediate full scan on all the supported frequencies
is initiated as a fallback. This flag controls the frequency list
creation for full scan on the following lines.
1 - Full scan to exclude the frequencies that were already scanned by
    the previous partial scan.
0 - Full scan to include all the supported frequencies irrespective of
    the ones already scanned by partial scan.

Change-Id: Id48ae28e6d0e719b9db9b2e73bd76f9be1ea0b3e
CRs-Fixed: 3343567
2022-11-30 00:27:36 +05:30
Srikanth Marepalli
d1bea0a4f9 qcacmn: A vendor roam control configuration for delaying hand off for RX
Introduce a run time roam configuration for "hand off delay for RX".
This value, in milliseconds, will delay the hand off for the specified
time to receive pending RX frames from the current BSS.

Change-Id: I961109a2f9287a611ae8f4b38e2ea824ecf9c559
CRs-Fixed: 3329952
2022-11-23 19:31:34 +05:30
Surabhi Vishnoi
aa50727284 qcacmn: Update mgmt action category
Host updates newly added action categories in enum mgmt_action_category.

Change-Id: I86048f59a6a3917685c18f07b6cb103fc809837f
CRs-Fixed: 3262361
2022-11-15 20:51:08 -08:00
Surabhi Vishnoi
bb50ad7900 qcacmn: Add support to handle vendor specific protected action frame
Host add support to handle action frames with category field
ACTION_CATEGORY_VENDOR_SPECIFIC_PROTECTED(vendor specific
protected action frames).

Change-Id: Iae105fe7c5c37438b29d9b2bc135961f795c5ab8
CRs-Fixed: 3262366
2022-11-15 09:16:11 -08:00
Alan Chen
37175948ba qcacmn: Change log level to debug for hif_runtime_lock_init/deinit
To avoid excessive logging, we whould not logs RTPM lock init and
deinit to the console. Thus, change the log level to debug.

Change-Id: Ib11045fe50f729b0580284fa913da48d3a59b323
CRs-Fixed: 2927959
2022-11-09 05:46:31 -08:00
Krupali Dhanvijay
cf9100c51d qcacmn: Update pmk for roamed AP to pmk cache table
Assume AP1 and AP2 are SPMK APs. For SPMK AP(s), Host
should add an entry of an AP in PMK cache table like below in
two cases only:
Case 1. When DUT successfully associated with SPMK supported AP
            In this case host update “is_spmk_ap” flag in PMK
            table by parsing beacon of associated AP after
            successful connection.
Case 2. When DUT successfully roamed to SPMK supported AP
            In this case host update “is_spmk_ap” flag in PMK
            table by parsing roam sync indication event.

In case of connection with SPMK AP, Host selectively deletes PMK
entry for other SPMK supported AP(s) on basis of “is_spmk_ap”
flag and maintains only one entry for all SPMK AP(s). And host
sends the same single PMK in RSO for further roaming to SPMK AP.
Initially, DUT is connected with AP2. Then Disconnection happens with
AP2 due to NUD failure. After disconnection, the upper layer sends
flush PMK requests for AP1 and AP2. Host deletes old PMK entries for
both APs. Now upper layer sends a set PMK request for AP2. Host adds
AP2 entry in PMK cache table but host does not set "is_spmk_ap" flag
in PMK table for this entry as DUT is not connected to AP2. Now host
receives a connect request for AP1 from the upper layer. DUT
successfully associated with AP1 by performing full SAE authentication.
Host adds an entry for AP1 in the PMK cache table and sets "is_spmk_ap"
flag for AP1 but fails to delete the entry for other SPMK AP(s), here
AP2, from PMK cache table. This is because of "is_spmk_ap" flag is not
set for AP2. At this point of time below is the PMK cache table entry
for SPMK AP(s): The Host PMK cache table has two entries for two SPMK
APs.

   BSSID       PMK     is_spmk_ap flag
    AP2       PMK2           0
    AP1       PMK1           1

Now FW roams to AP2 using PMK1. Host process roam sync indication for
AP2 and updates "is_spmk_ap" flag for AP2 in the PMK cache table. As
Host has a stale entry for AP2 in the PMK cache table, Host sends AP2’s
PMK (here PMK2) in RSO command which firmware will use for further
roaming but roaming fails due to invalid PMK, as target SPMK AP expects
PMK1 in reassociation request.

To handle these scenarios, FW should send PMK info of roamed AP and
host override stale entry for roamed AP (if any) with roamed AP's PMK
in PMK cache table.

Change-Id: I3c6a49be065e4744e438c2762c103eb3095a2253
CRs-Fixed: 3313882
2022-11-07 15:41:07 -08:00
Rahul Gusain
f7a4bf6616 qcacmn: Add support for NAN enable rsp in non-dbs platform
Currently, in non-dbs platforms, firmware controls NAN enable/disable.
To enable NAN in non-dbs platform, host driver sends NAN generic
request to firmware and firmware enables NAN and provides generic
response to that.
But for some legacy platforms, requires enable NAN in host.
For this, firmware adds new TLV for NAN enable response and
sends with NAN generic response. Host extracts the NAN enable
response parameters from NAN generic response packet.

Change-Id: I1f4460137913780d4c262b5e40342dbb0b9a87c7
CRs-Fixed: 3263746
2022-10-30 10:35:30 -07:00
Amit Mehta
183edd48c1 qcacmn: Add a tid check for RX to avoid of OOB access
Tid in RX frame header may be larger than MAX TID allowed
value, this will lead a out of boundary array access and
lead to kernel crash at last. Change is aimed to do a TID
check and discard such frame when necessary.

Change-Id: I11f312668a5a42d690c058550f22b0f36f952104
CRs-Fixed: 3264581
2022-10-11 11:05:54 +05:30
Surya Prakash Sivaraj
c62a279eab qcacmn: Add support to send FILS DISC TX enable/disable to FW
Add support to send WFA test config FILS DISC frames TX
enable/disable to FW.

Change-Id: I5b0abed1b6fe517b12c29269da6456c48b21725c
CRs-Fixed: 2801138
2022-10-10 00:53:19 -07:00
Surya Prakash Sivaraj
7f15a2ae6c qcacmn: QCA vendor attribute to configure ER SU PPDU type
Add QCA vendor attribute to configure the driver to transmit the
Data frames with ER SU PPDU type format. This attribute is used
for testing purpose.

Change-Id: If11523ea3e6316c47181342c3acc8425da85ee1b
CRs-Fixed: 2960794
2022-10-10 00:53:13 -07:00
Surabhi Vishnoi
76a4a79953 qcacmn: Reduce log level from error to debug in wlan_vdev_get_bss_peer_mac
Bss peer can be NULL in case of vdev in disconnected state,
so change the log level from error to debug in
wlan_vdev_get_bss_peer_mac() to reduce logging in dmesg.

Change-Id: Idac08200253d83f267be3381691e10d6bd4b52bf
CRs-Fixed: 3293402
2022-09-22 21:48:01 -07:00
Ashish Kumar Dhanotiya
46df590464 qcacmn: Consider all power types to prepare client channel list
Currently driver prepares client channel list based on indoor ap
power type and this list is given to kernel. There are couple of
issues with this approach as mentioned below:
1. Based on this list kernel sends the scan requests because of
which there is a possibility that driver does not scan channels
which are not part of LPI channel list but are part of SP channel
list or VLP channel list.
2. Kernel sends start AP as well based on this channel list, since
all LPI channel are marked as NO_IR from driver and because of
which kernel dont send start AP on these chanels which leads to
SAP start failure even if there are VLP channels available.

Change-Id: I90174920df158c8b370e541034307a9a58448c29
CRs-Fixed: 3054543
2022-09-21 05:53:27 -07:00
Vulupala Shashank Reddy
661af9cfb5 qcacmn: Fix FTM rx frames capture in packet capture mode
Currently the FTM rx frames are dropped in
tgt_mgmt_txrx_rx_frame_handler considering them as unspecified
packets as action category for FTM is not defined.

Define FTM action category so that the FTM frames will not be
considered as unspecified frames and dropped while processing.

Change-Id: Ieb3980978e38b3f826f42380e29798767c8f1fe2
CRs-Fixed: 3254409
2022-08-17 22:29:47 -07:00
Asutosh Mohapatra
6bcffd57bb qcacmn: Handle gracefully if scheduler cb is not registered
Currently when firmware crashes during driver load,
message queue handlers for scheduler context are not
registered. While handling the FW down event, driver
posts the message to scheduler queue. Since the queue
handler is not registered, it results in crash.

To address this issue, handle the msg gracefully and
return error in case callback is not registered.

CRs-Fixed: 3251983
Change-Id: I5dd55e701cf332153dca1f6678271506b9690f6e
2022-08-17 16:04:02 +05:30
Vulupala Shashank Reddy
796e14de23 qcacmn: Update dp_get_pdev_param for Channel and frequency
Add provision to get channel and frequency from pdev.

Change-Id: I73f291ebf1517f7f2885853d43b873cfdbd86a93
CRs-Fixed: 3248485
2022-08-03 14:25:41 +05:30
Madhvapathi Sriram
ad79a12e2a qcacmn: Initialize wlan config structure
When RRI over DDR feature is not enabled,
the variable rri_over_ddr_cfg_valid goes uninitialzed.
This can lead to unpredictable behaviour.

Fix this by initializing pld_wlan_enable_cfg to zero
before use.

Change-Id: I485dc552201111834375411b9a493ddbf9a7505c
CRs-Fixed: 3176497
2022-07-12 09:49:43 -07:00
Rahul Gusain
2c7cff8715 qcacmn: Fix buffer overflow written in the dp_soc_interrupt_detach
Use sizeof instead of REG_BAND_UNKNOWN to fix buffer overflow written
in the dp_soc_interrupt_detach.

Change-Id: Iffad59346c487e34632f1c60b2c88e635f6e83a0
CRs-Fixed: 2822433
2022-07-12 16:21:46 +05:30
Surya Prakash Sivaraj
632f6b3e9e qcacmn: Update preauth candidate entry to scan table
During SAE roam auth offload, update the beacon/probe response
frame coming from the FW via WMI_ROAM_FRAME_EVENTID into the
scan db.

When the bss info of the preauth candidate is unavailable in
the host/kernel scan entry, supplicant fails to determine the
proper SAE PWE config of the peer and the commit request fails.

Change-Id: I8537147104f30b74ffb2e87946f2e5f4b129f0df
CRs-Fixed: 3075460
2022-07-08 09:07:34 -07:00
Yeshwanth Sriram Guntuka
3c030c2086 qcacmn: Add ini to set priority for TC ingress filter
Add ini support to configure TC ingress filter priority
value which would be used for TC based dynamic GRO.

Change-Id: I1742f4539353939e3a40ff4096b3f833f2029b12
CRs-Fixed: 3206817
2022-07-05 15:16:10 +05:30
Yu Tian
9bb66a7d99 qcacmn: Set BA status to active when receiving ADDBA event
Usually, ADDBA frame exchange is handled by HOST. But when this
is offloaded to FW, an HTT event is reported and HOST only needs
to update RX tid parameters, no need to send addba resp frame again.
BA status update is in addba resp TX completion, so there is no chance
to update this field in ADDBA offload case. This change is used to
set ba status to active to make ba session in correct status.

Change-Id: Iae4a1974cf4b8c55b20862df51b14d5011aefd73
CRs-Fixed: 3201455
2022-06-22 01:55:24 -07:00
Ananya Gupta
fa5d0cffab qcacmn: Increase status size for HTT WBM completion v3
In beryllium DP, htt_tx_wbm_completion_v3 is used in which
20B are used by host and only 16B is assigned to the htt tx
status.
To fix this, increase the macro HAL_TX_COMP_HTT_STATUS_LEN
to 20 bytes.

Change-Id: I973ba1f8118488089cd6d6baac7fd589886c2164
CRs-Fixed: 3199031
2022-06-02 01:14:59 -07:00
Jyoti Kumari
ee7e4cf08b qcacmn: Skip STA scan on 6Ghz and 5ghz indoor chan if SAP is up
Currently STA can scan and come up on 6Ghz or 5Ghz indoor channel
if hardware is non-dbs and SAP is present

As part of this change, do not allow STA to scan on 6Ghz and
5Ghz indoor channel for non-dbs hardware if SAP is present

Change-Id: I97759f8b2c6a1c460d90fbb797a0e64d2532797c
CRs-Fixed: 3186406
2022-05-25 12:31:41 +05:30
Surabhi Vishnoi
e1faf4064c qcacmn: Allow rx UDP packets during roaming before peer map is received
In VoIP cases, no or minimal packet drop is expected during
roaming. Currently, data packets are dropped in host if they
are received after roam sync indication from firmware and before
peer map indication is received due to invalid peer.
This change allows rx UDP data packets during roaming before
peer map indication is received from FW if peer's auth_status
received in roam_sync_indication from FW is authorised.

Change-Id: Ic518b7cd0aef48a2b0f8c923a2e20838b07f3d1f
CRs-Fixed: 3168603
2022-05-22 17:33:29 -07:00
Sheenam Monga
528e81a13b qcacmn: Add support for lower span active and passive dwell time
Add LOW_SPAN_ACTIVE_DWELL_TIME and LOW_SPAN_PASSIVE_DWELL_TIME
macro support to keep all 2.4g/5g active/passive dwell time
same for low span scan mode.

Disable adaptive dwell to firmware so that firmware cannot
modify dwell time.

Change-Id: Iff05dd7b37a40226c61b28a1e59ea8aa8c57cb52
CRs-Fixed: 3076163
2022-05-18 01:09:37 -07:00
Sai Pavan Akhil Remella
7700a1544e qcacmn: Add mode based flags to channels in PNO request
Currently 6 GHz channel flags are not set for channels
present in the list from PNO scan request but are set for
all other 6 GHz channels which are added when either of the
two below conditions are satisfied
1. Userspace sets NL80211_SCAN_FLAG_COLOCATED_6GHZ flag
in PNO scan request.
2. At least one 6 GHz channel is present in the PNO scan req.

Add flags for channels in the PNO scan request based on the
scan_mode_6g ini configured similar to active scan request.

Add changes to remove the RNR flag for the channel if the
corresponding short SSID entry is present in the RNR db
Cache since if colocated SSID is different userspace doesn't
include corresponding 2.4/5 GHz channel information in PNO
request.

Change-Id: I22c4f7ecf65d4ab09dfbbe126aefe02f9145de42
CRs-Fixed: 3119113
2022-05-15 23:29:35 -07:00
Gururaj Pandurangi
e19169dc46 qcacmn: Reduce logging in get 6G power type for country API
Optimize the checks in reg_get_6g_power_type_for_ctry API to
reduce logging. Logs will appear only during initial connection
and not after parsing each beacon.

Change-Id: I4c4904c4825cd822d119e4ee9b2c69e96612be31
CRs-Fixed: 3094366
2022-05-14 09:12:32 +05:30
Aravind Kishore Sukla
b925919305 qcacmn: Replace kmsg logs to debug logs
Change kernel log level to debug level

Change-Id: Ib2736aff0f653d046d502d460f204bba2247246f
CRs-Fixed: 3182588
2022-05-13 17:01:16 -07:00
Gururaj Pandurangi
b8894c96e2 qcacmn: Allow STA in LPI mode if AP ctry US and advertises LPI
The existing logic is if STA and AP have different ctry code,
and STA is in ETSI, then it operates in VLP mode irrespective
of AP ctry.
New logic would be if AP ctry is US and if it advertises LPI
power type in HE ops IE via beacon, then STA can advance to
LPI mode.

Change-Id: Ifbee7052854277c3d21ccd21b65b79edb5e89f46
CRs-Fixed: 3084589
2022-05-13 12:05:08 -07:00
Gururaj Pandurangi
0b62d7f8ac qcacmn: Allow scan/connection if RF test mode/Safe mode enabled
Currently if AP and STA have different ctry codes, STA should
operate in VLP mode. And if STA ctry code is US, then scan and
connection are not allowed as US VLP is not supported yet.
However, if RF test mode or Wi-Fi Safe Mode is enabled, allow
scan and connection on this AP and STA can operate in LPI mode.

Change-Id: I513657b8e274ef07eb9e9b5fc265722cb01525de
CRs-Fixed: 3079537
2022-05-13 12:05:01 -07:00
Jia Ding
5a4270c914 qcacmn: Add support to calculate uplink delay
Add support to calculate uplink delay on a per vdev basis.
The delay calculated excludes bus delays, where packet
enqueueing time and complete time are fetched from HW release
ring.

Change-Id: I4bbcbf28b197f7a87cb822a841f1f957ebcf063b
CRs-Fixed: 2958833
2022-04-26 16:15:45 -07:00
Jia Ding
80e3b667eb qcacmn: Get buffer_timestamp from wbm release ring
Upon TX completion, get buffer_timestamp from wbm release
ring descriptor.

Change-Id: I0203b51c52a265711e62afc3a940392674ac014a
CRs-Fixed: 2978492
2022-04-26 16:15:37 -07:00
Jia Ding
d7b2a52591 qcacmn: Extend QCA vendor command for TSF to enable and disable auto report
Add TSF cmd to enable and disable automatic TSF report from the target
to the host.

Change-Id: I17b255299f55b8e78968d951824726d533a7c6e9
CRs-Fixed: 2991909
2022-04-26 10:40:22 -07:00
Jia Ding
0c4768e17a qcacmn: Add channel load percentage attribute into QCA vendor command
Add channel load percentage attribute in enum ll_stats_results.

Change-Id: Ib3603730e93d70ab1adc384b0c438f198fc889e9
CRs-Fixed: 2990868
2022-04-26 10:40:16 -07:00
Jia Ding
abc88bbfd1 qcacmn: Add uplink delay attribute in QCA vendor command get_sta_info responses
Add uplink delay attribute in responses of
QCA_NL80211_VENDOR_SUBCMD_GET_STA_INFO vendor command.

Change-Id: I9f1d6f1a8e9135ed18949759a837c866005b43c5
CRs-Fixed: 2990880
2022-04-26 10:46:17 +08:00
Surabhi Vishnoi
b0f7e54d28 qcacmn: Change the log level from info to info_high
Change the log level of addba request from info to info_high.
This is done to reduce the delay due to console logging in
roaming path.

Change-Id: I2f6021bfeca78d5f5ab58d2b3659a0082737ae16
CRs-Fixed: 3132069
2022-04-21 07:13:19 -07:00
Jingxiang Ge
c756f29ff0 qcacmn: Change ce desc history from dynamic to static
As dynamic allocation occupy cnss prealloc memory, which may
cause this prealloc pool to be exhausted.

Move dynamic memory to static.

Change-Id: Ia3500868cbcdbd9676f72a3588462ab0d6a21088
CRs-Fixed: 3171015
2022-04-20 17:51:58 -07:00
Balaji Pothunoori
69fc398887 qcacmn: Add QCA vendor attribute to enable/disable FT over DS
Add QCA vendor attribute QCA_WLAN_VENDOR_ATTR_CONFIG_FT_OVER_DS
to configure FT over DS to the driver/firmware.

Change-Id: I0745c27c6bc0a8d1075d753f1d898870479105f8
CRs-Fixed: 2968681
2022-04-19 06:17:03 -07:00
Balaji Pothunoori
153cfbb210 qcacmn: Vendor command to config concurrent STA connection policies
Introduce a QCA vendor command to configure the concurrent connection
policies when multiple STA interfaces are (getting) active.

Change-Id: I574880e526e4aa8e179b417fbcba6d7e9e9fcfb1
CRs-Fixed: 2915545
2022-04-19 06:16:35 -07:00
Prateek Patil
0c9c3f05b1 qcacmn: Return if pld_is_pci_ep_awake is not supported
Add check for verifying pld_is_pci_ep_awake support before waiting till
EP vote reset is done after reg completion

Change-Id: I9061c212c115d158aec63464eedcf6ca98e11a56
CRs-Fixed: 3038992
2022-04-14 01:46:31 -07:00
Sai Pavan Akhil Remella
b3decce9b5 qcacmn: Add API to get min_dwell_time_6g configured ini
Added API support to get min_dwell_time_6g configured value
from the ini.

Change-Id: I214871afdde26bd4d7ca9796e264ed9699f5dd58
CRs-Fixed: 3143107
2022-04-12 01:38:31 +05:30
Yu Wang
94ae7751bc qcacmn: skip MBSSID processing if it's not supported
The Multiple BSSID field (Bit 22) in Extended Capabilities indicates
whether MBSSID is supported or not. Skip MBSSID processing if the
field is NOT set in beacon.

Change-Id: Id18318587cb9d26fa6315202b5bbe98ef8870fdd
CRs-Fixed: 3160715
2022-04-11 07:42:48 -07:00
Naman Padhiar
a19907c7ac qcacmn: Use a max of 5 WBM2SW rings for whunt failure
The maximum WBM2SW rings in whunt for MSL is 5 and
the same could be 4 in wlan code which will result
in wcov failure for MSL. Use a maximum of 5 WBM2SW
rings for HSP based on FW_SIM config flag to address
this failure.

Change-Id: I16770566710efeeea7acbb51f6710e7a996b5cac
CRs-Fixed: 3167050
2022-04-05 11:54:23 +05:30
Yu Tian
cf865a8b53 qcacmn: Add an ini control to disable Dynamic GRO feature
Dynamic GRO feature is enabled by default and aimed for specific
customers. Add an ini control to allow other customers to config
this feature enable/disable.

Change-Id: I7f505599327ac131b3cdac9b4d9e038861b1aeb6
CRs-Fixed: 3074689
2022-03-24 14:11:46 +08:00
Amit Mehta
1fc8c2abd1 qcacmn: Set default value for REO dest ctrl register
Currently in some case we are receiving non error packets on REO2TCL
ring, which is causing issue.

Fix is to set DEST_RING_MAPPING_0 to SW1 for REO dest ctrl
register, So that non error packets with reo_destination_indication
with 0x0 in the reo entrance ring will be routed to SW1 ring.

Change-Id: I67f78f35e7dba899943307902d99d0325a60498f
CRs-Fixed: 3150186
2022-03-21 04:33:43 -07:00
Sai Pavan Akhil Remella
87b0fe29b4 qcacmn: Allow FW to pno scan 6G chan based on RNR flag only
First host checks below two things in PNO scan request:
1. Userspace sets NL80211_SCAN_FLAG_COLOCATED_6GHZ flag
in pno scan request.
2. At least one 6G channel is present in the pno scan req.

If any of above conditions satisfy, Host fills all remaining
(other than channel(s) present in pno scan req) valid 6 GHz
channel(s) to pno scan requests and set the flag
FLAG_SCAN_ONLY_IF_RNR_FOUND for each remaining channel(s).
Host sends this updated channel list via WMI command
WMI_START_SCAN_CMDID_param_tlvs->channel_list for pno scan
to firmware.

By this driver allows Firmware to scan 6G channels based on
RNR IEs only (for colocated APs reported by 2.4/5 GHz APs).

Change-Id: Ib6118c4525e9fbe233eb6a7e07a4a3345d486e8a
CRs-Fixed: 3103923
2022-03-21 01:27:46 -07:00
Sai Pavan Akhil Remella
6f09bf189f qcacmn: Get per channel pno scan config service capability
Firmware advertises the service capability bit
WMI_SERVICE_PNO_SCAN_CONFIG_PER_CHANNEL when it supports per
channel scan config flags. Get this and cache in psoc.

If firmware supports WMI_SERVICE_PNO_SCAN_CONFIG_PER_CHANNEL,
it uses the upper-12 bits(bit-20 to bit 32) of channel_list
for flags and lower 20-bits(bit-0 to bit-19) for frequency.
If firmware doesn't support it, then channel_list holds the
frequency value only. Fill the flags and frequency accordingly.

Change-Id: I30d36a3c164e23cf0395129e5b93d186b81aa8a6
CRs-Fixed: 3103921
2022-03-21 01:27:41 -07:00