Commit Graph

48 Commits

Author SHA1 Message Date
Aravind Kishore Sukla
48a3511147 qcacld-3.0: Convert pcie_config INI related variable to unsigned
Based on requirement for pcie_config INI, convert corresponding
INI boolean variable to unsigned variable.

Change-Id: Ia0045c35a36bafe77e457b95f72fa1db86d2f0d3
CRs-Fixed: 3571497
2023-07-30 19:07:12 -07:00
Aravind Kishore Sukla
21305513a9 qcacld-3.0: Add new Ini to control pcie gen and lane params
As per the requirement, add a new Ini CFG_PCIE_CONFIG to
enable or disable externally. This Ini is used to control
pcie generation speed and lane width parameters to max value.
If enabled as of now this Ini makes generation as 3 and lanes
as 2 for pcie.

Change-Id: I96c1a133fa0b22d3b35a229b2fd9ba2904bb3d8f
CRs-Fixed: 3481707
2023-05-20 01:45:32 -07:00
Srinivas Girigowda
99eb4ce97a qcacld-3.0: Provide ucfg_fwol_set_ilp_config() api
Provide ucfg_fwol_set_ilp_config() api.

Change-Id: Id003eb8605c513bb1209e5a3b5073b9ad972b2fe
CRs-Fixed: 3415887
2023-05-10 11:47:42 -07:00
Vinod Kumar Pirla
528031916a qcacld-3.0: Refactor VDEV opmode config during create
Refactor the hdd_vdev_create() API to move device mode
based VDEV config to a new API.
The new API calls required configuration functions
based on the device mode.

Change-Id: I54c5412577b70d92652cb16fcfb10e4d69e6f6fd
CRs-Fixed: 3445149
2023-03-27 21:07:40 -07:00
Gururaj Pandurangi
328c3811f4 qcacld-3.0: Add missing dot at the end of copyright header
Add the missing period at the end of the copyright header.

Change-Id: I9d11ab5e35ae8682340288b1f45a324b5d0dde21
CRs-Fixed: 3439213
2023-03-21 13:51:58 -07:00
Vishal Miskin
4e95648b6f qcacld-3.0: Measure TSF latency between host TSF sync enabled devices
The feature raises a pulses at specified interval in TSF time domain.
The pulses can be used to determine driver level latency between hosts
as they are operating in same TSF time domain.
Add ini "g_tsf_accuracy_configs" to configure parameters for TSF accuracy
feature to customize GPIO pins and interval.

Change-Id: I49609d5beba8043ac2ecc086e97b01d1e0b2d3f6
CRs-Fixed: 3277992
2022-10-31 09:09:19 -07:00
Subrat Dash
19e3d0b415 qcacld-3.0: Add support for WDS repeater feature
Enable source port learning for SAP to add AST entry for the
remote stations with next hop. The SAP should use 4-address
frame format for the remote destinations.

Add support to handle data packets for WDS destination.

Change-Id: I6002e6dd9c9bb2c7b2e4f85bf06156dbb7feebee
CRs-Fixed: 2997812
2022-03-24 01:44:27 -07:00
chunquan
f07969a044 qcacld-3.0: Replace blacklist/whitelist for denylist/allowlist
Replace blacklist/whitelist with denylist/allowlist in
qcacld3.0. and replace blm with dlm.

Change-Id: I9ba61dde3b3ea008ca3777448d1f8dab83d33ec1
CRs-Fixed: 3091211
2022-03-05 07:10:49 -08:00
VIJAY RAJ
3d11cb41da qcacld-3.0: Add OFDM Scrambler seed ini support
Add "gEnableUpdateScramSeed" ini support to send
WMI_PDEV_PARAM_EN_UPDATE_SCRAM_SEED command to firmware
to enable OFDM scrambler seed.

