Commit Graph

1090 Commits

Author SHA1 Message Date
Nandha Kishore Easwaran
c6ca857257 qcacmn: Support for IPQ8074 2G PHYB mode 1/3
This mode is supported through hw_mode_id 7. A special mode for
IPQ8074 platform alone to bring up single pdev alone on 2G mode.
FW would advertise the mode 7 support through the WMI service
ready message and this mode will be the default mode for AP-HK10 alone.

Added a function to update the svc_id mappings for this mode as FW
requires WMI commands to be received through CE 7 for this mode.
Also adjusted the preferred mode precedence to give high precedence
to mode 7.

Change-Id: Id637c59e9528779e38737b7d74b000abf2e9db9d
2020-04-08 13:43:14 -07:00
gaurank kathpalia
3765db635c qcacmn: Add ini to enable/disable self roaming
Currently the driver allows roaming to the BSSID
which it is already connected, which can lead to
many unexpected behaviour, for eg. if the SAP
to which the DUT is connected turns off, then the
DUT would try to roam to other BSSID of the same
SSID, and in case the SAP turns on back in time,
then the DUT would re-associate to the same BSSID.
Now if the subnet may change, and since the DHCP
does not happen again in roaming, it would then
lead to NUD failure.

Fix is to introduce an ini to allow/disallow
roaming to the same BSSID.

Change-Id: I38887bbfb74c4856a06956591be4159734f7fbf0
CRs-Fixed: 2650346
2020-04-06 05:55:40 -07:00
bings
54a116dfa1 qcacmn: Add common wmi event path for wmi event from htc and qmi
Crash happens if wma_handle->link_stats_results is allocated and
freed by two threads at the same time.

WMI event should be handled uniformly whether it is from htc or qmi

Change-Id: I415fd228d15c1342944e77a74e564fe46dd9a5c5
CRs-Fixed: 2648865
2020-04-03 12:13:05 -07:00
gaurank kathpalia
f1f9621603 qcacmn: Flush the blacklist BSSIDs in FW
Currently, the expectation from the BLM is to flush
all the BSSIDs which are present in the blacklist
when the user does an explicit on-off, which is
meeting the expectation, but the FW does not flush
this info which leads to async between the two.

Fix is to send zero blacklist BSSID to FW during
Wifi-off so that it also flushes the list.

Change-Id: I0b7c10a31c1e47dc40d0390697efe41232c61cb1
CRs-Fixed: 2654183
2020-04-02 23:55:38 -07:00
Bapiraju Alla
d5d364a58d qcacmn: Add new WMI API for OCL command
Currently there is no provision to configure OCL mode in FW during
driver bootup.

To enable this configuration add a new WMI API wmi_unified_send_ocl_cmd.

Change-Id: Idb936172612ff2ed8ea029d8a363b758625eb97d
CRs-Fixed: 2647631
2020-04-02 00:12:29 -07:00
Bapiraju Alla
acf898a145 qcacmn: Fix return type for scheduler_msg callbacks
This fixes a CFI failure in callback assignment

Change-Id: I760b41b81c006187efb162d410390e1c11878b82
CRs-Fixed: 2643320
2020-04-01 12:40:45 -07:00
gaurank kathpalia
dfbe7d4fd0 qcacmn: Add support for STA+NAN+NDI+NDI
Add support for four port concurrency STA +
NAN discovery + NDI +NDI

Change-Id: I2db59c9c467a7211342c48aa61a2b9faf30a1ea5
CRs-Fixed: 2633983
2020-04-01 10:47:17 -07:00
Arun Kumar Khandavalli
2982c3a17a qcacmn: update the hang data for wmi
whenever there is a wmi timeout and recovery is triggered, the
wmi history gives insight into reason for the recovery, hence save
the last 5 commands/events to understand the reason for the hang
recovery.

Change-Id: Ie4e0431a8fa6971e6b25b20a6f267341d3f3f4fd
CRs-Fixed: 2650340
2020-03-31 18:16:18 -07:00
Wu Gao
ce9aa9088e qcacmn: Fix compilation issues
This is part of moving CFR component to hostcmn. Fix compilation
issues in this change.

Change-Id: Ia0a40da1e7e9201ffc5d1700cccea4181b358842
CRs-Fixed: 2637129
2020-03-30 22:56:08 -07:00
Gurumoorthi Gnanasambandhan
806b7c72df qcacmn: Beacon protection support
Changes to support Beacon protection. Additional key ix 6 and 7
support BIGTK. Update beacon template for Beacon protection support.

