qcacld-3.0: Move OPM parameters to PMO module
Store OPM parameters in PMO per vdev context. Change-Id: I97b84171db434af0e43246d61416b37849728a6d CRs-Fixed: 3567042
This commit is contained in:

committato da
Rahul Choudhary

parent
6a7f372d75
commit
a9c42d3d8f
@@ -532,4 +532,17 @@ struct pmo_igmp_offload_req {
|
||||
uint32_t num_grp_ip_address;
|
||||
uint32_t grp_ip_address[MAX_MC_IP_ADDR];
|
||||
};
|
||||
|
||||
/**
|
||||
* struct pmo_ps_params - structure to hold OPM params
|
||||
*
|
||||
* @opm_mode: OPM mode
|
||||
* @ps_ito: power save inactivity timeout
|
||||
* @spec_wake: OPM speculative wake interval
|
||||
*/
|
||||
struct pmo_ps_params {
|
||||
enum powersave_mode opm_mode;
|
||||
uint16_t ps_ito;
|
||||
uint16_t spec_wake;
|
||||
};
|
||||
#endif /* end of _WLAN_PMO_COMMONP_STRUCT_H_ */
|
||||
|
@@ -325,6 +325,26 @@ wlan_pmo_get_interval_for_pagefault_wakeup_counts(
|
||||
QDF_STATUS wlan_pmo_get_listen_interval(struct wlan_objmgr_vdev *vdev,
|
||||
uint32_t *listen_interval);
|
||||
|
||||
/**
|
||||
* wlan_pmo_set_ps_params() - Set vdev OPM params
|
||||
* @vdev: pointer to vdev object
|
||||
* @ps_params: pointer to OPM params
|
||||
*
|
||||
* Return: None
|
||||
*/
|
||||
void wlan_pmo_set_ps_params(struct wlan_objmgr_vdev *vdev,
|
||||
struct pmo_ps_params *ps_params);
|
||||
|
||||
/**
|
||||
* wlan_pmo_get_ps_params() - Get vdev OPM params
|
||||
* @vdev: pointer to vdev object
|
||||
* @ps_params: Pointer to get OPM params
|
||||
*
|
||||
* Return: QDF Status
|
||||
*/
|
||||
QDF_STATUS wlan_pmo_get_ps_params(struct wlan_objmgr_vdev *vdev,
|
||||
struct pmo_ps_params *ps_params);
|
||||
|
||||
#else /* WLAN_POWER_MANAGEMENT_OFFLOAD */
|
||||
|
||||
static inline QDF_STATUS pmo_init(void)
|
||||
@@ -512,6 +532,18 @@ static QDF_STATUS wlan_pmo_get_listen_interval(struct wlan_objmgr_vdev *vdev,
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
static inline
|
||||
void wlan_pmo_set_ps_params(struct wlan_objmgr_vdev *vdev,
|
||||
struct pmo_ps_params *ps_params)
|
||||
{
|
||||
}
|
||||
|
||||
static inline QDF_STATUS
|
||||
wlan_pmo_get_ps_params(struct wlan_objmgr_vdev *vdev,
|
||||
struct pmo_ps_params *ps_params)
|
||||
{
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
#endif /* WLAN_POWER_MANAGEMENT_OFFLOAD */
|
||||
|
||||
#endif /* end of _WLAN_PMO_OBJ_MGMT_API_H_ */
|
||||
|
@@ -808,6 +808,27 @@ void
|
||||
ucfg_pmo_set_wow_enable(struct wlan_objmgr_psoc *psoc,
|
||||
enum pmo_wow_enable_type val);
|
||||
|
||||
/**
|
||||
* ucfg_pmo_set_ps_params() - Set vdev OPM params
|
||||
* @vdev: pointer to vdev object
|
||||
* @ps_params: pointer to OPM params
|
||||
*
|
||||
* Return: None
|
||||
*/
|
||||
void
|
||||
ucfg_pmo_set_ps_params(struct wlan_objmgr_vdev *vdev,
|
||||
struct pmo_ps_params *ps_params);
|
||||
|
||||
/**
|
||||
* ucfg_pmo_get_ps_params() - Get vdev OPM params
|
||||
* @vdev: pointer to vdev object
|
||||
* @ps_params: Pointer to get OPM params
|
||||
*
|
||||
* Return: QDF Status
|
||||
*/
|
||||
QDF_STATUS ucfg_pmo_get_ps_params(struct wlan_objmgr_vdev *vdev,
|
||||
struct pmo_ps_params *ps_params);
|
||||
|
||||
/**
|
||||
* ucfg_pmo_get_gtk_rsp(): API to send gtk response request to fwr
|
||||
* @vdev: objmgr vdev handle
|
||||
|
@@ -285,6 +285,15 @@ QDF_STATUS pmo_vdev_object_created_notification(
|
||||
vdev_ctx->pmo_psoc_ctx = psoc_ctx;
|
||||
qdf_atomic_init(&vdev_ctx->gtk_err_enable);
|
||||
pmo_vdev_dynamic_arp_ns_offload_init(vdev_ctx);
|
||||
/*
|
||||
* Update Powersave mode
|
||||
* 0 - PMO_PS_ADVANCED_POWER_SAVE_DISABLE
|
||||
* 1 - PMO_PS_ADVANCED_POWER_SAVE_ENABLE
|
||||
* 2 - PMO_PS_ADVANCED_POWER_SAVE_USER_DEFINED
|
||||
*/
|
||||
vdev_ctx->ps_params.opm_mode = psoc_ctx->psoc_cfg.power_save_mode;
|
||||
vdev_ctx->ps_params.ps_ito = PMO_PS_DATA_INACTIVITY_TIMEOUT;
|
||||
vdev_ctx->ps_params.spec_wake = PMO_PS_DATA_SPEC_WAKE;
|
||||
|
||||
out:
|
||||
pmo_exit();
|
||||
@@ -906,3 +915,15 @@ QDF_STATUS wlan_pmo_get_listen_interval(struct wlan_objmgr_vdev *vdev,
|
||||
{
|
||||
return pmo_core_get_listen_interval(vdev, listen_interval);
|
||||
}
|
||||
|
||||
void wlan_pmo_set_ps_params(struct wlan_objmgr_vdev *vdev,
|
||||
struct pmo_ps_params *ps_params)
|
||||
{
|
||||
pmo_core_vdev_set_ps_params(vdev, ps_params);
|
||||
}
|
||||
|
||||
QDF_STATUS wlan_pmo_get_ps_params(struct wlan_objmgr_vdev *vdev,
|
||||
struct pmo_ps_params *ps_params)
|
||||
{
|
||||
return pmo_core_vdev_get_ps_params(vdev, ps_params);
|
||||
}
|
||||
|
@@ -594,6 +594,19 @@ ucfg_pmo_set_wow_enable(struct wlan_objmgr_psoc *psoc,
|
||||
pmo_psoc_ctx->psoc_cfg.wow_enable = val;
|
||||
}
|
||||
|
||||
void
|
||||
ucfg_pmo_set_ps_params(struct wlan_objmgr_vdev *vdev,
|
||||
struct pmo_ps_params *ps_params)
|
||||
{
|
||||
pmo_core_vdev_set_ps_params(vdev, ps_params);
|
||||
}
|
||||
|
||||
QDF_STATUS ucfg_pmo_get_ps_params(struct wlan_objmgr_vdev *vdev,
|
||||
struct pmo_ps_params *ps_params)
|
||||
{
|
||||
return pmo_core_vdev_get_ps_params(vdev, ps_params);
|
||||
}
|
||||
|
||||
bool
|
||||
ucfg_pmo_is_arp_offload_enabled(struct wlan_objmgr_psoc *psoc)
|
||||
{
|
||||
|
Fai riferimento in un nuovo problema
Block a user