Change-Id: Ie5c244a7ea418eec0af1f576e8521804ee85a665
CRs-Fixed: 3106348
2022-02-03 09:29:06 -08:00
Utkarsh Bhatnagar
ac66479f44 qcacld-3.0: Add support to get thermal throttle stats
Add support for sending WMI_REQUEST_THERMAL_STATS_CMDID
to request for the thermal stats via vendor cmd:
QCA_WLAN_VENDOR_ATTR_THERMAL_CMD_TYPE_GET_THERMAL_STATS
This vendor cmd can either be used to clear the thermal
stats or to request for the thermal stats.
Added ini gThermalStatsTempOffset, which can
configure thermal temperature offset value for capturing
thermal stats in  thermal range such as Thermal STATS
starts capturing from temperature threshold to temperature
threshold + offset.
If this ini is set to 0, then the events are disabled.
Also, add support for the FW event where the requested
thermal stats are sent in FW event
WMI_THERM_THROT_STATS_EVENTID().
The following attributes are sent in the events for every
level:
	STATS_MIN_TEMPERATURE
	STATS_MAX_TEMPERATURE
	STATS_DWELL_TIME
	STATS_TEMP_LEVEL_COUNTER

Change-Id: If8acdeec5bde33be346332ccaf39d78d0151203d
CRs-Fixed: 3016818
2021-08-27 10:23:21 -07:00
Aditya Kodukula
e5d87bf5d6 qcacld-3.0: Support Multicast Domain Name Server Offload
The purpose of the multicast Domain Name System (mDNS) is to resolve
host names to IP addresses within small networks that do not include
a local name server.

It utilizes essentially the same programming interfaces, packet formats
and operating semantics as the unicast DNS, and the advantage is zero
configuration service while no need for central or global server.
Based on mDNS, the DNS-SD (Service Discovery) allows clients to discover
a named list of services by type in a specified domain using standard
DNS queries.

Here, we provide the ability to advertise the available services by
responding to mDNS queries.

Change-Id: Id2a0468d49237c21062cfd1988e34903658cdad9
CRs-Fixed: 3008549
2021-08-20 22:02:01 -07:00
Liangwei Dong
11611472b1 qcacld-3.0: Avoid duplicated thermal level change event
At present, duplicated thermal level change events are reported
on different mac with different pdev id from target. To report
the lowest pdev id's thermal level to avoid confusing the user.

Change-Id: Ia1f497ba1a1e0af946b87924de80b9fd39fe95e8
CRs-Fixed: 2976437
2021-06-29 03:54:09 -07:00
Nirav Shah
1932ac5950 qcacld-3.0: Add ini to enable/disable TSF sync feature
Add ini to enable/disable TSF sync feature.

Change-Id: I84139f14ac7d01fb2cc52e84a9a817e644a05c77
CRs-Fixed: 2932588
2021-04-30 14:46:50 -07:00
Aditya Kodukula
edfbff8b2a qcacld-3.0: Remove INI parameter gEnableLPRx
As part of WiFi ini clean-up FR, the ini parameter gEnableLPRx,
is identified as it is no longer used. Hence it can be deprecated,
and all instances of the config CFG_LPRx is removed.

Change-Id: I77f8f6839534c9a79cb3c7414582a5f31b87c561
CRs-Fixed: 2896027
2021-03-29 17:47:08 -07:00
Jyoti Kumari
c56269e87a qcacld-3.0: Enhance existing ILP profiles setting
Currently, there are two ini option 0/1 to disable/enable ILP
profiles in HW.

Extend this option upto 3 where
0 indicates disable
1 indicates perf settings
2 indicates max power saving
3 indicates balanced settings

Change-Id: Iff41b92b84309a670e2ad301ee72fb3caaba3df3
CRs-Fixed: 2886526
2021-03-01 13:15:17 -08:00
hqu
46d7e82b98 qcacld-3.0: Move code from csr to rso for 11k offload
Move code from csr to rso for 11k offload.

