Commit Graph

441 Commits

Author SHA1 Message Date
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
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
hqu
fed4bfb049 qcacmn: Add dcs component
Add dcs component to implement interference detection algorithm
and dynamic channel selection frequency control.

Change-Id: Ia201d77e77feb9de3aff03d6e389d4891dde118e
CRs-Fixed: 2594837
2020-02-13 04:12:30 -08:00
Surabhi Vishnoi
d6e10c598e qcacmn: Add function to extract the events for FTM TIME SYNC feature
This patch adds the function to extract and parse the wmi events
WMI_VDEV_AUDIO_SYNC_START_STOP_EVENTID and
WMI_VDEV_AUDIO_SYNC_Q_MASTER_SLAVE_OFFSET_EVENTID. These events are
required for ftm time sync feature.

Change-Id: Ib17da82b7a8abfcff5d18125a0ba0e5249d6bf54
CRs-Fixed: 2615452
2020-02-08 00:48:40 -08:00
Shashikala Prabhu
29aca291c5 qcacmn: Add WMI support for native 160MHZ
A service bit is added to indicate Firmware supports sending NSS ratio
information to Host and Host receives the NSS ratio information from
Firmware as part of service ready ext event. Save this service bit in
soc's extcap feature bit. Extract the NSS ratio info from service ready
ext event and save the results in wlan_psoc_host_mac_phy_caps structure
to calculate NSS value.

Change-Id: I8fbee48d872b0724bbb629ad38b3c959736a3c39
CRs-Fixed: 2612959
2020-02-07 20:06:29 -08:00
Surabhi Vishnoi
2339b27eef qcacmn: Add wmi service for wlan time sync ftm feature
Add firmware service capability for wlan time sync feature.

CRs-Fixed: 2610094
Change-Id: I7ae0e004ef5dae37d10af3b844199008ab41141a
2020-02-03 19:47:34 -08:00
Linux Build Service Account
2a5e76f0c6 Merge "qcacmn: Add firmware service support" 2020-01-31 15:35:41 -08:00
Sandeep Puligilla
c4b7f66569 qcacmn: Add firmware service support
Firmware advertises service capability bit
WMI_SERVICE_PEER_DELETE_NO_PEER_FLUSH_TIDS_CMD
when peer delete command takes care of flush
all tids functionality.

If this service bit is set advertised by FW
then host does not need to send the flush tid
command before sending the peer delete command.

Change-Id: Ic6632772eeebc7f1494f1dd5e9d533b2bc22e533
CRs-Fixed: 2609962
2020-01-31 14:35:32 -08:00
Linux Build Service Account
f91621de73 Merge "qcacmn: Send val of separate iface support for NAN INI to Fw" 2020-01-31 05:37:07 -08:00
Abhinav Kumar
b59458c284 qcacmn: Send val of separate iface support for NAN INI to Fw
Update value of new ini for separate iface support for NAN
"nan_separate_iface_support" to fw through a command
WMI_INIT_CMDID.

Change-Id: I55830e0d16d86ee5a0bfa7d3e44c6309c0d3d54b
CRs-Fixed: 2612010
2020-01-31 00:57:35 -08:00
Surabhi Vishnoi
61df09450e qcacmn: Add wmi interface changes for wlan time sync eventid
Add wmi event id's for ftm based wlan time sync feature.

CRs-Fixed: 2610092
Change-Id: Ifd7b10bbbe2b4c3f954233da55f318bef99fa13a
2020-01-30 23:23:33 -08:00
Linux Build Service Account
9468889cdf Merge "qcacmn: Handle roam stats event with neighbor report tlv alone" 2020-01-30 21:05:43 -08:00
Pragaspathi Thilagaraj
778e4b7163 qcacmn: Handle roam stats event with neighbor report tlv alone
Currently, the driver rejects the roam stats event if any of the
roam trigger or roam scan or roam results tlv is not present.
Now the firmware will send neighbor report immediately after the
neighbor report response is received from AP instead of buffering
it as done before.