CRs-Fixed: 2632290
Change-Id: Ic37d17f5076bb28d2e1f2430da039cc8b9f759b6
2020-03-30 13:40:07 -07:00
Naga
b805e1fa7b qcacmn: Remove redundant data structure for wmi response extraction
Remove redundant data structure at wmi for vdev delete
response extraction, instead use mlme host data structure.

Change-Id: Iedb4280fb47d6567bc4d7b663ecd6af5e769ddfc
CRs-Fixed: 2641197
2020-03-29 23:02:40 -07:00
Naresh Parat
0e1692f8e7 qcacmn: Add third argument to WMI_DBGLOG_CFG_CMDID
This will allow dbglog_cmd in non-tlv path
Since the fw_header structure "struct dbglog_config_msg_s" variable
"cfgvalid" increased size by one

Change-Id: I0ea9782895083b88250e9187e95456f57fa948b9
CRs-Fixed: 2626544
2020-03-29 07:29:11 -07:00
Pragaspathi Thilagaraj
d449534d0b qcacmn: Fix null pointer dereference at extract_11kv_stats_tlv
In function extract_roam_11kv_stats_tlv, the 11kv channels
tlv is read from the roam_neighbor_report_chan_info tlv if the
neighbor_report_channel_count in roam_neighbor_report_info tlv
is greater than 0. But in some cases, firmware sends value
in the roam_neighbor_report_info->neighbor_report_channel_count
but the roam_neighbor_report_chan_info tlv is not present.

Log error and return if
roam_neighbor_report_info->neighbor_report_channel_count is not
0 and roam_neighbor_report_chan_info tlv is null.

Change-Id: I7fa17d3afaf9d7e6736ad96c60bc5013197480f3
CRs-Fixed: 2644308
2020-03-28 22:00:10 -07:00
Sourav Mohapatra
1f21eadadf qcacmn: Extend qdf_trigger_self_recovery to include psoc granularity
To undergo self recovery, the driver uses qdf_trigger_self_recovery to
initiate the sequence. Currently, this framework is valid for only a
single psoc driver.

Extend this framework to include support for multiple psoc driver by
providing the psoc on which the recovery has to be undertaken.

Change-Id: I782b505c03819223a914dabe7673b369aa175b7c
CRs-Fixed: 2617707
2020-03-27 10:19:41 -07:00
Naga
c6e9bd033c qcacmn: Remove redundant data structure for wmi response extraction
Remove redundant data structure at wmi for vdev delete all peer
response extraction, instead use mlme host data structure.

Change-Id: Ice91f55e0bf8a23ea1a639a74f6a8ac3b2779a7b
CRs-Fixed: 2641261
2020-03-26 14:26:57 -07:00
sheenam monga
06869dc028 qcacmn: Send oce_ap_tx_pwr_weightage_pcnt to firmware
In struct weight_config, "oce_ap_tx_pwr_weightage" added newly.
Station uses "oce_ap_tx_pwr_weightage" as one of the parameter for
selecting AP candidate during initial connection. Host sends
"oce_ap_tx_pwr_weightage" ini value to firmware over WMI command
WMI_ROAM_AP_PROFILE.

Add oce_ap_tx_pwr_weightage in scan object scoring param to calculate
weightage based on AP tx power and select candidate accordingly.

Change-Id: I7f717e9cc398e8b9307f2f464f972b095c06364b
CRs-Fixed: 2647116
2020-03-26 07:13:13 -07:00
Qun Zhang
4bc614dd0c qcacmn: Replace QDF_MAX_NUM_CHAN with NUM_CHANNELS to aviod OOB access
Currently QDF_MAX_NUM_CHAN and NUM_CHANNELS aren't aligned, this unalignment
may cause many potential OOB access. So replace QDF_MAX_NUM_CHAN with
NUM_CHANNELS to keep unified.

Change-Id: I7bf7829d776f7caf5b2afbd2c9fd0c20d608e630
CRs-Fixed: 2644073
2020-03-25 07:09:34 -07:00
Padma Raghunathan
cd48f1cca3 qcacmn: DBR: Fix macros used to get/set entries in DBR ring
Fix incorrect usage of WMI_HOST_F_MS and WMI_HOST_F_RMW APIs
in DBR layer.

