Commit Graph

49 Commits

Author SHA1 Message Date
Chaoli Zhou
6f3a375902 qcacmn: Replace kzalloc/kfree with vmalloc/vfree for cfg value store
At continuous physical address limited telematics platform,
in order to avoid occasional memory alloc failure with big
kzalloc size, it's better to use virtual memory allocation
API instead. And below one will be refined to replace malloc
with valloc when CONFIG_ENABLE_VALLOC_REPLACE_MALLOC=y.

1 x 21552 = 21552B@cfg_store_alloc:448

Change-Id: Ic43901453e8194d4f7fc0f8af2e2459bea5495a6
CRs-Fixed: 3426968
2023-03-17 07:20:29 -07:00
David Oladunjoye
bee501dcb7 qcacmn: Return error when unpermitted character is parsed in ini
Currently, when an unpermitted character is added to ini, driver
flags as an unknown config item and continues parsing. This could
be an issue. Change is to return error when invalid character is
parsed in ini.

Change-Id: I0249d187f0e05a31dd256d5de56798a575903e5b
CRs-Fixed: 3354669
2023-01-17 05:30:11 -08:00
Surya Prakash Raajen
572d9ff24e qcacmn: CFG section defines for 6 GHz low & high bands
CFG section definitions for 6 GHz low & high band for
ini configurations. These new definitions enables us to
configure the unique INI parameters for 6 GHz low and 
6 GHz high band, for new solution of Split-phy in 6 GHz.


Change-Id: I1417dee90f0aebe31f24a64017d9203b74dfc886
CRs-Fixed: 3332719
2022-11-24 01:22:46 -08:00
Kannan Saravanan
9456298da5 qcacmn: New ini config for scan radio
For scan radio add new section
SCAN-RADIO for parsing the ini config.

Change-Id: I41de46b3f5b9a3e1ddc2d529f90b21a7c7fb8a3d
CRs-Fixed: 3317082
2022-11-07 13:09:30 -08:00
Yu Wang
2c92bf0c9c qcacmn: fix build failures caused by QDF_MAC_ADDR_REF
Build failed once WLAN_TRACE_HIDE_MAC_ADDR is enabled,
due to 'error: type mismatch in conditional expression'.

To fix it, correct the parameter for QDF_MAC_ADDR_REF.

Change-Id: Ibcac7880af9a6029fe9fe8584349743249c45b86
CRs-Fixed: 3308194
2022-10-11 23:51:53 -07:00
Jeff Johnson
9a15a4b294 qcacmn: cfg: Fix misspellings
Fix misspellings in cfg/...

Change-Id: Ib1c1aa1a37071d472a83b9d4d1585b9c6e081224
CRs-Fixed: 3304681
2022-10-08 12:16:04 -07:00
Chaithanya Garrepalli
7630cc90f0 qcacmn: Add ini sections for SOC type
Add ini sections to overwrite params based
on SOC type

Change-Id: I43e890298394aef93fc86c5a6a51ee1e5e0e0f08
CRs-Fixed: 3271905
2022-08-22 03:25:34 -07:00
David Oladunjoye
b118e31770 qcacmn: cfg: Replace fallthrough comment with attribute
-Wimplicit-fallthrough is being enabled by default. Some compilers
such as clang require the attribute instead of just a fallthrough comment.

Change-Id: I35cf752c724368243fa954ef982e7a3b426db54f
CRs-Fixed: 3218238
2022-07-07 00:52:22 -07:00
Surya Prakash Raajen
e7074b084e qcacmn: Add section defines and new dp ini parameters
Add section defines parameters and add the required new dp
ini parameters

Change-Id: I6a93c621565207970e35f1aa153283f7a6535bea
CRs-Fixed: 3107545
2022-02-18 16:39:28 -08:00
Surya Prakash Raajen
edf9fd0441 qcacmn: Add support for section parsing in ini
Add support for section parsing in ini, such that we could
read specific section of the file and update the ini values
instead of redundant values or updating the same in the
scripts based on the config