Change-Id: I8930ca381a8af45e39d3ed69cb1614ccc363f766
CRs-Fixed: 2861183
2021-01-24 02:52:02 -08:00
Bapiraju Alla
3e83a3e527 qcacld-3.0: Add an INI param to configure HW assist feature in FW
HW assist is a FW feature and it is enabled by default. But there is
no provision to disable/enable this feature based on requirement.

To address this, add INI param to enable/disable HW assist feature
in FW.

Change-Id: Icdc4a842be4d5c6991a785ee270f61ba87fcfe79
CRs-Fixed: 2841346
2021-01-07 12:30:54 -08:00
Abdul Muqtadeer Ahmed
70ea08a0fe qcacld-3.0: Add new INI param for SAP SHO configuration
The SHO feature is used to offload beacon/probe response to HW.
So a new  vdev param is required to enable/disable this feature.

Change-Id: I83d71d63485dee8d3433bf967a7feb56c1039f93
CRs-Fixed: 2815270
2020-11-18 01:24:57 -08:00
Aditya Kodukula
d4456eeac6 qcacld-3.0: Add INI param to configure wow-mode logging
Add an INI to configure the wow-mode logging config.

So that,the fw would use this bitmap for logging when it
is in wow mode.

Change-Id: Ib2fbd0c5c9cc573b2f5b12dcdf06682c16550cb2
CRs-Fixed: 2810372
2020-11-05 01:20:26 -08:00
Liangwei Dong
e8a9b19747 qcacld-3.0: Handle thermal stats event from target
Handle firmware thermal stats event and populate the thermal
information to upper layer with vendor command event.

Change-Id: I83286367ab542c08a205a7636f3d03189b0500e5
CRs-Fixed: 2786623
2020-10-23 10:03:04 -07:00
Alan Chen
827413768c qcacld-3.0: Remove gOclCfg ini
gOclCfg is no longer supported and is being overwritten by
FW init config. Thus, remove gOclCfg ini from code.

Change-Id: Idf4d5280043a47650a68dc2159c386d94b0be5e9
CRs-Fixed: 2791392
2020-10-12 22:11:01 -07:00
Abdul Muqtadeer Ahmed
ca927cfcd7 qcacld-3.0: Add INI param to enable/disable ILP HW block
ILP is a new hardware block which is used for PCIe powersave but
this can effect the throughput.

So to isolate the throughput issues, add ini param to
enable/disable this ILP hardware block using the ini configuration.

Change-Id: I19825af8598bbc2623542256e873367c2f3d29bd
CRs-Fixed: 2756587
2020-08-20 15:42:08 -07:00
Bapiraju Alla
cd65464616 qcacld-3.0: Add validation for wmi handle
Validate wmi handle obtained in tgt_fwol_pdev_param_send

Change-Id: I99edbdf5be4c17af7fb31b7cbdaf418e5a1150af
CRs-Fixed: 2699765
2020-06-07 17:42:25 -07:00
Bapiraju Alla
3416ac0dff qcacld-3.0: Add APIs to configure firmware params using fwol component
Currently these params are sent to fw from hdd. By design, this
should be done by fwol component. Add fwol APIs to achieve this.

Change-Id: Ifcc67fe15e76a32c28819267b0639edae1032093
CRs-Fixed: 2665749
2020-04-21 22:24:19 -07:00
Bapiraju Alla
5e23b7cfd7 qcacld-3.0: Add param for OCL mode configuration
Currently there is no provision to configure OCL mode in FW during
driver bootup.

To enable this configuration add a new INI configuration parameter
gOclCfg.

Change-Id: I87c9131f5395c394f745e0170f0d9b3d1571d030
CRs-Fixed: 2644312
2020-04-02 00:11:32 -07:00
Qun Zhang
7ed7929ac0 qcacld-3.0: Make sure pointer wasn't dereferenced after being freed
Make sure pointer wasn't dereferenced after being freed, so when
fwol_obj is freed, the function should return directly.

