qcacld-3.0: Add handler for WMI_VDEV_BCN_LATENCY_EVENTID

WMI_VDEV_BCN_LATENCY_EVENTID is sent by firmware when it receives
the latency IE from connected AP in beacon.

Add handler for this event and when latency_level received is ultra
low in latency IE, update request pm qos type PM_QOS_CPU_DMA_LATENCY
to level DISABLE_KRAIT_IDLE_PS_VAL to speed up CPU efficiency and
irq response. This is needed for Voice and Music products where extreme
low latency is needed while playing music and high power consumption is
accepted.

Change-Id: I3c63ef247f4f4a1add68111ef1bcee6daafd148a
CRs-Fixed: 2723205
This commit is contained in:
Surabhi Vishnoi
2020-05-19 10:41:23 +05:30
committed by nshrivas
parent f235aec968
commit 1ce2688f28
8 changed files with 145 additions and 0 deletions

View File

@@ -4223,4 +4223,26 @@ sme_process_monitor_mode_vdev_up_evt(uint8_t vdev_id)
}
#endif
#if defined(CLD_PM_QOS) && defined(WLAN_FEATURE_LL_MODE)
/**
* sme_set_beacon_latency_event_cb() - Register beacon latency IE callback
* @mac_handle: Opaque handle to the MAC context
* @beacon_latency_event_cb: callback to be registered
*
* Return: QDF_STATUS
*/
QDF_STATUS
sme_set_beacon_latency_event_cb(mac_handle_t mac_handle,
void (*beacon_latency_event_cb)
(uint32_t latency_level));
#else
static inline QDF_STATUS
sme_set_beacon_latency_event_cb(mac_handle_t mac_handle,
void (*beacon_latency_event_cb)
(uint32_t latency_level))
{
return QDF_STATUS_SUCCESS;
}
#endif
#endif /* #if !defined( __SME_API_H ) */

View File

@@ -389,6 +389,9 @@ struct sme_context {
#ifdef FEATURE_MONITOR_MODE_SUPPORT
void (*monitor_mode_cb)(uint8_t vdev_id);
#endif
#if defined(CLD_PM_QOS) && defined(WLAN_FEATURE_LL_MODE)
void (*beacon_latency_event_cb)(uint32_t latency_level);
#endif
};
#endif /* #if !defined( __SMEINTERNAL_H ) */