Change-Id: Ibdb08a04d709746c04c3e7c47ee3bb4a7ce85346
CRs-Fixed: 3107545
2022-02-16 10:26:33 -08:00
Himanshu Batra
f49b3a1753 qcacmn: Cfg changes for IPA offload support
Cfg changes for IPA offload support.

Change-Id: If477db8e958b22634e1505f3e4319c7aa0cc6ef4
2021-12-20 22:45:22 -08:00
Shiva Krishna Pittala
81f3009593 qcacmn: Add support for run-time enablement of MGMT Rx REO feature
Add INI and WMI service bit based enablement support for
MGMT Rx REO feature.

CRs-Fixed: 3014353
Change-Id: I95650718d69b70f119621a9481dbf1518bc5500b
2021-09-27 17:58:04 -07:00
Santosh Anbu
08c37be1d9 qcacmn: Add INI param to support max chan switch IE
Add change to support max channel switch IE as a INI config.
With this INI enabled, max channel switch IE will be used in scenario,
where client disconnection is to be avoided with CSA on CAC channel.

Change-Id: I786e7e12e12ebcb3fc7d0720ed02e01bff6c82b8
CRs-Fixed: 2949206
2021-08-11 01:33:30 -07:00
Ashish Kumar Dhanotiya
c96d5d2592 qcacmn: Add support to parse multiple ini names
Currently driver supports only one name for an ini parameter,
there is no aliasing support for ini names.

With this change add support for  multiple ini names for the
same ini parameter.

Change-Id: Ib16a258975f5c3d152fa1dfbbdb6b3e6cc222784
CRs-Fixed: 3007156
2021-08-09 22:25:25 -07:00
Vivek
bc5590deaf qcacmn: Use meta table information to print INI values
The current CFG/INI code prints the cfg values by expanding
all the current INI items in the same function causing the
function size to increase substantially.

Use the CFG/INI meta table to iterate over the INI items
and print the INI values.

Change-Id: I79ff6023263bfe98bfd614c74b1fff0f6ee78fe0
CRs-Fixed: 2994756
2021-07-26 13:54:19 -07:00
Amruta Kulkarni
2ea97ac985 qcacmn: Change file names to cfg_*.h
Change file names from wlan_cfg_*.h to cfg_*.h

Change-Id: Id89dc307c08fc55f1777794453f2168755b5506d
CRs-Fixed: 2856372
2021-05-19 01:25:56 -07:00
Pragaspathi Thilagaraj
878d42c770 qcacmn: Use correct format specifier to dump ini/cfg values
Currently the driver uses %u format specifier to dump the
ini/cfg values with the command:
iwpriv wlan0 getConfig.
This causes the negative values to be printed as large positive
values.

Use %d format specifier to dump the ini/cfg values.

Change-Id: I93dd469f7c367e889cb67ec38a2e06ddc36c7c99
CRs-Fixed: 2901248
2021-03-25 11:46:06 -07:00
Himanshu Batra
569cc296ed qcacmn: Add basic infra for connection manager UTF
Add basic infra for connection manager UTF

Change-Id: Id111a4bcda970e927b73441be55de4d33a694796
2020-11-25 00:52:13 -08:00
Srinivas Girigowda
97b39bfea3 qcacmn: cfg: Change %pM/QDF_MAC_ADDR_STR/ARRAY to QDF_MAC_ADDR_FMT/REF
Change %pM/QDF_MAC_ADDR_STR/ARRAY to QDF_MAC_ADDR_FMT/REF.

CRs-Fixed: 2760938
Change-Id: I0de955bb6a5f1b7693edfea0df8b59dc9bc26789
2020-08-23 23:09:23 -07:00
gaurank kathpalia
506f49a0ff qcacmn: Move scoring logic to connection manager
Move bss scoring logic to connection manager.

Change-Id: If8484ec2fa8b3e2d153ae4a6caed76f3354b8965
CRs-Fixed: 2707106
2020-06-26 11:08:56 -07:00
Padma Raghunathan
297e63ab48 qcacmn: Add support to disable CFR through INI
Add option to disable cfr for a pdev through INI.
Since INI is per psoc, bitmap is used to indicate
the set of PDEVs for which CFR needs to be disabled.

Change-Id: Iaff24295c8c3ec702647db24961395b8a7ecf8c4
CRs-Fixed: 2671620
2020-05-03 18:18:54 -07: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
Venkata Sharath Chandra Manchala
e0a2b69883 qcacmn: Reap timer and batch count threshold values for CE dest
Enable timer and batch count threshold interrupt for CE1, CE2
and CE5 rings through INI and retrieve the parameters through
psoc handle.

Change-Id: Ifa6cd768ed41ded46cae652ad7c910ffa62f2310
CRs-Fixed: 2593531
2020-01-27 15:43:36 -08:00
Paul Zhang
c1b915da06 qcacmn: use debugfs to show ini configs
Create new interface ucfg_cfg_ini_config_print/cfg_ini_config_print
to save the ini configs to buffer.

Change-Id: I7bc80d56d3a806a53c299d1347d4a656a6856248
CRs-Fixed: 2579558
2019-12-27 03:26:11 -08:00
Akshay Kosigi
eec6db94bd qcacmn: Remove void pointer usage for ctrl psoc
Make change to remove usage of void pointers for
ctrl psoc in DP and instead use a opaque pointer
struct cdp_ctrl_objmgr_psoc.

Change-Id: I9fac21db1156378fc10b95cf10517afa4364da00
CRs-Fixed: 2484411
2019-07-27 13:42:49 -07:00
Vivek
7047d0d1a5 qcacmn: Replace WIN/MCL from macro names
There are macro defined differenly for WIN and MCL
to pick up default INI value either for WIN or MCL.

The macro name uses WIN and MCL and also enabling the
right macro is controlled by CONFIG_MCL.

Replace the macro with CONFIG_AP_PLATFORM.

Change-Id: Ib5663532d45534cce1715ef06447116e2654e709
CRs-Fixed: 2484959
2019-07-10 07:24:26 -07:00
Sandeep Puligilla
41696b3a10 qcacmn: Enable CFG INI/NON INI Logging
Enable CFG INI/NON INI logging

CRs-Fixed: 2425069
Change-Id: I21cbcc5f88cc0099dc593113f1d346e188d70f58
2019-04-15 22:26:42 -07:00
Harprit Chhabada
67817953c1 qcacmn: Remove range validation check for Boolean type
BOOLEAN is native c type so external range validation
is not needed.

Change-Id: I38f72938ffb282a42ea175a11435c629ea3d9194
CRs-Fixed: 2410988
2019-03-21 05:12:11 -07:00
Sandhya Mahadevan
1d893d85b3 qcacmn: Fix compilation error when WLAN_SUPPORT_GREEN_AP is disabled
Problem & Solution: WLAN_SUPPORT_GREEN_AP is enabled by default.
cfg_green_ap_params.h file gets included only when this flag is enabled.
So, in case of setting WLAN_SUPPORT_GREEN_AP=0, this file need not be
included to avoid compilation errors.

Change-Id: Id42be740268291c46621198a9c90c5d629a92386
2019-02-27 09:56:00 -08:00
Madhvapathi Sriram
b49d30e408 qcacmn: Remove error log for qdf_mem_malloc in cfg files
qdf layer already has the error trace

Change-Id: Ie5f1c8df32b83b3941f4a54b7a0115eb6f84400f
CRs-Fixed: 2376435
2019-02-09 11:52:36 -08:00
Shashikala Prabhu
7eb2d08e3b qcacmn: Add INI support to disable spectral feature
Add INI support to disable spectral feature and do not process the spectral
user commands if spectral feature is  disabled.

