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
This commit is contained in:

committed by
Madan Koyyalamudi

parent
73a8b41fd9
commit
3d11cb41da
@@ -1,5 +1,6 @@
|
||||
/*
|
||||
* Copyright (c) 2012 - 2021 The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for
|
||||
* any purpose with or without fee is hereby granted, provided that the
|
||||
@@ -226,6 +227,7 @@ struct wlan_fwol_neighbor_report_cfg {
|
||||
* @enable_ilp: ILP HW block configuration
|
||||
* @sap_sho: SAP SHO HW offload configuration
|
||||
* @disable_hw_assist: Flag to configure HW assist feature in FW
|
||||
* @enable_ofdm_scrambler_seed: Decide to enable/disable OFDM scrambler seed
|
||||
*/
|
||||
struct wlan_fwol_cfg {
|
||||
/* Add CFG and INI items here */
|
||||
@@ -281,6 +283,9 @@ struct wlan_fwol_cfg {
|
||||
uint32_t enable_ilp;
|
||||
uint32_t sap_sho;
|
||||
bool disable_hw_assist;
|
||||
#ifdef WLAN_FEATURE_OFDM_SCRAMBLER_SEED
|
||||
bool enable_ofdm_scrambler_seed;
|
||||
#endif
|
||||
};
|
||||
|
||||
/**
|
||||
|
@@ -1,5 +1,6 @@
|
||||
/*
|
||||
* Copyright (c) 2018-2021 The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for
|
||||
* any purpose with or without fee is hereby granted, provided that the
|
||||
@@ -567,6 +568,20 @@ static void fwol_thermal_init(struct wlan_fwol_psoc_obj *fwol_obj)
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef WLAN_FEATURE_OFDM_SCRAMBLER_SEED
|
||||
static inline void fwol_ofdm_scrambler_init(struct wlan_fwol_cfg *fwol_cfg,
|
||||
struct wlan_objmgr_psoc *psoc)
|
||||
{
|
||||
fwol_cfg->enable_ofdm_scrambler_seed =
|
||||
cfg_get(psoc, CFG_ENABLE_OFDM_SCRAMBLER_SEED);
|
||||
}
|
||||
#else
|
||||
static inline void fwol_ofdm_scrambler_init(struct wlan_fwol_cfg *fwol_cfg,
|
||||
struct wlan_objmgr_psoc *psoc)
|
||||
{
|
||||
}
|
||||
#endif
|
||||
|
||||
QDF_STATUS fwol_cfg_on_psoc_enable(struct wlan_objmgr_psoc *psoc)
|
||||
{
|
||||
QDF_STATUS status = QDF_STATUS_SUCCESS;
|
||||
@@ -633,6 +648,7 @@ QDF_STATUS fwol_cfg_on_psoc_enable(struct wlan_objmgr_psoc *psoc)
|
||||
fwol_cfg->sap_sho = cfg_get(psoc, CFG_SAP_SHO_CONFIG);
|
||||
fwol_cfg->disable_hw_assist = cfg_get(psoc, CFG_DISABLE_HW_ASSIST);
|
||||
fwol_thermal_init(fwol_obj);
|
||||
fwol_ofdm_scrambler_init(fwol_cfg, psoc);
|
||||
|
||||
return status;
|
||||
}
|
||||
|
@@ -1,5 +1,6 @@
|
||||
/*
|
||||
* Copyright (c) 2012-2021 The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for
|
||||
* any purpose with or without fee is hereby granted, provided that the
|
||||
@@ -65,6 +66,28 @@
|
||||
0, \
|
||||
"Set rts for sifs bursting")
|
||||
|
||||
#ifdef WLAN_FEATURE_OFDM_SCRAMBLER_SEED
|
||||
/*
|
||||
* <ini>
|
||||
* gEnableUpdateScramSeed - Enable/Disable OFDM scambler seed
|
||||
* @Min: 0
|
||||
* @Max: 1
|
||||
* @Default: 0
|
||||
*
|
||||
* Usage: External
|
||||
*
|
||||
* </ini>
|
||||
*/
|
||||
#define CFG_ENABLE_OFDM_SCRAMBLER_SEED CFG_INI_BOOL( \
|
||||
"gEnableUpdateScramSeed", \
|
||||
false, \
|
||||
"Enable OFDM Scrambler Seed")
|
||||
|
||||
#define ENABLE_OFDM_SCRAMBLER_SEED CFG(CFG_ENABLE_OFDM_SCRAMBLER_SEED)
|
||||
#else
|
||||
#define ENABLE_OFDM_SCRAMBLER_SEED
|
||||
#endif
|
||||
|
||||
/*
|
||||
* <ini>
|
||||
* sifs_burst_mask - Set sifs burst mask
|
||||
@@ -897,6 +920,7 @@
|
||||
CFG(CFG_ENABLE_FW_WOW_MODULE_LOG_LEVEL) \
|
||||
CFG(CFG_SAP_SHO_CONFIG) \
|
||||
CFG(CFG_DISABLE_HW_ASSIST) \
|
||||
CFG(CFG_ENABLE_PCI_GEN)
|
||||
CFG(CFG_ENABLE_PCI_GEN) \
|
||||
ENABLE_OFDM_SCRAMBLER_SEED
|
||||
|
||||
#endif
|
||||
|
@@ -1,5 +1,6 @@
|
||||
/*
|
||||
* Copyright (c) 2018-2021 The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for
|
||||
* any purpose with or without fee is hereby granted, provided that the
|
||||
@@ -491,6 +492,26 @@ bool ucfg_fwol_get_gcmp_enable(struct wlan_objmgr_psoc *psoc);
|
||||
QDF_STATUS ucfg_fwol_get_enable_tx_sch_delay(struct wlan_objmgr_psoc *psoc,
|
||||
uint8_t *enable_tx_sch_delay);
|
||||
|
||||
#ifdef WLAN_FEATURE_OFDM_SCRAMBLER_SEED
|
||||
/**
|
||||
* ucfg_fwol_get_ofdm_scrambler_seed() - Assigns enable_ofdm_scrambler_seed
|
||||
* @psoc: pointer to psoc object
|
||||
* @enable_ofdm_scrambler_seed: Pointer to return enable_ofdm_scrambler_seed
|
||||
* value
|
||||
*
|
||||
* Return: QDF_STATUS_SUCCESS - in case of success
|
||||
*/
|
||||
QDF_STATUS ucfg_fwol_get_ofdm_scrambler_seed(struct wlan_objmgr_psoc *psoc,
|
||||
bool *enable_ofdm_scrambler_seed);
|
||||
#else
|
||||
static inline QDF_STATUS ucfg_fwol_get_ofdm_scrambler_seed(
|
||||
struct wlan_objmgr_psoc *psoc,
|
||||
bool *enable_ofdm_scrambler_seed)
|
||||
{
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
#endif
|
||||
|
||||
/**
|
||||
* ucfg_fwol_get_enable_secondary_rate() - Get enable secondary rate
|
||||
* @psoc: pointer to the psoc object
|
||||
|
@@ -1,5 +1,6 @@
|
||||
/*
|
||||
* Copyright (c) 2018-2021 The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for
|
||||
* any purpose with or without fee is hereby granted, provided that the
|
||||
@@ -792,6 +793,26 @@ QDF_STATUS ucfg_fwol_get_enable_tx_sch_delay(struct wlan_objmgr_psoc *psoc,
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
#ifdef WLAN_FEATURE_OFDM_SCRAMBLER_SEED
|
||||
QDF_STATUS ucfg_fwol_get_ofdm_scrambler_seed(struct wlan_objmgr_psoc *psoc,
|
||||
bool *enable_ofdm_scrambler_seed)
|
||||
{
|
||||
struct wlan_fwol_psoc_obj *fwol_obj;
|
||||
|
||||
fwol_obj = fwol_get_psoc_obj(psoc);
|
||||
if (!fwol_obj) {
|
||||
*enable_ofdm_scrambler_seed =
|
||||
cfg_default(CFG_ENABLE_OFDM_SCRAMBLER_SEED);
|
||||
return QDF_STATUS_E_FAILURE;
|
||||
}
|
||||
|
||||
*enable_ofdm_scrambler_seed =
|
||||
fwol_obj->cfg.enable_ofdm_scrambler_seed;
|
||||
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
#endif
|
||||
|
||||
QDF_STATUS ucfg_fwol_get_enable_secondary_rate(struct wlan_objmgr_psoc *psoc,
|
||||
uint32_t *enable_secondary_rate)
|
||||
{
|
||||
|
Reference in New Issue
Block a user