qcacld-3.0: Add checks to NS and ARP offload requests
Currently the offloading of the NS and ARP to firmware is inefficient; redundant caching is performed even if offload is not sent. This causes wastage of resources and increases code complexity. Introduce checks before caching and offload to ensure that the mentioned inefficiencies are taken care of. Change-Id: I6013810e1e08adb15c801f4fc21e1b50371bacda CRs-Fixed: 2569763
This commit is contained in:

zatwierdzone przez
nshrivas

rodzic
6220137b8d
commit
60c3b2b014
@@ -290,6 +290,18 @@ void ucfg_pmo_disable_wakeup_event(struct wlan_objmgr_psoc *psoc,
|
||||
*/
|
||||
QDF_STATUS ucfg_pmo_cache_arp_offload_req(struct pmo_arp_req *arp_req);
|
||||
|
||||
/**
|
||||
* ucfg_pmo_check_arp_offload(): API to check if arp offload cache/send is req
|
||||
* @psoc: objmgr psoc handle
|
||||
* @trigger: trigger reason
|
||||
* @vdev_id: vdev_id
|
||||
*
|
||||
* Return QDF_STATUS -in case of success else return error
|
||||
*/
|
||||
QDF_STATUS ucfg_pmo_check_arp_offload(struct wlan_objmgr_psoc *psoc,
|
||||
enum pmo_offload_trigger trigger,
|
||||
uint8_t vdev_id);
|
||||
|
||||
/**
|
||||
* ucfg_pmo_flush_arp_offload_req(): API to flush arp req from pmo vdev priv ctx
|
||||
* @vdev: objmgr vdev param
|
||||
@@ -342,6 +354,18 @@ ucfg_pmo_get_arp_offload_params(struct wlan_objmgr_vdev *vdev,
|
||||
*/
|
||||
QDF_STATUS ucfg_pmo_cache_ns_offload_req(struct pmo_ns_req *ns_req);
|
||||
|
||||
/**
|
||||
* ucfg_pmo_ns_offload_check(): API to check if offload cache/send is required
|
||||
* @psoc: pbjmgr psoc handle
|
||||
* @trigger: trigger reason to enable ns offload
|
||||
* @vdev_id: vdev id
|
||||
*
|
||||
* Return QDF_STATUS -in case of success else return error
|
||||
*/
|
||||
QDF_STATUS ucfg_pmo_ns_offload_check(struct wlan_objmgr_psoc *psoc,
|
||||
enum pmo_offload_trigger trigger,
|
||||
uint8_t vdev_id);
|
||||
|
||||
/**
|
||||
* ucfg_pmo_flush_ns_offload_req(): API to flush ns req from pmo vdev priv ctx
|
||||
* @vdev: vdev ojbmgr handle
|
||||
@@ -1171,6 +1195,14 @@ ucfg_pmo_cache_arp_offload_req(struct pmo_arp_req *arp_req)
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
static inline
|
||||
QDF_STATUS ucfg_pmo_check_arp_offload(struct wlan_objmgr_psoc *psoc,
|
||||
enum pmo_offload_trigger trigger,
|
||||
uint8_t vdev_id)
|
||||
{
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
static inline QDF_STATUS
|
||||
ucfg_pmo_flush_arp_offload_req(struct wlan_objmgr_vdev *vdev)
|
||||
{
|
||||
@@ -1206,6 +1238,13 @@ ucfg_pmo_cache_ns_offload_req(struct pmo_ns_req *ns_req)
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
QDF_STATUS ucfg_pmo_ns_offload_check(struct wlan_objmgr_psoc *psoc,
|
||||
enum pmo_offload_trigger trigger,
|
||||
uint8_t vdev_id)
|
||||
{
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
static inline QDF_STATUS
|
||||
ucfg_pmo_flush_ns_offload_req(struct wlan_objmgr_vdev *vdev)
|
||||
{
|
||||
|
Reference in New Issue
Block a user