So do not parse the roam trigger, roam scan, roam result tlv if
the tlv is not present. Add new flag in the tlv parsing structure
if the TLV is not present.

Change-Id: I366d8853f7f45dcdac6d4aa5c3a8a12a8b602a4f
CRs-Fixed: 2610377
2020-01-30 19:39:09 -08:00
Pankaj Singh
a973835c45 qcacmn: Add support for WLAN thermal mitigation
As part of new requirement WLAN subsystem needs to perform thermal
mitigation action as per the thermal state of the device. The
wifi hal sends vendor command QCA_NL80211_VENDOR_SUBCMD_THERMAL_CMD
with the thermal level parameter and wlan host performs the required
appropriate action. wlan host driver maps the thermal level to
corresponding duty cycle off percent value and duty cycle value,
send WMI_THERM_THROT_SET_CONF_CMDID cmd to FW.

Make changes to perform vendor command handling, mapping thermal level
to duty cycle value and communicating the thermal information to FW.

Change-Id: I5b455ae6483f3d5bf2fe708f40c32a55eb8b9bdb
CRs-Fixed: 2610404
2020-01-30 02:08:18 -08:00
Mainak Sen
394483b4a4 qcacmn: Add wmi config for AST flow override
Add wmi configuration to send AST flow override
config to wlan fw during init

Change-Id: Ia2915b40273bce25ab2cb48fdf34a618991c44bc
2020-01-27 17:37:25 -08:00
Srikanth Marepalli
7debbac825 qcacmn: Add support for pmkid generation fallback in FIPS mode
Add support to fallback the PMKID generation from firmware to
wpa_supplicant.
Firmware fallbacks PMKID generation to host when FIPS enabled
due to the crypto library availability limitation.
Once the roam candidate selection is done in the firmware, it
sends the WMI_ROAM_PMKID_REQUEST_EVENTID. Once this event is
received, the host driver triggers an event to wpa_supplicant
for PMKID generation.

Change-Id: Ica00d27ce3f9f4a8f966261b38e238c389fcf05c
CRs-Fixed: 2507617
2020-01-20 23:09:26 -08:00
Neha Bisht
5f25cbe8f2 qcacmn: remove fw headers in init_deinit component
Avoid direct fw headers usage in init_deinit component since
can have functional impacts. The inclusion is done at wmi level 
to fix the inconsistency of code. 

Change-Id: I73cc1aac500cec041de81750b9c7654d21344e6c
CRs-Fixed: 2505399
2020-01-19 23:40:21 -08:00
Debasis Das
96bf2aff93 qcacmn: Support multi_vdev_restart extension
Add extended multi-vdev-restart service to support
variable param list for pre-Lithium platforms.

Change-Id: I33a3677bdf97aea4be5a8a3759dc2d5ea8369f68
2020-01-19 11:57:27 -08:00
Chaoli Zhou
1f6c0cdad8 qcacmn: Add Genoa IPA disable info to WMI_INIT_CMDID
For Genoa, the WLAN FW enables IPA by default, if the
IPA is disabled by kernel config, the IPA status is
not same between wlanhost driver and WLAN FW. So add
such info in the first WMI command to let WLAN FW knows
the IPA state from host, and do the according copy engine
initialization, otherwise, the mismatch IPA copy engine
configuration will casue the Genoa FW assert.

Change-Id: Iec2f86ffb40b296c51bee41adc0d895beb200e5c
2020-01-18 06:28:32 -08:00
Santosh Anbu
3033883308 qcacmn: Support multivdev restart response handling
Add WMI change to support consolidated multi vdev
restart response handling.

Change-Id: I54e90af15f52204a28b85b4506ad2fb99930de3b
CRs-Fixed: 2593340
2020-01-16 08:09:11 -08:00
Rhythm Patwa
d1976297c8 qcacmn: Add corresponding host wmi for 6GHz vdev params
Add host wmi vdev param 'wmi_vdev_param_6ghz_params' for the
corresponding FW wmi WMI_VDEV_PARAM_6GHZ_PARAMS

