qcacld-3.0: Port modulated dtim and override listen interval

Port modulated dtim and override listen interval to PMO from
WMA.

Change-Id: Id965dd8ee0fbddfa563335fd2fe225dcd20cd162
CRs-Fixed: 2252788
This commit is contained in:
Nachiket Kukade
2018-06-01 22:53:06 +05:30
committed by nshrivas
parent b845c0f455
commit e467a93dbb
6 changed files with 252 additions and 57 deletions

View File

@@ -322,12 +322,14 @@ struct pmo_psoc_cfg {
* @unified_wow: Firmware supports "interface pause" flag in WoW command.
* This allows both D0-WoW (bus up) and Non-D0-WoW (bus down) to use one
* unified command
* @li_offload: Firmware has listen interval offload support
*/
struct pmo_device_caps {
bool apf;
bool arp_ns_offload;
bool packet_filter;
bool unified_wow;
bool li_offload;
};
#endif /* end of _WLAN_PMO_COMMONP_STRUCT_H_ */

View File

@@ -425,16 +425,6 @@ QDF_STATUS pmo_ucfg_lphb_config_req(struct wlan_objmgr_psoc *psoc,
struct pmo_lphb_req *lphb_req, void *lphb_cb_ctx,
pmo_lphb_callback callback);
/**
* pmo_ucfg_update_alt_modulated_dtim_enable() - update alt modulatate dtim
* @vdev: objmgr vdev handle
* @value: true for alt_modulated_dtim enable else false
*
* Return: QDF status
*/
void pmo_ucfg_update_alt_modulated_dtim_enable(struct wlan_objmgr_vdev *vdev,
bool value);
/**
* pmo_ucfg_psoc_update_power_save_mode() - update power save mode
* @vdev: objmgr vdev handle
@@ -619,6 +609,30 @@ void pmo_ucfg_psoc_target_suspend_acknowledge(void *context, bool wow_nack);
* Return: None
*/
void pmo_ucfg_psoc_wakeup_host_event_received(struct wlan_objmgr_psoc *psoc);
/**
* pmo_ucfg_config_listen_interval() - function to configure listen interval
* @vdev: objmgr vdev
* @listen_interval: new listen interval passed by user
*
* This function allows user to configure listen interval dynamically
*
* Return: QDF_STATUS
*/
QDF_STATUS pmo_ucfg_config_listen_interval(struct wlan_objmgr_vdev *vdev,
uint32_t listen_interval);
/**
* pmo_ucfg_config_modulated_dtim() - function to configure modulated dtim
* @vdev: objmgr vdev handle
* @param_value: New modulated dtim value passed by user
*
* This function configures the modulated dtim in firmware
*
* Return: QDF_STATUS
*/
QDF_STATUS pmo_ucfg_config_modulated_dtim(struct wlan_objmgr_vdev *vdev,
uint32_t mod_dtim);
#else
static inline uint32_t
ucfg_pmo_get_apf_instruction_size(struct wlan_objmgr_psoc *psoc)
@@ -866,13 +880,6 @@ pmo_ucfg_lphb_config_req(
return QDF_STATUS_SUCCESS;
}
static inline void
pmo_ucfg_update_alt_modulated_dtim_enable(
struct wlan_objmgr_vdev *vdev,
bool value)
{
}
static inline void
pmo_ucfg_psoc_update_power_save_mode(
struct wlan_objmgr_psoc *psoc,
@@ -1046,6 +1053,20 @@ pmo_ucfg_enhanced_mc_filter_disable(struct wlan_objmgr_vdev *vdev)
{
return QDF_STATUS_SUCCESS;
}
static inline QDF_STATUS
pmo_ucfg_config_listen_interval(struct wlan_objmgr_vdev *vdev,
uint32_t listen_interval)
{
return QDF_STATUS_SUCCESS;
}
static inline QDF_STATUS
pmo_ucfg_config_modulated_dtim(struct wlan_objmgr_vdev *vdev,
uint32_t mod_dtim)
{
return QDF_STATUS_SUCCESS;
}
#endif /* WLAN_POWER_MANAGEMENT_OFFLOAD */
#endif /* end of _WLAN_PMO_UCFG_API_H_ */