Change-Id: Ia0f8ebd2d24ca9648b34440f0197473243441951
CRs-Fixed: 2643586
2020-03-25 02:05:56 -07:00
Naga
c0cb57c6fc qcacmn: Remove redundant data structure for wmi response extraction
Remove redundant data structure at wmi for vdev start
response extraction, instead use mlme host data structure.

Change-Id: Ie0d3e6fa0acb1fea8bc0f50095491dbe803f6810
CRs-Fixed: 2641085
2020-03-24 21:38:47 -07:00
Wu Gao
6c92dfdcf0 qcacmn: Convert host pdev id to target
WMI commands for DBR and CFR are based on pdev id, so need to convert
host pdev id and target pdev id when tx wmi commands or rx wmi events.

Change-Id: I54bf4a28a285e5b4dfdd125aeaabb9968a6d052a
CRs-Fixed: 2634729
2020-03-24 04:57:44 -07:00
Vignesh U
6933f411c1 qcacmn: Add support to configure 165MHz Agile channel
The FW has updated the wmi command wmi_vdev_adfs_ch_cfg_cmd_fixed_param to
configure the Agile channel to enable the 165MHz channel as an Agile
channel by enabling 2 center frequencies.

For a 160MHz and 80MHz channel, the parameter center_freq1 will be the
center of the respective channels. For the 165MHz channel(restricted 80p80)
the parameter center_freq1 will be the center of the left 80MHz channel
(5690MHz) and the parameter center_freq2 will be the center of the right
80MHz channel (5775MHz)..

Update the ADFS parameters across UMAC, TARGET_IF and WMI layes to
update the Agile channel configuration command.

Change-Id: Ie480af9a6bb8dad87dd783ab06e17b449605b1c9
CRs-Fixed: 2642555
2020-03-24 02:42:43 -07:00
gaurank kathpalia
644413b274 qcacmn: Do a full scan if no candidate found
Sometimes if the user changes his location in the
connected state it may happen that the scan does not
happen and thus the AP cache channel map would not be
updated.
Now if partial scan happens due to a roaming trigger then
the candidate would not be found and thus would effect
roaming.
To avoid this set a full scan in roam invoke if the APs
are not found in the partial scan.

Change-Id: I2d2fd94760de78eaf495effc9caf8cca66c50ff6
CRs-Fixed: 2636431
2020-03-21 05:32:23 -07:00
Srinivas Dasari
069884fe62 qcacmn: cleanup NAN/NDP logging
Few NAN/NDP logs are redundant in the current logging infra.
Optimize the same and add few necessary logs.

Change-Id: I9621416f7c9b17fe62db32bea48d4de0122ce17e
CRs-Fixed: 2644420
2020-03-20 00:16:13 -07:00
Amruta Kulkarni
9b01e38405 qcacmn: Add support to handle assoc reject based on rssi
When AP rejects assoc request based on poor rssi
host will put the AP in blacklist mgr list, only when
rssi value improves by threshold value,should the
STA try to connect to AP.

Change-Id: Ie40d29cbb63f337f8560c08290300f575c0e2b72
CRs-Fixed: 2632022
2020-03-19 12:42:48 -07:00
Abhinav Kumar
3d4911dc92 qcacmn: Log enhancement for PNO scan
Enhance logs for PNO scan to remove duplicate
or unwanted prints and keep only useful logs to debug.

Change-Id: Ibe24714e925a00933911c801685528849e160480
CRs-Fixed: 2636641
2020-03-19 10:46:08 -07:00
Rhythm Patwa
78ddddb141 qcacmn: Add WMI support to enable injector frame cmd
Add corresponding WMI host param for enabling the
injector frame on the AP.

CRs-fixed: 2640751
Change-Id: I00a634375e0eafbacfd505aa39dce9c8d90804c6
2020-03-16 13:52:34 -07:00
Sumedh Baikady
c673777be4 qcacmn: Add WMI event support for dynamic Muedca
Add support for WMI event to host to process
dynamically selected Muedca values and update
the mgmt frames with the new set of values.

Extract the params and store in Muedca_param
struct from control path, to be used for
updating mgmt frames.

Change-Id: I6cc7756d1a246ff994edef195f6191d280bc5c47
2020-03-14 09:15:20 -07:00
sheenam monga
a6cb1901a5 qcacmn: Log optimization for NCHO
Currently information is printed in multiple lines that
can be represented in single line.

