qcacmn: 160 MHz/80p80 support for gen III Spectral

For generation 3 spectral reports for the 80 MHz segments
come as part of different events. To deal with this a
state machine is added to report handler. Noise floor
value of the lowest chain in the chain mask is populated
in the SAMP message.

CRs-Fixed: 2236331
Change-Id: Ie24426449cf8503c9d7f7c30ca617a6697ca2b5e
This commit is contained in:
Edayilliam Jayadev
2018-09-06 14:51:25 +05:30
committed by nshrivas
szülő a8dcd50683
commit 2256850e61
6 fájl változott, egészen pontosan 657 új sor hozzáadva és 348 régi sor törölve

Fájl megtekintése

@@ -403,6 +403,7 @@ os_if_spectral_nl_unicast_msg(struct wlan_objmgr_pdev *pdev)
}
#endif
/**
* os_if_spectral_nl_bcast_msg() - Sends broadcast Spectral message to user
* space
@@ -453,6 +454,44 @@ os_if_spectral_nl_bcast_msg(struct wlan_objmgr_pdev *pdev)
return status;
}
/**
* os_if_spectral_free_skb() - Free spectral SAMP message skb
*
* @pdev : Pointer to pdev
*
* Return: void
*/
static void
os_if_spectral_free_skb(struct wlan_objmgr_pdev *pdev)
{
struct pdev_spectral *ps = NULL;
if (!pdev) {
spectral_err("PDEV is NULL!");
return;
}
ps = wlan_objmgr_pdev_get_comp_private_obj(pdev,
WLAN_UMAC_COMP_SPECTRAL);
if (!ps) {
spectral_err("PDEV SPECTRAL object is NULL!");
return;
}
if (!ps->skb) {
spectral_err("Socket buffer is null");
return;
}
/* Free buffer */
qdf_nbuf_free(ps->skb);
/* clear the local copy */
ps->skb = NULL;
}
qdf_export_symbol(os_if_spectral_free_skb);
void
os_if_spectral_netlink_init(struct wlan_objmgr_pdev *pdev)
{
@@ -477,6 +516,7 @@ os_if_spectral_netlink_init(struct wlan_objmgr_pdev *pdev)
nl_cb.get_nbuff = os_if_spectral_prep_skb;
nl_cb.send_nl_bcast = os_if_spectral_nl_bcast_msg;
nl_cb.send_nl_unicast = os_if_spectral_nl_unicast_msg;
nl_cb.free_nbuff = os_if_spectral_free_skb;
if (sptrl_ctx->sptrlc_register_netlink_cb)
sptrl_ctx->sptrlc_register_netlink_cb(pdev, &nl_cb);