Change-Id: I78022c7ff48a187bb4dd9d35f5eca3737afbd452
2020-01-15 19:33:21 -08:00
Rathees kumar Chinannan
e6d621740b qcacmn: Send re_ul_resp configuration through WMI resource config
Send configuration option to configure enable/disable of re_ul_resp..

Change-Id: I045e48bb1597c37805d792bdc34bcb34bcc0534c
2020-01-13 12:54:03 -08:00
Neha Bisht
741041405a qcacmn: Structure optimized through poke-a-hole tool
Structure memory is being optimized by aligning field with
bus address length using pokeahole tool.
This patch optimizes structure linked in wmi module
(for both 64 bit and 32 bit platform)

Structure                     Bytes saved(64bit)     Bytes saved(32bit)
fd_params                               8 bytes                 4 bytes
wmi_mgmt_params                         8 bytes                 4 bytes
wmi_offchan_data_tx_params              16 bytes                8 bytes
sta_uapsd_trig_params                   8 bytes                 0 bytes
wifi_passpoint_network_param            8 bytes                 8 bytes
ctl_table_params                        8 bytes                 4 bytes
mcast_group_update_params               8 bytes                 0 bytes
rtt_meas_req_params                     8 bytes                 4 bytes
wmi_host_peer_adv_stats                 8 bytes                 8 bytes
wmi_host_rf_characterization_event_param4 bytes                 4 bytes
wmi_host_oem_indirect_data              8 bytes                 8 bytes
wmi_oem_response_param                  8 bytes                 0 bytes

Change-Id: I539e0fe6c599aab70952b1ad26f92c0b9b94429f
2020-01-11 16:19:06 -08:00
Ankit Kumar
276b775f4d qcacmn: Hw vlan config wmi interface declaration
Hw vlan configuration wmi interface declaration for sending
command to fw to configure hw vlan configuration.

Change-Id: I11f78c7d5a0782ebaeef6aa43016600a345711b6
CRs-Fixed: 2596298
2020-01-07 13:43:40 -08:00
Srinivas Dasari
9c6a4d5279 qcacmn: Get the firmware capability NAN_VDEV_SUPPORT
Firmware advertises service capability bit NAN_VDEV_SUPPORT for
separate NAN vdev creation. This capability can be used to create
separate interface for NAN discovery and process corresponding
commands from userspace.

Change-Id: I4f81b354433c34e8bfe264f69e4eeaf6670f2fac
CRs-Fixed: 2592016
2020-01-01 12:00:01 -08:00
Adwait Nayak
e2ee56e574 qcacmn: CFR WMI implementation
CFR config is passed on to FW through WMI
CFR feature code is moved into feature specific WMI file.

Change-Id: I00b57ea2ef4ec5520eb565910ac2c0a6478170e3
CRs-Fixed: 2582846
2019-12-27 16:31:14 -08:00
nobelj
cf57a9af2a qcacmn: support 64 bits timestamp in wmi mgmt completion
added support for 64 bits timestamp that come for each tx
wmi mgmt completion

Change-Id: I70d66bcbe04aebad507a872faa97df8ab9752657
2019-12-22 23:51:04 -08:00
Rhythm Patwa
5618b01716 qcacmn: Add peer assoc param for 6GHz Band Capabilities
Add peer assoc parameter for 6GHz Band Capabilities information
for the corresponding FW peer assoc parameter.

Change-Id: I3bc4361e449843cf73db8426d3bd97dbcd9903ed
2019-12-21 11:01:57 -08:00
Alok Kumar
d08c290683 qcacmn: Add pktcapture support param and Offload event Id
Add wmi resource flag to send packet capture from host
to FW. Register Offload Event Id for packet capture mode.

Change-Id: Icd9e542a517c8b267a228324b7612ddded28f182
CRs-Fixed: 2528439
2019-12-19 14:15:23 -08:00
Ashish Kumar Dhanotiya
6078a89c07 qcacmn: Add support for oem data event
Currently use of comamnd QCA_NL80211_VENDOR_SUBCMD_OEM_DATA
is to pass data blobs from Application to FW but there is
no mechanism to send the data blobs from FW to Application.