Change-Id: I69c23d2366b2ea0ff1caca9798bdc22063221a9c
CRs-Fixed: 2642567
2020-03-26 02:00:00 -07:00
Lincoln Tran
4cb4b007a1 qcacld-3.0: Add ini to pass xLNA bypass config to FW
Add new ini CFG_SET_SAP_XLNA_BYPASS under fw_offload to allow host
to pass config to FW. WMI_PDEV_PARAM_SET_SAP_XLNA_BYPASS makes the
SAP xLNA bypass configureable.

Change-Id: Ie501005f3035f14b3f23cdd260f401a6af81b798
CRs-fixed: 2632088
2020-03-09 20:57:16 -07:00
Vevek Venkatesan
656edfa1f8 qcacld-3.0: add support to customize dscp-to-up map table
Add support to customize DSCP-to-UP map table and send the
customized map values to FW to update its corresponding
map table.

Change-Id: Ibe9704a90468c898dd2e60fdf83a271152f654ce
CRs-Fixed: 2616247
2020-02-06 22:44:57 -08:00
Alan Chen
d77099006c qcacld-3.0: Remove arp_ac_category INI item
The mechanism of overriding ARP frames with AC will not work since
firmware always defaults to BE. Since this overriding is not going to
be supported, remove the arp_ac_category INI and all areas that use it.

Change-Id: I8bff251ded5842f3d0c95bb916eb98a051696ae0
CRs-Fixed: 2555459
2019-11-07 09:20:25 -08:00
Paul Zhang
c9dbaeea18 qcacld-3.0: Add interface to get / set eLNA bypass
Add interface to get / set eLNA bypass from / to firmware

Change-Id: Idf5d6a838d2596767a1fb00040457af721fba69d
CRs-Fixed: 2498525
2019-09-21 02:46:53 -07:00
Qun Zhang
1b3c85c2eb qcacld-3.0: Add INI to configure SIFS burst mode
To pass WFA 11N 4.2.25 case, it's needed to enable legacy mode
SIFS burst. So add INI to make SIFS burst mode configurable.

Change-Id: I740fe33a7ae0d9b558aa3b3aeee434f482ed24cb
CRs-Fixed: 2486171
2019-09-10 01:02:49 -07:00
Subrat Dash
b1e61b2083 qcacld-3.0: Add support for gpio based strobe to capture tsf
Add configuration for gpio pin used to send strobe to wlan hw.

The host driver will latch the current time and toggle the gpio
to generate a strobe to wlan hw.

The tsf will be latched on detecting the strobe and it will be
made available in a register for sw access.
The wlan fw will read this tsf and report it to driver using tsf event.

Change-Id: I4365d97d22836ddbbd2bf9913d4f723e5a870369
CRs-Fixed: 2495152
2019-08-21 00:06:01 -07:00
Subrat Dash
5f36fbef77 qcacld-3.0: Add gettime of PTP for NON-QC platform
Implement NON-QC platform TSF and TSF PLUS.
Implement gettime of PTP.
Implement TSF PLUS for SAP/GO

CRs-Fixed: 2399624
Change-Id: Id4f41a94256a8f035ae408c168c246569185c534
2019-04-09 11:56:39 -07:00
Pragaspathi Thilagaraj
a07b727e75 qcacld-3.0: Fix 11k neighbor report parameters copy from fwol component
11k offload params bitmask is sent over the wmi command
WMI_11K_OFFLOAD_REPORT_CMDID. Its value is controlled by the ini
value "nr_offload_params_bitmask". The ini value got from the cfg
component during initialization is not correctly populated to the
sme layer resulting in zero values sent to firmware. This results
in 11k functionality failure.

Populate the 11k values to sme with values stored into fwol
component from ucfg_fwol_get_neighbor_report_cfg.

Change-Id: I8615745083cdab677bca8cbb76eb0902758a8a75
CRs-Fixed: 2397328
2019-02-20 19:02:04 -08:00
Manikandan Mohan
66df7fcdf4 qcacld-3.0: Fix fw offload ucfg APIs for wiphy features
WIPHY features are populated before FW offload object is
initialized. Thus use direct config values for SAE and GCMP
WIPHY features.

