qcacmn: populate RSSI for the neighbor clients

Populate the RSSI value for the non associated clients
added in pdev->neighbour_peers_list from monitor status
ring

Change-Id: I509d06bec6eafe8377681c8a3da9a64f301c3c73
CRs-fixed: 2286571
Cette révision appartient à :
Chaithanya Garrepalli
2018-07-24 18:52:27 +05:30
révisé par nshrivas
Parent 3756b7603e
révision 95fc62f8fc
7 fichiers modifiés avec 178 ajouts et 74 suppressions

Voir le fichier

@@ -100,14 +100,14 @@ cdp_set_filter_neighbour_peers(ol_txrx_soc_handle soc,
* which needs to be filtered
*
* @param soc - the pointer to soc object
* @param pdev - the pointer to physical device object
* @param vdev - the pointer to vdev
* @param cmd - add/del entry into peer table
* @param macaddr - the address of neighbour peer
* @return - int
*/
static inline int
cdp_update_filter_neighbour_peers(ol_txrx_soc_handle soc,
struct cdp_pdev *pdev, uint32_t cmd, uint8_t *macaddr)
struct cdp_vdev *vdev, uint32_t cmd, uint8_t *macaddr)
{
if (!soc || !soc->ops) {
QDF_TRACE(QDF_MODULE_ID_CDP, QDF_TRACE_LEVEL_DEBUG,
@@ -121,7 +121,7 @@ cdp_update_filter_neighbour_peers(ol_txrx_soc_handle soc,
return 0;
return soc->ops->ctrl_ops->txrx_update_filter_neighbour_peers
(pdev, cmd, macaddr);
(vdev, cmd, macaddr);
}
/**
@@ -759,5 +759,34 @@ static inline QDF_STATUS cdp_vdev_config_for_nac_rssi(ol_txrx_soc_handle soc,
return soc->ops->ctrl_ops->txrx_vdev_config_for_nac_rssi(vdev,
nac_cmd, bssid, client_macaddr, chan_num);
}
/*
* cdp_vdev_get_neighbour_rssi(): To invoke dp callback to get rssi value of nac
* @soc: soc pointer
* @vdev: vdev pointer
* @macaddr: Non-Associated client MAC
* @rssi: rssi
*
* Return: QDF_STATUS
*/
static inline QDF_STATUS cdp_vdev_get_neighbour_rssi(ol_txrx_soc_handle soc,
struct cdp_vdev *vdev,
char *macaddr,
uint8_t *rssi)
{
if (!soc || !soc->ops) {
QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_FATAL,
"%s invalid instance", __func__);
QDF_BUG(0);
return QDF_STATUS_E_FAILURE;
}
if (!soc->ops->ctrl_ops ||
!soc->ops->ctrl_ops->txrx_vdev_get_neighbour_rssi)
return QDF_STATUS_E_FAILURE;
return soc->ops->ctrl_ops->txrx_vdev_get_neighbour_rssi(vdev, macaddr,
rssi);
}
#endif
#endif

Voir le fichier

@@ -332,7 +332,7 @@ struct cdp_ctrl_ops {
uint32_t val);
int
(*txrx_update_filter_neighbour_peers)(
struct cdp_pdev *pdev,
struct cdp_vdev *vdev,
uint32_t cmd, uint8_t *macaddr);
/**
* @brief set the safemode of the device
@@ -531,6 +531,9 @@ struct cdp_ctrl_ops {
QDF_STATUS (*txrx_vdev_config_for_nac_rssi)(struct cdp_vdev *vdev,
enum cdp_nac_param_cmd cmd, char *bssid, char *client_macaddr,
uint8_t chan_num);
QDF_STATUS (*txrx_vdev_get_neighbour_rssi)(struct cdp_vdev *vdev,
char *macaddr,
uint8_t *rssi);
#endif
void (*set_key)(struct cdp_peer *peer_handle,
bool is_unicast, uint32_t *key);