mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-12 07:37:31 -04:00
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
This commit is contained in:
parent
5b02cde5b3
commit
0a5dffb53e
4 changed files with 24 additions and 12 deletions
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2012 - 2020 The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2012 - 2021 The Linux Foundation. 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
|
||||
|
|
@ -268,7 +268,7 @@ struct wlan_fwol_cfg {
|
|||
uint32_t dhcp_max_num_clients;
|
||||
#endif
|
||||
struct adaptive_dwelltime_params dwelltime_params;
|
||||
bool enable_ilp;
|
||||
uint32_t enable_ilp;
|
||||
bool disable_hw_assist;
|
||||
};
|
||||
|
||||
|
|
@ -385,12 +385,13 @@ fwol_set_adaptive_dwelltime_config(
|
|||
/**
|
||||
* fwol_set_ilp_config() - API to set ILP HW block config
|
||||
* @pdev: pointer to the pdev object
|
||||
* @enable_ilp: enable/disable config for ILP
|
||||
* @enable_ilp: ILP HW block configuration with various options
|
||||
*
|
||||
* Return: QDF_STATUS
|
||||
*/
|
||||
QDF_STATUS fwol_set_ilp_config(struct wlan_objmgr_pdev *pdev,
|
||||
bool enable_ilp);
|
||||
uint32_t enable_ilp);
|
||||
|
||||
/**
|
||||
* fwol_configure_hw_assist() - API to configure HW assist feature in FW
|
||||
* @pdev: pointer to the pdev object
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2018-2020 The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2018-2021 The Linux Foundation. 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
|
||||
|
|
@ -661,7 +661,8 @@ void fwol_release_rx_event(struct wlan_fwol_rx_event *event)
|
|||
qdf_mem_free(event);
|
||||
}
|
||||
|
||||
QDF_STATUS fwol_set_ilp_config(struct wlan_objmgr_pdev *pdev, bool enable_ilp)
|
||||
QDF_STATUS fwol_set_ilp_config(struct wlan_objmgr_pdev *pdev,
|
||||
uint32_t enable_ilp)
|
||||
{
|
||||
QDF_STATUS status;
|
||||
struct pdev_params pdev_param;
|
||||
|
|
|
|||
|
|
@ -768,10 +768,16 @@
|
|||
|
||||
/*
|
||||
* <ini>
|
||||
* g_enable_ilp - Enable/Disable ILP HW Block
|
||||
* g_enable_ilp - ILP HW Block Configuration
|
||||
* @Min: 0
|
||||
* @Max: 3
|
||||
* @Default: 1
|
||||
*
|
||||
* This ini is used to enable/disable the ILP HW block
|
||||
* This ini is used to configure ILP HW block with various options
|
||||
* 0: disable
|
||||
* 1: perf settings
|
||||
* 2: max power saving
|
||||
* 3: balanced settings
|
||||
*
|
||||
* Related: none
|
||||
*
|
||||
|
|
@ -782,9 +788,12 @@
|
|||
* <ini>
|
||||
*/
|
||||
|
||||
#define CFG_SET_ENABLE_ILP CFG_INI_BOOL( \
|
||||
#define CFG_SET_ENABLE_ILP CFG_INI_UINT( \
|
||||
"g_enable_ilp", \
|
||||
0, \
|
||||
3, \
|
||||
1, \
|
||||
CFG_VALUE_OR_DEFAULT, \
|
||||
"ILP configuration")
|
||||
|
||||
/*
|
||||
|
|
|
|||
|
|
@ -295,7 +295,7 @@ QDF_STATUS ucfg_fwol_get_ani_enabled(struct wlan_objmgr_psoc *psoc,
|
|||
}
|
||||
|
||||
static QDF_STATUS ucfg_fwol_get_ilp_config(struct wlan_objmgr_psoc *psoc,
|
||||
bool *enable_ilp)
|
||||
uint32_t *enable_ilp)
|
||||
{
|
||||
struct wlan_fwol_psoc_obj *fwol_obj;
|
||||
|
||||
|
|
@ -1005,13 +1005,14 @@ QDF_STATUS ucfg_fwol_configure_global_params(struct wlan_objmgr_psoc *psoc,
|
|||
struct wlan_objmgr_pdev *pdev)
|
||||
{
|
||||
QDF_STATUS status;
|
||||
uint32_t enable_ilp;
|
||||
bool value;
|
||||
|
||||
/* Configure ILP feature in FW */
|
||||
status = ucfg_fwol_get_ilp_config(psoc, &value);
|
||||
status = ucfg_fwol_get_ilp_config(psoc, &enable_ilp);
|
||||
if (QDF_IS_STATUS_ERROR(status))
|
||||
return status;
|
||||
status = fwol_set_ilp_config(pdev, value);
|
||||
status = fwol_set_ilp_config(pdev, enable_ilp);
|
||||
if (QDF_IS_STATUS_ERROR(status))
|
||||
return status;
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue