qcacld-3.0: Send idle roam trigger monitor command to firmware

Send idle roam trigger monitor command to firmware based on
the SET SUSPEND mode command received from the user space.
The set suspend mode value sent will be used by firmware as
one of the parameters in determining if the device is in
idle state. When set suspend mode is 1, device is not in
idle state else the device is considered idle if idle state
data packet count, idle rssi, inactivity time criteria are met.

Add changes to send the suspend mode value over the wmi
command WMI_IDLE_TRIGGER_MONITOR_CMDID.

Change-Id: Ia4531fdab140334dbb830e0d7486db07bbdfc7e8
CRs-Fixed: 2436221
此提交包含在:
Pragaspathi Thilagaraj
2019-04-16 02:47:50 +05:30
提交者 nshrivas
父節點 08517f38df
當前提交 74dece59a0
共有 8 個檔案被更改,包括 75 行新增1 行删除

查看文件

@@ -121,6 +121,8 @@ typedef int (*pmo_pld_auto_resume_cb)(void);
* @psoc_send_target_resume_req: fp to send target resume request
* @psoc_send_d0wow_enable_req: fp to send D0 WOW enable request
* @psoc_send_d0wow_disable_req: fp to send D0 WOW disable request
* @psoc_send_idle_roam_suspend_mode: fp to send suspend mode for
* idle roam trigger to firmware.
*/
struct wlan_pmo_tx_ops {
QDF_STATUS (*send_arp_offload_req)(struct wlan_objmgr_vdev *vdev,
@@ -222,6 +224,8 @@ struct wlan_pmo_tx_ops {
struct wlan_objmgr_psoc *psoc);
QDF_STATUS (*psoc_send_d0wow_disable_req)(
struct wlan_objmgr_psoc *psoc);
QDF_STATUS (*psoc_send_idle_roam_suspend_mode)(
struct wlan_objmgr_psoc *psoc, uint8_t val);
};

查看文件

@@ -444,4 +444,15 @@ QDF_STATUS pmo_tgt_psoc_send_host_wakeup_ind(struct wlan_objmgr_psoc *psoc);
*/
QDF_STATUS pmo_tgt_psoc_send_target_resume_req(struct wlan_objmgr_psoc *psoc);
/**
* pmo_tgt_psoc_send_idle_roam_monitor() - Send idle roam set suspend mode
* command to firmware
* @psoc: objmgr psoc
* @val: Set suspend mode value
*
* Return: QDF_STATUS_SUCCESS on success else error code
*/
QDF_STATUS pmo_tgt_psoc_send_idle_roam_monitor(struct wlan_objmgr_psoc *psoc,
uint8_t val);
#endif /* end of _WLAN_PMO_TGT_API_H_ */

查看文件

@@ -245,6 +245,19 @@ ucfg_pmo_get_max_ps_poll(struct wlan_objmgr_psoc *psoc);
uint8_t
ucfg_pmo_power_save_offload_enabled(struct wlan_objmgr_psoc *psoc);
/**
* ucfg_pmo_tgt_psoc_send_idle_roam_suspend_mode() - Send suspend mode to
* firmware
* @psoc: pointer to psoc object
* @val: Set suspend mode on/off sent from userspace
*
* Return: QDF_STATUS_SUCCESS if suspend mode is sent to fw else return
* corresponding QDF_STATUS failure code.
*/
QDF_STATUS
ucfg_pmo_tgt_psoc_send_idle_roam_suspend_mode(struct wlan_objmgr_psoc *psoc,
uint8_t val);
/**
* ucfg_pmo_enable_wakeup_event() - enable wow wakeup events
* @psoc: objmgr psoc