Commit Graph

1247 Commits

Author SHA1 Message Date
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
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
nwzhao
b666fe52b7 qcacmn: DebugFS Improvements for WMI logs
1)Configurable number of bytes to log
2)Add support to record only specific WMI command/events
  Separate buffers are added to save user specified WMI commands and events
    1.To record specific wmi cmd, e.g. WMI_VDEV_START_REQUEST_CMDID
	echo 0x5003 > /sys/kernel/debug/WMI_SOC0_PDEV0/filtered_wmi_cmds
    2.To record specific wmi evt, e.g. WMI_MGMT_RX_EVENTID
	echo 0x7001 > /sys/kernel/debug/WMI_SOC0_PDEV0/filtered_wmi_evts
  Results of recorded specific WMI command/events:
    1. WMI commands, e.g.:
	cat /sys/kernel/debug/WMI_SOC0_PDEV0/wmi_filtered_command_log
    2. WMI events, e.g.:
	cat /sys/kernel/debug/WMI_SOC0_PDEV0/wmi_filtered_event_log

CRs-Fixed: 2597854
Change-Id: I1e90a13ac0717f1f37ba998fb1d06a990d3f4fa2
2020-02-12 15:51:03 -08:00
sheenam monga
ccb34ac40a qcacmn: Remove new line from trace
Currently while printing commnad information new
line is added which needs to be removed.

Change-Id: I639508a9a14db173f8d61d7a55c4ec99db4f1a1f
CRs-Fixed: 2618863
2020-02-11 23:04:58 -08:00
sheenam monga
428b9654bc qcacmn: Log optimization for Roam Invoke
Currently there are unnecessary/duplicate logging. Identify and
reduce those logs that are not necessary.

Change-Id: If47a4fc0762a7a11666771e76a56d4fa1013647b
CRs-Fixed: 2615419
2020-02-08 20:17:53 -08:00
Pragaspathi Thilagaraj
50661d5d8e qcacmn: Rename candidate_min_roam_score to fix compilation error
The candidate_min_roam_score_delta in struct
wmi_roam_cnd_scoring_param at the interface definition and this causes
compilation issues with older host.

Rename candidate_min_roam_score to fix compilation error.

Change-Id: Ie214b386ef4c14be2cdcaec9be0d8b6c7f1e7f33
CRs-Fixed: 2617981
2020-02-08 12:01:07 -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
Vevek Venkatesan
f6c3329e23 qcacmn: add support to send dscp-to-up map to FW
Add support to send DSCP-to-UP map table values to
FW over WMI cmd to update its corresponding map table.

Change-Id: I92c1464881282ead00714d0b115cffd34dc9ba1f
CRs-Fixed: 2617045
2020-02-06 22:45:47 -08:00
Abhishek Ambure
188721c9ac qcacmn: Add support to send candidate min roam score delta in firmware
During CU and low rssi based roam triggers, consider AP as roam candidate
only if its roam score is better than connected AP score by at least
candidate min roam score delta.

Hence, driver adds support to set candidate min roam score delta in
firmware.

Change-Id: I98d2c4ed5599e5d6d52941c46a236e0e5ccd8ba8
CRs-Fixed: 2614118
2020-02-06 03:25:57 -08:00
Abhishek Singh
daaeeb218a qcacmn: Optimize logs in scan path
Remove redundant logs and optimize the logs in scan path.

Change-Id: I59c59db012f5e9526752d45303e44f2a27f91ec6
CRs-Fixed: 2612629
2020-02-03 23:07:32 -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
Debasis Das
f2edacfcc0 qcacmn: Optimize vdev host-fw handshake
Send bcn_tx_rate as a start parameter.

Change-Id: I821e0a936dea2fb3be4edbfb67a7ffa07919bf97
2020-02-01 03:16:03 -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
Surabhi Vishnoi
7f64ef005b qcacmn: Add the wmi interface changes for sending wlan time sync cmd
This patch adds the support for forming tlv commands
WMI_AUDIO_SYNC_TRIGGER_CMDID and WMI_AUDIO_SYNC_QTIMER_CMDID.