To meet the above requirement update the usage of existing
OEM DATA command to use it as a vendor event as well to
send data blob from host to Application.

Change-Id: I8df98f850f4dd56f55dba43c5364a52c425ba9ed
CRs-Fixed: 2573468
2019-12-11 16:12:28 -08:00
Pragaspathi Thilagaraj
ab6b497e6d qcacmn: Add support for WMI_ROAM_STATS_EVENTID event
After every roam happens or when neighbor report is sent by the
firmware, it sends the WMI_ROAM_STATS_EVENTID to host.

Add support to handle WMI_ROAM_STATS_EVENTID event from target
after every roam.

Change-Id: I4474135ac64ebfb17109d503fbd1c3d637457a73
CRs-Fixed: 2576258
2019-12-10 19:40:49 -08:00
Disha Das
c076051dff qcacmn: Add GET PN WMI to obtain PN number
Add GET PN WMI to obtain the PN number for
a non-bss peer.

Change-Id: I8c999b3518b53e971d8207e74ce5e3a2f7d48aa8
2019-12-06 05:57:58 -08:00
Kiran Kumar Lokere
b49c9b7a2b qcacmn: WMI support for restricted 80p80 BW support
Add support to populate WMI service for restricted 80p80
bandwidth support.

Change-Id: I4c65573e3f6836119e70c7c2e3fc10a2e08b10a6
CRs-Fixed: 2574951
2019-12-04 14:41:08 -08:00
Liangwei Dong
49472056b2 qcacmn: Enable Fils Discovery frame sending in 6GHz SAP
To enhance visibility of 6GHz AP, 6G only AP shall send
Fils Discovery frame periodically in one beacon interval.

Change-Id: I51487380fca10418d2260dc2612e2adcf6cbb93b
CRs-Fixed: 2562434
2019-12-02 05:22:42 -08:00
tinlin
21f7286344 qcacmn: Add MIB statistics
Add new stats_id WMI_REQUEST_MIB_STATS &
WMI_REQUEST_MIB_EXTD_STATS in WMI_REQUEST_STATS_CMDID
to retrieve MIB statistics from fw.

Change-Id: I17bccc2673d1a2ce035db04d8426bab49db80790
CRs-Fixed: 2548165
2019-12-01 17:42:21 -08:00
Shashikala Prabhu
ae9e6c3f4e qcacmn: Add per chain NF variable to chan info event structure
Add per_chain_noise_floor variable to wmi_host_chan_info_event structure.

Change-Id: Iea594078aaa6d011f288bc970efcc143d6e99626
CRs-Fixed: 2561975
2019-11-27 07:05:27 -08:00
Sourav Mohapatra
328db7c79c qcacmn: Add support to send/receive ani level command
Currently the driver doesnot support the sending and receiving of the
ani level from the firmware.

Add WMI and driver framework support to fetch the ani level.

Change-Id: Ib8271a2b7f62bafb22429113fbfb405cc81379ed
CRs-Fixed: 2554677
2019-11-26 05:31:17 -08:00
Christopher Chopp
643f7eca34 qcacmn: Add Debug Print for 160MHz TX/RX MCS NSS Check
This print is a debug measure that addresses an issue where the
HE MCS NSS Map is set to an invalid value. Although rate checks
exist already which take corrective action, this proactive print
adds information useful for addressing corner cases should
they appear.

CRs-Fixed: 2554277
Change-Id: I8e770639472409d96654dc8652ea8c9d210c4965
2019-11-19 14:44:54 -08:00
sumedh baikady
a95ba1312a qcacmn: Add Wmi for FW dynamic control of Muedca param
Add WMI changes for the API he_muedca_mode
to swicth between manual, host and FW dynamic
muedca param selection.

