qcacld-3.0: Add debugfs support for offload info
Add debugfs entry to get offload info (mc addr list, arp, ns etc.,) for STA interface. Change-Id: I8bf4491929b5ef04ed5ce19f4b0030945f0eb0c0 CRs-Fixed: 2203786
This commit is contained in:

committed by
nshrivas

parent
4c8edc0e69
commit
85f8b02175
@@ -79,8 +79,18 @@ QDF_STATUS pmo_tgt_enable_arp_offload_req(struct wlan_objmgr_vdev *vdev,
|
||||
}
|
||||
status = pmo_tx_ops.send_arp_offload_req(
|
||||
vdev, arp_offload_req, ns_offload_req);
|
||||
if (status != QDF_STATUS_SUCCESS)
|
||||
if (status != QDF_STATUS_SUCCESS) {
|
||||
pmo_err("Failed to send ARP offload");
|
||||
goto out;
|
||||
}
|
||||
|
||||
qdf_spin_lock_bh(&vdev_ctx->pmo_vdev_lock);
|
||||
if (vdev_ctx->vdev_arp_req.enable)
|
||||
vdev_ctx->vdev_arp_req.is_offload_applied = true;
|
||||
if (vdev_ctx->vdev_ns_req.enable)
|
||||
vdev_ctx->vdev_ns_req.is_offload_applied = true;
|
||||
qdf_spin_unlock_bh(&vdev_ctx->pmo_vdev_lock);
|
||||
|
||||
out:
|
||||
if (arp_offload_req)
|
||||
qdf_mem_free(arp_offload_req);
|
||||
@@ -147,6 +157,11 @@ QDF_STATUS pmo_tgt_disable_arp_offload_req(struct wlan_objmgr_vdev *vdev,
|
||||
if (status != QDF_STATUS_SUCCESS)
|
||||
pmo_err("Failed to send ARP offload");
|
||||
|
||||
qdf_spin_lock_bh(&vdev_ctx->pmo_vdev_lock);
|
||||
vdev_ctx->vdev_arp_req.is_offload_applied = false;
|
||||
vdev_ctx->vdev_ns_req.is_offload_applied = false;
|
||||
qdf_spin_unlock_bh(&vdev_ctx->pmo_vdev_lock);
|
||||
|
||||
out:
|
||||
if (arp_offload_req)
|
||||
qdf_mem_free(arp_offload_req);
|
||||
|
@@ -79,8 +79,17 @@ QDF_STATUS pmo_tgt_enable_ns_offload_req(struct wlan_objmgr_vdev *vdev,
|
||||
}
|
||||
status = pmo_tx_ops.send_ns_offload_req(
|
||||
vdev, arp_offload_req, ns_offload_req);
|
||||
if (status != QDF_STATUS_SUCCESS)
|
||||
if (status != QDF_STATUS_SUCCESS) {
|
||||
pmo_err("Failed to send NS offload");
|
||||
goto out;
|
||||
}
|
||||
|
||||
qdf_spin_lock_bh(&vdev_ctx->pmo_vdev_lock);
|
||||
if (vdev_ctx->vdev_arp_req.enable)
|
||||
vdev_ctx->vdev_arp_req.is_offload_applied = true;
|
||||
if (vdev_ctx->vdev_ns_req.enable)
|
||||
vdev_ctx->vdev_ns_req.is_offload_applied = true;
|
||||
qdf_spin_unlock_bh(&vdev_ctx->pmo_vdev_lock);
|
||||
|
||||
out:
|
||||
if (arp_offload_req)
|
||||
@@ -148,6 +157,11 @@ QDF_STATUS pmo_tgt_disable_ns_offload_req(struct wlan_objmgr_vdev *vdev,
|
||||
if (status != QDF_STATUS_SUCCESS)
|
||||
pmo_err("Failed to send NS offload");
|
||||
|
||||
qdf_spin_lock_bh(&vdev_ctx->pmo_vdev_lock);
|
||||
vdev_ctx->vdev_arp_req.is_offload_applied = false;
|
||||
vdev_ctx->vdev_ns_req.is_offload_applied = false;
|
||||
qdf_spin_unlock_bh(&vdev_ctx->pmo_vdev_lock);
|
||||
|
||||
out:
|
||||
if (arp_offload_req)
|
||||
qdf_mem_free(arp_offload_req);
|
||||
|
@@ -128,6 +128,13 @@ QDF_STATUS pmo_ucfg_disable_arp_offload_in_fwr(struct wlan_objmgr_vdev *vdev,
|
||||
return pmo_core_disable_arp_offload_in_fwr(vdev, trigger);
|
||||
}
|
||||
|
||||
QDF_STATUS
|
||||
pmo_ucfg_get_arp_offload_params(struct wlan_objmgr_vdev *vdev,
|
||||
struct pmo_arp_offload_params *params)
|
||||
{
|
||||
return pmo_core_get_arp_offload_params(vdev, params);
|
||||
}
|
||||
|
||||
#ifdef WLAN_NS_OFFLOAD
|
||||
QDF_STATUS pmo_ucfg_cache_ns_offload_req(struct pmo_ns_req *ns_req)
|
||||
{
|
||||
@@ -152,6 +159,32 @@ QDF_STATUS pmo_ucfg_disable_ns_offload_in_fwr(struct wlan_objmgr_vdev *vdev,
|
||||
}
|
||||
#endif /* WLAN_NS_OFFLOAD */
|
||||
|
||||
QDF_STATUS
|
||||
pmo_ucfg_get_ns_offload_params(struct wlan_objmgr_vdev *vdev,
|
||||
struct pmo_ns_offload_params *params)
|
||||
{
|
||||
return pmo_core_get_ns_offload_params(vdev, params);
|
||||
}
|
||||
|
||||
enum pmo_ns_addr_scope
|
||||
pmo_ucfg_ns_addr_scope(uint32_t ipv6_scope)
|
||||
{
|
||||
switch (ipv6_scope) {
|
||||
case IPV6_ADDR_SCOPE_NODELOCAL:
|
||||
return PMO_NS_ADDR_SCOPE_NODELOCAL;
|
||||
case IPV6_ADDR_SCOPE_LINKLOCAL:
|
||||
return PMO_NS_ADDR_SCOPE_LINKLOCAL;
|
||||
case IPV6_ADDR_SCOPE_SITELOCAL:
|
||||
return PMO_NS_ADDR_SCOPE_SITELOCAL;
|
||||
case IPV6_ADDR_SCOPE_ORGLOCAL:
|
||||
return PMO_NS_ADDR_SCOPE_ORGLOCAL;
|
||||
case IPV6_ADDR_SCOPE_GLOBAL:
|
||||
return PMO_NS_ADDR_SCOPE_GLOBAL;
|
||||
}
|
||||
|
||||
return PMO_NS_ADDR_SCOPE_INVALID;
|
||||
}
|
||||
|
||||
QDF_STATUS pmo_ucfg_cache_mc_addr_list(
|
||||
struct pmo_mc_addr_list_params *mc_list_config)
|
||||
{
|
||||
@@ -187,6 +220,14 @@ uint8_t pmo_ucfg_max_mc_addr_supported(struct wlan_objmgr_psoc *psoc)
|
||||
return pmo_core_max_mc_addr_supported(psoc);
|
||||
}
|
||||
|
||||
QDF_STATUS
|
||||
pmo_ucfg_get_mc_addr_list(struct wlan_objmgr_psoc *psoc,
|
||||
uint8_t vdev_id,
|
||||
struct pmo_mc_addr_list *mc_list_req)
|
||||
{
|
||||
return pmo_core_get_mc_addr_list(psoc, vdev_id, mc_list_req);
|
||||
}
|
||||
|
||||
QDF_STATUS pmo_ucfg_cache_gtk_offload_req(struct wlan_objmgr_vdev *vdev,
|
||||
struct pmo_gtk_req *gtk_req)
|
||||
{
|
||||
|
Reference in New Issue
Block a user