CRs-Fixed: 2607605
Change-Id: Ifaf2b43b60cf604d79d5649b27632422850a0d61
2020-01-24 00:56:32 -08:00
Surya Prakash Raajen
ed8ea05a7e qcacmn: Clear console log boot up error prints
Clear console log boot up error prints by removing unnecessary
prints, modifying prints to appropriate info or debug and
by fixing the errors

Change-Id: Ica3f126280399eef59b894236849e2079a62565f
CRs-Fixed: 2597026
2020-01-21 00:29:08 -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
Christopher Chopp
294f63373d qcacmn: Add wmi support for btwt wifitool commands
Add WMI support for broadcast twt sta invitation and
sta kickoff. Additionally, update the current WMI twt
fields to include btwt recommendation and btwt persistence.

Change-Id: I88dee854557bbb8c3263f42041e0b90a07cdd27e
2020-01-19 23:40:08 -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
Sandeep Puligilla
a94efa0175 qcacmn: SAP is not advertising 20TU probe response
SAP not advertising 20TU probe response when
FILS Discovery is disbaled through ini.

Updated WMI fields to enable 20TU probe response
when 6Ghz SAP is operating.

Change-Id: Idc4b95047d2149f68a68a434afda4d325a5d0547
CRs-Fixed: 2600485
2020-01-17 02:57:48 -08:00
Santosh Anbu
34a9dd134f qcacmn: Support multivdev restart response handling for TLV
Add WMI change to support extraction of consolidated multi vdev
response handling from TLV.

Change-Id: Ida4c346870c99cf5df17b664c4233963585e36cd
CRs-Fixed: 2600388
2020-01-17 01:21:46 -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
Shaakir Mohamed
68a9a92a15 qcacmn: Support phyid conversion map for wmi_handle
Support phyid conversion map for dynamic mode switch.

Change-Id: I02aa1831bf48ca1365354d0ab9ebc240fa116043
CRs-Fixed: 2601427
2020-01-13 23:18:39 -08:00
sumedh baikady
4db109a3d2 qcacmn: Add null check while extracting tbtt qtime
The tbtt qtime value is given by target via WMI event.
This can be null when target doesn't give this buffer.
Add check in host to prevent null deference.

Change-Id: Id9b4a4093b0422a0337e4dabff1ca74ff0d0472e
2020-01-13 19:05:19 -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
Karthik Kantamneni
cc5c789e8e qcacmn: Fix compilation errors when WMI_EXT_DBG is enabled
When WMI_EXT_DBG is enabled some of the WMI macros used
are defined in later section of file causing compilation errors.
These errors are due to recent code refactor changes.
To avoid compilation errors place the code using macros after
they are defined.

Change-Id: I6965595d17820768924080c0100b0ea6aeef5eb2
CRs-Fixed: 2594750
2020-01-08 04:53:25 -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
Surya Prakash Raajen
b976076b3b qcacmn: Track tasklet execution and total time (sched+exec)
Add support to track tasklet execution and total time in different
buckets for debugging purposes

Change-Id: Ide459c385b2a44c0f16d05b37879c8b462782d72
CRs-Fixed: 2589199
2020-01-05 10:16:57 -08:00
Srinivas Dasari
88f39efbd9 qcacmn: Get vdev_id from NAN enable response event
Firmware sends vdev id allocated for NAN vdev as part of
NAN enable response. Get the same and use it for further
operations

Change-Id: I2e1e0dbab160904e12efc53f83203e4e153d099d
CRs-Fixed: 2592017
2020-01-02 03:48:00 -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
Ashish Kumar Dhanotiya
89029e4d9e qcacmn: Send CTL info to firmware
In regulatory non-offloads feature, send conformance_test_limit_2G,
conformance_test_limit_5G, reg_domain, reg_domain_2G and reg_domain_5G
information to firmware using WMI_PDEV_SET_REGDOMAIN_CMDID.

If all these attributes are not populated then CTL power limit is
not applied by the firmware.

Change-Id: I1523ab447aec64ec0af42da32318136f90fd17ca
CRs-Fixed: 2518246
2019-12-26 11:38:36 -08:00