qcacmn: Add support to manage Wifi pos vdev private object
Add support to manage Wifi pos vdev private object. Add new peer type in enum wlan_peer_type. Add rx_ops and register the rx_ops for PASN peer create/peer delete request. Register 11az PASN related WMI events in target if. Change-Id: I2a5e4d8d7c9b9562d9ab02b287957e93ee6f4758 CRs-Fixed: 3154521
Этот коммит содержится в:

коммит произвёл
Madan Koyyalamudi

родитель
87ce989ee0
Коммит
7738bad9e9
@@ -342,6 +342,24 @@ struct wlan_lmac_if_rx_ops;
|
||||
*/
|
||||
void wifi_pos_register_rx_ops(struct wlan_lmac_if_rx_ops *rx_ops);
|
||||
|
||||
/**
|
||||
* wifi_pos_get_tx_ops: api to get tx ops
|
||||
* @psoc: pointer to psoc object
|
||||
*
|
||||
* Return: tx ops
|
||||
*/
|
||||
struct wlan_lmac_if_wifi_pos_tx_ops *
|
||||
wifi_pos_get_tx_ops(struct wlan_objmgr_psoc *psoc);
|
||||
|
||||
/**
|
||||
* wifi_pos_get_rx_ops: api to get rx ops
|
||||
* @psoc: pointer to psoc object
|
||||
*
|
||||
* Return: rx ops
|
||||
*/
|
||||
struct wlan_lmac_if_wifi_pos_rx_ops *
|
||||
wifi_pos_get_rx_ops(struct wlan_objmgr_psoc *psoc);
|
||||
|
||||
/**
|
||||
* ucfg_wifi_pos_get_ftm_cap: API to get fine timing measurement caps
|
||||
* @psoc: psoc object
|
||||
@@ -402,6 +420,25 @@ bool wifi_pos_is_app_registered(struct wlan_objmgr_psoc *psoc);
|
||||
*/
|
||||
struct wlan_objmgr_psoc *wifi_pos_get_psoc(void);
|
||||
|
||||
/**
|
||||
* wifi_pos_get_legacy_ops() - Get wifi pos legacy ops
|
||||
* @psoc: PSOC pointer
|
||||
*
|
||||
* Return: Pointer to legacy ops
|
||||
*/
|
||||
struct wifi_pos_legacy_ops *
|
||||
wifi_pos_get_legacy_ops(struct wlan_objmgr_psoc *psoc);
|
||||
|
||||
/**
|
||||
* wifi_pos_set_legacy_ops() - Set Wifi Pos legacy ops
|
||||
* @psoc: PSOC pointer
|
||||
* @legacy_ops: Legacy ops
|
||||
*
|
||||
* Return: QDF_STATUS
|
||||
*/
|
||||
QDF_STATUS
|
||||
wifi_pos_set_legacy_ops(struct wlan_objmgr_psoc *psoc,
|
||||
struct wifi_pos_legacy_ops *legacy_ops);
|
||||
#else
|
||||
static inline QDF_STATUS wifi_pos_init(void)
|
||||
{
|
||||
|
@@ -33,6 +33,7 @@
|
||||
#include "qdf_trace.h"
|
||||
#include "qdf_module.h"
|
||||
#include "wifi_pos_utils_pub.h"
|
||||
#include "wlan_objmgr_vdev_obj.h"
|
||||
#include "wlan_cmn.h"
|
||||
|
||||
struct wlan_objmgr_psoc;
|
||||
@@ -215,6 +216,21 @@ typedef void (*wifi_pos_send_rsp_handler)(struct wlan_objmgr_psoc *, uint32_t,
|
||||
enum wifi_pos_cmd_ids,
|
||||
uint32_t, uint8_t *);
|
||||
|
||||
/**
|
||||
* struct wifi_pos_legacy_ops - wifi pos module legacy callbacks
|
||||
* @pasn_peer_create_cb: PASN peer create callback
|
||||
* @pasn_peer_delete_cb: PASN peer delete callback
|
||||
*/
|
||||
struct wifi_pos_legacy_ops {
|
||||
QDF_STATUS (*pasn_peer_create_cb)(struct wlan_objmgr_psoc *psoc,
|
||||
struct qdf_mac_addr *peer_addr,
|
||||
uint8_t vdev_id);
|
||||
QDF_STATUS (*pasn_peer_delete_cb)(struct wlan_objmgr_psoc *psoc,
|
||||
struct qdf_mac_addr *peer_addr,
|
||||
uint8_t vdev_id,
|
||||
bool no_fw_peer_delete);
|
||||
};
|
||||
|
||||
/**
|
||||
* struct wifi_pos_psoc_priv_obj - psoc obj data for wifi_pos
|
||||
* @app_pid: pid of app registered to host driver
|
||||
@@ -251,6 +267,7 @@ typedef void (*wifi_pos_send_rsp_handler)(struct wlan_objmgr_psoc *, uint32_t,
|
||||
* @wifi_pos_measurement_request_notification: Call this API when the driver
|
||||
* receives measurement request
|
||||
* from the LOWI application
|
||||
* @legacy_ops: wifi pos legacy callbacks
|
||||
* @rsp_version: rsp version
|
||||
*
|
||||
* wifi pos request messages
|
||||
@@ -290,6 +307,7 @@ struct wifi_pos_psoc_priv_obj {
|
||||
|
||||
qdf_spinlock_t wifi_pos_lock;
|
||||
bool oem_6g_support_disable;
|
||||
struct wifi_pos_legacy_ops *legacy_ops;
|
||||
QDF_STATUS (*wifi_pos_req_handler)(struct wlan_objmgr_psoc *psoc,
|
||||
struct wifi_pos_req_msg *req);
|
||||
wifi_pos_send_rsp_handler wifi_pos_send_rsp;
|
||||
@@ -391,5 +409,15 @@ uint32_t wifi_pos_get_app_pid(struct wlan_objmgr_psoc *psoc);
|
||||
*/
|
||||
bool wifi_pos_is_app_registered(struct wlan_objmgr_psoc *psoc);
|
||||
|
||||
/**
|
||||
* wifi_pos_get_vdev_priv_obj() - Get WIfi pos module vdev private
|
||||
* object
|
||||
* @vdev: vdev pointer
|
||||
*
|
||||
* Return: Pointer to vdev private obj
|
||||
*/
|
||||
struct wifi_pos_vdev_priv_obj *
|
||||
wifi_pos_get_vdev_priv_obj(struct wlan_objmgr_vdev *vdev);
|
||||
|
||||
#endif /* _WIFI_POS_UTILS_H_ */
|
||||
#endif /* WIFI_POS_CONVERGED */
|
||||
|
Ссылка в новой задаче
Block a user