Change-Id: If43b5da483fe082294bda33f8951187ebc7ea3c7
CRs-Fixed: 2554378
2019-11-14 07:47:46 -08:00
Basamma Yakkanahalli
f2c446e2ca qcacmn: set INTER_BSS_PEER flag for NAWDS peer in peer assoc
Set WMI_PEER_INTER_BSS_PEER peer flag in the fixed param in
WMI_PEER_ASSOC to differentiate between inter-bss and intra-bss peer.

Change-Id: Ic3f54646bfcf988ce53c3d581bacea65070a5036
2019-11-12 23:12:34 -08:00
Edayilliam Jayadev
97b8676b4e qcacmn: WMI changes for Agile Spectral
1) Add Spectral scan mode and agile center frequency in WMI
   commands to indicate the current mode.
2) Obtain the Agile Spectral capability from the chain mask table.

CRs-Fixed: 2455967
Change-Id: I88ba6fc1ecf9b530a6b516d0c1e4ce88702c6d1f
2019-11-12 04:03:58 -08:00
Daniel Kim
c4ffad74c3 qcacmn: Add WMI changes for dynamic HW mode switch (Phase 2)
Add WMI changes for dynamic HW mode switch (Phase 2) as below.

1. Define new enum for dynamic hw mode switch type.
2. Extract tgt_pdev_id from mac_phy_caps_service_ready_ext event.

Change-Id: I2f0f3d4ab78a3043fb56b4d7796678a5e68bed0f
2019-11-11 16:44:26 -08:00
gaurank kathpalia
30be97c162 qcacmn: Set the flag for max BW support
Currently the FW expects the flag of
scan chan cmd to be set if the max BW
is filled for all the channels, which
is not set by driver.

Fix is to set the flag's 2 bit to allow
FW to use the max chanel BW.

Change-Id: Id3ce009fbd3c846713d456436c70b44a44428577
CRs-Fixed: 2550434
2019-11-11 10:49:32 -08:00
Amar Singhal
5fbd62d6e3 qcacmn: Add 6ghz support functions
Add API to know whether 6ghz is supported. Also add API to know
whether an operating class is 6ghz operating class.

Change-Id: I75747502c0033e31d119e58a2254b220646bba10
CRs-Fixed: 2556998
2019-11-09 22:08:12 -08:00
Yeshwanth Sriram Guntuka
84f7fa87a8 qcacmn: Cleanup sta index from a few structures
Change-Id: Iad126044945eaa28c3d859a96a741a1046529cdb
CRs-Fixed: 2529131
2019-10-28 12:23:48 -07:00
Visweswara Tanuku
1f0b8fbc9f qcacmn: Add event ids for motion detection events
Add event ids for motion detection event and motion detection
base line event

Change-Id: I84c4ada04fad2de710a85ec510cb36f8d8ae8059
CRs-Fixed: 2548260
2019-10-26 11:55:23 -07:00
Aditya Sathish
796d538394 qcacmn: Add WMI support to enable multicast rate-control
Add WMI support to enable multicast rate-control as a VDEV
parameter.

Change-Id: I1e970b50d45148abda5a274bec672ff6d7447c5f
CRs-Fixed: 2546483
2019-10-24 20:06:17 -07:00
Rhythm Patwa
7232cb187e qcacmn: Add support to parse 6GHz specific IEs
Add support to scan for the 6GHz band capabilities
IE and parse the IE. Added peer assoc param for updating
the minimum data rate advertised by the peer in 6GHz
Opration information.

Change-Id: Iebb4379d321832f3ed2bcd3174a54843fa2d497c
2019-10-16 21:54:30 -07:00
Amar Singhal
56246e9faa qcacmn: Send multiple WMI_SCAN_CHAN_LIST_CMDID messages if required
If more than MAX_NUM_CHAN_PER_WMI_CMD are present, wmi buffer size can
exceed the maximum allocated buffer size. So iterate over the channel
list, and send multiple messages till channel list is empty. Also check
if 6 ghz channel is a PSC channel and mark channel flag accordingly.

Change-Id: I977a2d220c750cec1f261377b3838360bd8c0df3
CRs-Fixed: 2522763
2019-10-06 18:13:07 -07:00