Change-Id: I7f53acaa4cabd1c970b06cdd82e0c462ffcdffe1
CRs-Fixed: 2617812
2020-03-05 05:38:38 -08:00
Himanshu Batra
ba2b72b351 qcacmn: Update the wmi flags for bcn rate code
In the current implementation the wmi cmd flags to enable bcn rate
code n start req are not getting updated as the flag param is passed
to the API by value and not by reference.
Update the API argumets to pass the wmi cmd flag param by reference.

Change-Id: I8bca4ce78ce68f7b0d05af871641a86bf6622607
CRs-Fixed: 2633704
2020-03-05 01:40:28 -08:00
Pankaj Singh
ab8d9337ce qcacmn: Clean up logs in Tdls path
Clean up redundant logs in tdls path.

Change-Id: Ibb47110b82ffc6ddd37442f5a058746d4350cfe3
CRs-Fixed: 2625103
2020-03-03 18:55:25 -08:00
Paul Zhang
e54fd8b367 qcacmn: enable/disable detecting interop issues ap
Per flag detect_enable to enable/disable detecting
interop issues ap function in firmware.

Change-Id: I52617e3700a3c79fc5b72c53af6d4b8db5e97879
CRs-Fixed: 2602001
2020-03-03 14:18:20 -08:00
Pragaspathi Thilagaraj
7a60a81d3a qcacmn: Use enum roam_trigger_reason for fw bitmap conversion
From upper layers the vendor specific control roam bitmap is
converted to unified enum roam_trigger reason. From this bitmap,
deriver the fw trigger reason bitmap at
convert_control_roam_trigger_reason_bitmap.

Depreciate the roam_control_trigger_reason enum.

Change-Id: I64ac273d88b696c32c5b72462454a8983774ef90
CRs-Fixed: 2631968
2020-03-03 04:02:29 -08:00
Adwait Nayak
99a4329e07 qcacmn: CFR: code clean up
Remove unnecessary inclusion of cfr_api.h
and fix the return types

Change-Id: I85fb45777e527b46ad086a3d3211cdf6019312ec
CRs-Fixed: 2609610
2020-02-27 14:52:15 -08:00
Vulupala Shashank Reddy
616976e2ce qcacmn: Add support to include ACK status and tx retry count
Extend radiotap header to append ACK status and tx retry count
for packets sent to virtual mon interface.

Change-Id: I51037ffd11dfdee49278d43643fb7861a514ee18
CRs-Fixed: 2627710
2020-02-26 22:39:17 -08:00
hqu
e6d0730c6b qcacmn: Rename is_target_pdev_id to is_host_pdev_id
It's more suitable that rename is_target_pdev_id to is_host_pdev_id.

Change-Id: I5ec8971ac564e1a26f1b544f9bc2cc08e29f949d
CRs-Fixed: 2627802
2020-02-26 11:40:32 -08:00
Abhinav Kumar
edda5aa847 qcacmn: Send WMI_ROAM_OFFLOAD_FLAG_SAE_SAME_PMKID flag to FW
Send new flag WMI_ROAM_OFFLOAD_FLAG_SAE_SAME_PMKID through
11i offload param to indicate fw whether WLAN_SAE_SINGLE_PMK
feature is enable or not.

If flag is set, fw should use single PMKID for SAE roaming
between VSIE AP(s), else fw should complete roaming by
doing full SAE authentication.

Change-Id: I9c88772c9571230c38e2cfa41c8a0c79663572ab
CRs-Fixed: 2616046
2020-02-26 06:42:37 -08:00
Ananya Barat
cbee232e21 qcacmn: Do not allocate memory of size zero
In a few scenarios, the number of reg rules can be 0.  For example,
for  a  2Ghz-only radio  there are no 5Ghz reg rules.  In such cases,
if we try to allocate memory (0 bytes) the allocation function prints
an error message. Also, the allocation is not required. Therefore, avoid
the allocation when the number of rules is zero.

Change-Id: Ic9caf578541970e9cf12cdde181f23762f137db8
CRs-Fixed: 2622109
2020-02-26 04:54:08 -08:00
Abhinav Kumar
0cb7296478 qcacmn: Optimize logs for roaming and tdls
Optimize logs for roaming and tdls