Change-Id: Id353131675454652d59fd5d5f8fd3d732a07b777
Acked-by: Shashikala Prabhu <pshashik@codeaurora.org>
CRs-Fixed: 2343947
2018-12-27 13:28:00 -08:00
Kiran Kumar Lokere
40d7624678 qcacmn: Fix the min and max values for boolean cfg item
Correct the MIN and MAX values for Boolean CFG item.

Change-Id: I0b4eb8b293d5517036fc5691b4c3657a811d9bdf
CRs-Fixed: 2357920
2018-12-21 02:40:52 -08:00
Wu Gao
e416a99c8a qcacmn: Add API to check the value is in range of bool type
Since there is user case to check the input value is in range of bool
type, add API to support it.

Change-Id: I03b225210768506e53ca60a0dd71af58e4f142a9
CRs-Fixed: 2350740
2018-11-16 13:34:49 -08:00
gaurank kathpalia
4d51e9bb73 qcacmn: Add green ap params
Add green AP params in green ap ctx
in respect to CFG convergence

Change-Id: I7a0b1352cb76464a82d727852f9a0df101d8ec4c
CRs-Fixed: 2322125
2018-10-16 04:35:04 -07:00
Harprit Chhabada
20ffac7774 qcacmn: Add CFG/INI items to extscan component
Add following extscan CFG items to common ext scan component

1.CFG_EXTSCAN_PASSIVE_MAX_CHANNEL_TIME
2.CFG_EXTSCAN_PASSIVE_MIN_CHANNEL_TIME
3.CFG_EXTSCAN_ACTIVE_MAX_CHANNEL_TIME
4.CFG_EXTSCAN_ACTIVE_MIN_CHANNEL_TIME
5.CFG_EXTSCAN_ALLOWED

Change-Id: Ib4e1acc2d1535f91a8dc084305cdf01f5d7f57f1
CRs-Fixed: 2292754
2018-09-12 17:57:22 -07:00
Dustin Brown
b25cd89800 qcacmn: Move cfg list create to dispatcher init
Currently, the configuration list is created lazily during the global
configuration parse call, and lazily destroyed during the last
configuration release or dispatcher deinit. This causes access problems
where the configuration component is initialized, but no configurations
are parsed before being de-initialized. Instead of the current lazy
solution, simply create the configuration list during dispatcher init,
and destroy it during dispatcher deinit to avoid problems.

Change-Id: I1d1f838853c18e754c3ea5467012bb8a13efc422
CRs-Fixed: 2297311
2018-08-22 11:59:34 -07:00
Vivek
126db5db3f qcacmn: Add INI support for Lithium DP configuration items
The current Lithium DP configuration items are hard
code and cannot be configured for different values
without rebuilding the driver

Add the INI configurability option for the Lithium
DP config parameters

Change-Id: I30012903ccb0654bdff706beff80655313aca289
CRs-Fixed: 2246404
2018-07-30 02:53:39 -07:00
Arif Hussain
f0e87032dc qcacmn: Use CONFIG_MCL flag to define MCL_OR_WIN_VALUE
Use CONFIG_MCL flag to separate MCL vs WIN version of
MCL_OR_WIN_VALUE macro.

Change-Id: Id14200ceb261eb10f9582ebefd75e06a4fe9f17f
CRs-Fixed: 2283692
2018-07-27 09:09:56 -07:00
Nirav Shah
87668f872b qcacmn: Add compilation flag for enter/exit macros
Map all enter/exit log macros to enter/exit QDF TRACE macro
to provide option to compile out enter/exit logs if required

Change-Id: I913ef0fb2486fde6b2ec4dfe8465884ca4d66ce4
CRs-Fixed: 2274857
2018-07-25 09:40:54 -07:00
Vivek
2a331374b8 qcacmn: Add cfg API to parse additional files
Add cfg API's to parse different global
and psoc INI files, but store to the same
global or psoc store as required.

Change-Id: I588f47bc61094640ddfe4b29712ca978908f2844
CRs-Fixed: 2278934
2018-07-19 21:33:11 -07:00
Sandeep Puligilla
ba6526d5a5 qcacmn: Add CFG/INI items to scan component
Add following scan CFG items to common scan component

