qcacld-3.0: Set direct link when its vdev is up

When Vdev for direct link is up, set packets for this vdev to
route to firmware and only enter d0 WOW.
If the AP profile is HOST_CONCURRENT_AP_POLICY_GAMING_AUDIO,
prevent link to go to low power states to reduce latency.

Change-Id: I9fa2ab06983db8767d8b48b74e30602e07294fe2
CRs-Fixed: 3330207
Esse commit está contido em:
Ananya Gupta
2022-11-16 17:47:09 +05:30
commit de Madan Koyyalamudi
commit a3e72a6e91
6 arquivos alterados com 139 adições e 1 exclusões

Ver arquivo

@@ -1395,6 +1395,18 @@ QDF_STATUS ucfg_dp_wfds_new_server(void);
* Return: None
*/
void ucfg_dp_wfds_del_server(void);
/**
* ucfg_dp_config_direct_link() - Set direct link config for vdev
* @vdev: objmgr Vdev handle
* @config_direct_link: Flag to enable direct link path
* @enable_low_latency: Flag to enable low link latency
*
* Return: QDF Status
*/
QDF_STATUS ucfg_dp_config_direct_link(struct wlan_objmgr_vdev *vdev,
bool config_direct_link,
bool enable_low_latency);
#else
static inline
QDF_STATUS ucfg_dp_direct_link_init(struct wlan_objmgr_psoc *psoc)
@@ -1427,5 +1439,13 @@ static inline void ucfg_dp_wfds_del_server(void)
{
}
#endif
static inline
QDF_STATUS ucfg_dp_config_direct_link(struct wlan_objmgr_vdev *vdev,
bool enable_direct_link,
bool enable_low_latency)
{
return QDF_STATUS_SUCCESS;
}
#endif
#endif /* _WLAN_DP_UCFG_API_H_ */

Ver arquivo

@@ -122,6 +122,9 @@ ucfg_dp_destroy_intf(struct wlan_objmgr_psoc *psoc,
return QDF_STATUS_E_FAILURE;
}
if (dp_intf->device_mode == QDF_SAP_MODE)
dp_config_direct_link(dp_intf, false, false);
dp_periodic_sta_stats_mutex_destroy(dp_intf);
dp_nud_deinit_tracking(dp_intf);
dp_mic_deinit_work(dp_intf);
@@ -2372,4 +2375,19 @@ void ucfg_dp_wfds_del_server(void)
{
dp_wfds_del_server();
}
QDF_STATUS ucfg_dp_config_direct_link(struct wlan_objmgr_vdev *vdev,
bool config_direct_link,
bool enable_low_latency)
{
struct wlan_dp_intf *dp_intf = dp_get_vdev_priv_obj(vdev);
if (!dp_intf) {
dp_err("Unable to get DP interface");
return QDF_STATUS_E_INVAL;
}
return dp_config_direct_link(dp_intf, config_direct_link,
enable_low_latency);
}
#endif