Change-Id: I55d3f1242c240064fe34dbfe6552ee5bae6522f6
CRs-Fixed: 2627699
2020-02-25 15:32:37 -08:00
Linux Build Service Account
be01c0d348 Merge "qcacmn: Add corresponding host wmi for roam reason vsie vdev param" 2020-02-24 08:43:32 -08:00
Dundi Raviteja
459060642c qcacmn: Add wmi interface changes to extract mgmt offload event
Add wmi interface changes to extract mgmt offload event params
when WLAN_FEATURE_PKT_CAPTURE is enabled.

Change-Id: Icacd65a99953fdc77b2c6823e9d26baaed3737c8
CRs-Fixed: 2619316
2020-02-20 21:36:26 -08:00
gaurank kathpalia
b73ede30b8 qcacmn: Add support for NAN msg in kmsg
Add support for the following NAN messages in kmsg:-
1. NAN enable status
2. NAN, NDP match events
3. NDP channel info.
etc.

Change-Id: I7f67b67153904b7efe8a708e3f93d069e399395c
CRs-Fixed: 2618433
2020-02-20 01:09:04 -08:00
Ashish Kumar Dhanotiya
07810f61ce qcacmn: Reduce logging while printing channel list
As part of logging optimization, reduce logging while
printing channel lists.

Change-Id: I0241dc4dbaa3879bbe354a0e4750a0d559d1ba40
CRs-Fixed: 2624517
2020-02-19 19:26:27 -08:00
Gurumoorthi Gnanasambandhan
c4880c3a0b qcacmn: WMI tlv support to profile commands
WMI_WLAN_PROFILE commands support for tlv path.
Add WMI profile enable and trigger commands in tlv path

Change-Id: I10f867b181b559b82c097d6a61236f2145549238
2020-02-19 10:08:40 -08:00
Sourav Mohapatra
9fae7f7537 qcacmn: Clean up logs in STATS path
Clean up logs in STATS request and response path.

Change-Id: I45135233eb4c10793dc9c62f28d91c49183a0a09
CRs-Fixed: 2618310
2020-02-19 04:58:56 -08:00
sheenam monga
b0a5a85ebb qcacmn: Add corresponding host wmi for roam reason vsie vdev param
Add host wmi vdev param 'enable_disable_roam_reason_vsie' for the
corresponding FW wmi WMI_VDEV_PARAM_ENABLE_DISABLE_ROAM_REASON_VSIE

Change-Id: I64d7566641888107f26ccdf87efc38132bf7be05
CRs-Fixed: 2624734
2020-02-19 13:46:48 +05:30
Linux Build Service Account
67ef957780 Merge "qcacmn: Rename cmd ring to cmd_credit ring" 2020-02-15 11:08:15 -08:00
Shashikala Prabhu
3aa150756b qcacmn: Use restricted 80+80 MHz service bit instead of 165 MHz
For restricted 80+80 MHz FR, target team initially added
wmi_service_bw_165mhz_support to indicate the target is capable of
supporting restricted 80+80 MHz.
Later, they have added wmi_service_bw_restricted_80p80_support to indicate
the same. Therefore rename wmi_service_bw_165mhz_support as
wmi_service_bw_restricted_80p80_support.

Change-Id: I12229b5d35911d4c34e63902c09592187d902bed
CRs-Fixed: 2621249
2020-02-14 10:46:07 -08:00
Abhishek Ambure
122adb67b3 qcacmn: Add support to get roam scan channel list from fw
Firmware advertises WMI_SERVICE_ROAM_SCAN_CHANNEL_LIST_TO_HOST_SUPPORT
at the time of initialization, that means host can querry for roam scan
channels list to firmware.

Host driver sends WMI_ROAM_GET_SCAN_CHANNEL_LIST_CMDID to firmware to
querry roam scan channels list and firmware responds with an event
WMI_ROAM_SCAN_CHANNEL_LIST_EVENTID.

Change-Id: I419a0206d7b06b6186d0c333c951bca5206f342f
CRs-Fixed: 2620607
2020-02-14 00:59:21 -08:00
Linux Build Service Account
8f7b57c903 Merge "qcacmn: Add dcs component" 2020-02-13 07:38:30 -08:00
Linux Build Service Account
71dccc8bc2 Merge "qcacmn: Set DBS scan if ndp peers are active" 2020-02-13 04:38:15 -08:00