Change-Id: Ic1b84c8709a0347fa22773786c0d5af32426e8fc
CRs-fixed: 2376983
2019-01-16 17:09:44 -08:00
Harprit Chhabada
d59ae7648e qcacld-3.0: Clean up adaptive dwell time params CFG
Clean following adapative dwell time params
CFG/INI item.
CFG_ADAPTIVE_DWELL_MODE_ENABLED
CFG_GLOBAL_ADAPTIVE_DWELL_MODE
CFG_ADAPT_DWELL_LPF_WEIGHT
CFG_ADAPT_DWELL_PASMON_INTVAL
CFG_ADAPT_DWELL_WIFI_THRESH

Change-Id: Iebc8507b0eefe52969f928d98473f99d69095480
CRs-Fixed: 2378488
2019-01-15 21:02:09 -08:00
Manikandan Mohan
5dba1c70c3 qcacld-3.0: Use default value of ini items if not initialized
If FW offload cfg object is not initialized before invoking
the ucfg APIs use the cfg defaults for the values.

Change-Id: Ibbfe22a833ab217f670058e504ec80971c98e049
CRs-fixed: 2376983
2019-01-08 05:17:08 -08:00
Manikandan Mohan
d350c194b4 qcacld-3.0: Move offload ini params to converged CFG
Move misc offload ini params to converged CFG component and
cleanup HDD ini config.

Change-Id: I14b3d95dc1577d02230168d305d1d1c4c7fef2fd
CRs-fixed: 2358489
2018-12-28 02:22:55 -08:00
Manikandan Mohan
06d38d8c48 qcacld-3.0: Add 11K offload param to converged CFG component
Update driver to move 11K offload params to converged CFG component
and remove redundant entries from HDD config.

Change-Id: I7703ca5b23d5fa95a3b5dc5ccd9690771a4bf43d
CRs-fixed: 2357708
2018-12-27 01:05:06 -08:00
lifeng
faa83cb69c qcacld-3.0: Refine gFwDebugModuleLoglevel configurations
Refine gFwDebugModuleLoglevel configurations based on converged cfg
component. Remove related legacy codes.

Change-Id: I5a1099872163bdcf0fc2e08478c4b608529db736
CRs-Fixed: 2355599
2018-12-14 07:15:06 -08:00
Pragaspathi Thilagaraj
3cf0f65518 qcacld-3.0: Remove legacy cfg items
Remove legacy cfg items definitions and related macros for the
converged CFG items.

Change-Id: I12944f50d68dafe989417dda777f29a6233c97a4
CRs-Fixed: 2340856
2018-10-29 15:19:08 -07:00
Dundi Raviteja
9ab4e7b4f1 qcacld-3.0: Relocate gProbeReqOUIs ini to FW offload component
Relocate gProbeReqOUIs ini parameter to FW offload component.

Change-Id: Ie3764cfaf3625911a14cc43fb7eaab415f54ece1
CRs-Fixed: 2324746
2018-10-05 11:37:40 +05:30
Sourav Mohapatra
0f3b857e8c qcacld-3.0: Add FW offload INI items (2)
Add the following fw param ini items to the fw offload component

CFG_ENABLE_SMART_CHAINMASK - gEnableSmartChainmask
CFG_ENABLE_FW_RTS_PROFILE - gEnableRTSProfiles
CFG_ENABLE_FW_DEBUG_LOG_LEVEL - gFwDebugLogLevel
CFG_ENABLE_FW_LOG_TYPE - gFwDebugLogType
CFG_RA_FILTER_ENABLE - gRAFilterEnable
CFG_SET_TSF_GPIO_PIN - gtsf_gpio_pin
CFG_DHCP_SERVER_OFFLOAD_SUPPORT - gEnableDeauthToDisassocMap
CFG_DHCP_SERVER_OFFLOAD_NUM_CLIENT - gDHCPMaxNumClients