1.CFG_ACTIVE_MAX_CHANNEL_TIME:Max active dwell time
2.CFG_PASSIVE_MAX_CHANNEL_TIME:Max passive dwell time

Change-Id: I3aeed28a404984812ebbc56f2a8d28e7e9ab7de2
CRs-Fixed: 2277105
2018-07-17 22:44:24 -07:00
Dustin Brown
46a32752de qcacmn: Fix cfg_in_range for non-ini values
Currently, the macro type and the "is an ini" value information are
clubbed to together in the cfg component. This lead to not being able to
use the macro type with non-ini configuration values. Split macro type
and "is an ini" value information in the cfg component so that
cfg_in_range can be used with non-ini configuration values.

Change-Id: If63f222cf21a45f0d7d3809f1be845ecc2b2cd65
CRs-Fixed: 2278656
2018-07-17 20:11:36 -07:00
Vignesh Viswanathan
eec5a3331e qcacmn: Fix cfg_in_range macro for different CFG Types
Due to some inconsistency in defining definition of cfg_##mtype##_in_range
and the mtype of the CFG_INI_xxx definitions, usage of cfg_in_range
was causing compilation issues.

Fix the cfg_in_range related macros with correct mtypes

Change-Id: I239a5f8735e5f2d7807b4947e36a655f58f26210
CRs-Fixed: 2278335
2018-07-14 05:00:10 -07:00
Dustin Brown
fe41df9c00 qcacmn: Move panic messages into QDF_DEBUG_PANIC
QDF_DEBUG_PANIC has recently gained a reason parameter. Move instance of
logging followed immediately by QDF_DEBUG_PANIC to single calls.

Change-Id: Ifc00be410621005e8494074ed00b1b7e44cc6a03
CRs-Fixed: 2271769
2018-07-09 15:55:35 -07:00
Dustin Brown
45b7264097 qcacmn: Enable configuration component in dispatcher
Enable the configuration component in dispatcher, by calling the
cfg_dispatcher_init() and cfg_dispatcher_deinit() functions.

Change-Id: I1aa0d79729f35be422457280700cf1121a1873bf
CRs-Fixed: 2258230
2018-07-05 14:14:03 -07:00
Vivek
972ee331d9 qcacmn: Export cfg_psoc_parse API
The cfg_psoc_parse API is called from
a different ko in WIN and the API should
be exported

Change-Id: Idcb3aa7ee745f5942d2877df348fb77389149811
CRs-Fixed: 2256145
2018-06-13 12:31:03 -07:00
Vivek
24f704eefc qcacmn: Explicit cast for boundary checks for unsigned cfg items
The meta table containing the min and max values for
any cfg item is of type int32_t. This is used to do boundary
checks for unsigned int cfg items whose max:
possible value will be higher.

Type cast the signed int min, max meta data to unsigned int
before we do the boundary checks.

Change-Id: I18a3047a3afa78864c76b813ca93f5b82f2274a7
CRs-Fixed: 2213359
2018-03-28 02:13:57 -07:00
Dustin Brown
950ceeeb80 qcacmn: Add configuration component implementation
Add the implementation for the new configuration component.

Change-Id: If94e9b4015a7c43674112925206b54a33bd3e340
CRs-Fixed: 2196022
2018-03-20 20:02:22 -07:00
Dustin Brown
00e22124e6 qcacmn: Add configuration component header files
Add header files for the new converged configuration component.

cfg_dispatcher.h: Contains dispatcher lifecycle handlers
cfg_define.h: Tools for components to define new configuration metadata
cfg_ucfg.h: Contains APIs for consuming configuration at runtime
cfg_converged.h: Contains a collection of configuration metadata from
	all the converged components

Change-Id: Ief5d3e33dca1bc5f8dba47d9e0c03a97ad1b371f
CRs-Fixed: 2196017
2018-03-20 20:02:20 -07:00