Change-Id: I296e095cf2a7b83856e1ab777c7dbdcc005ee96a
CRs-Fixed: 2316269
2018-10-04 03:36:45 -07:00
Sourav Mohapatra
d9387d8a67 qcacld-3.0: Add FW offload INI items (1)
Relocate the following ini items to the FW offload component.

CFG_ENABLE_ANI - gEnableANI
CFG_SET_RTS_FOR_SIFS_BURSTING - gSetRTSForSIFSBursting
CFG_MAX_MPDUS_IN_AMPDU - gMaxMPDUsInAMPDU
CFG_ARP_AC_CATEGORY - arp_ac_category
CFG_ENABLE_PHY_REG - gEnableFastPwrTransition
CFG_UPPER_BRSSI_THRESH - gUpperBrssiThresh
CFG_LOWER_BRSSI_THRESH - gLowerBrssiThresh
CFG_DTIM_1CHRX_ENABLE - gDtim1ChRxEnable
CFG_ENABLE_COEX_ALT_CHAINMASK - gEnableAlternativeChainmask

Change-Id: I5046edec1a668e198ed4fcc997a0d24affe342ea
CRs-Fixed: 2312897
2018-10-03 11:47:57 -07:00
Dundi Raviteja
85a240a6c0 qcacld-3.0: Relocate IE whitelist cfg items
Relocate IE whitelist config items to FW offload component.

Change-Id: Idcb665f4d6069c0723b0a8ae17e54d8cbe71239d
CRs-Fixed: 2316597
2018-09-27 23:41:49 -07:00
Dundi Raviteja
47ac70974a qcacld-3.0: Relocate thermal info cfg items
Relocate thermal info config items to FW offload component.

Change-Id: If03507a44041b53aa81837f687914931e8a05ec8
CRs-Fixed: 2316595
2018-09-24 18:55:07 -07:00
Dundi Raviteja
3b63709be9 qcacld-3.0: Add ini params for three antenna BTC mode
Add below ini parameters for three antenna BTC mode and send
them to firmware using WMI command WMI_COEX_CONFIG_CMDID.
1. gSetBTCMode
2. gSetAntennaIsolation
3. gSetMaxTxPowerForBTC
4. gSetWlanLowRssiThreshold
5. gSetBtLowRssiThreshold
6. gSetBtInterferenceLowLL
7. gSetBtInterferenceLowUL
8. gSetBtInterferenceMediumLL
9. gSetBtInterferenceMediumUL
10. gSetBtInterferenceHighLL
11. gSetBtInterferenceHighUL

Change-Id: I69030b6e80ee99912e2f3baced883894d18db0b6
CRs-Fixed: 2298652
2018-09-24 18:55:03 -07:00
Sourav Mohapatra
113685f379 qcacld-3.0: Add support for FW Offload component
This is for adding support for FW offload component. It is responsible
to offload all the ini params that are needed by the firmware. To have
this component, the new files added are

components/fw_offload/dispatcher/inc/cfg_fwol.h
components/fw_offload/dispatcher/inc/wlan_fwol_ucfg_api.h
components/fw_offload/dispatcher/src/wlan_fwol_ucfg_api.c
components/fw_offload/core/inc/wlan_fw_offload_main.h
components/fw_offload/core/src/wlan_fw_offload_main.c
components/fw_offload/dispatcher/inc/wlan_fw_offload_public_struct.h

The fw_offload_main.h is to take care of the public APIs for the
component. The corresponding .c file implements the init/deinit of
the component. The fw_offload_public_struct.h is to define the public
structures needed. The ucfg files are for the APIs that can be called
from other components. The cfg_fwol stores the INIs and CFGs.

Change-Id: I4405b87e6dec15aa94146f8ec550078c3d03b1e6
CRs-Fixed: 2307837
2018-09-12 02:19:15 -07:00