qcacmn: Move Spectral Netlink APIs to os_if layer
Spectral Netlink related APIs are currently present in target_if layer, move them to os_if layer. Change-Id: I86a5495f6ec8aa85a2e9639902503a522b023f8e CRs-Fixed: 2151548
This commit is contained in:

committed by
snandini

vanhempi
82032dd2a4
commit
101778698b
@@ -25,6 +25,7 @@ INCS += -I$(obj)/$(DEPTH)/umac/son/dispatcher/inc
|
||||
INCS += -I$(obj)/$(DEPTH)/cmn_dev/umac/dfs/dispatcher/inc
|
||||
INCS += -I$(obj)/$(DEPTH)/cmn_dev/os_if/linux/spectral/inc
|
||||
INCS += -I$(obj)/$(DEPTH)/cmn_dev/os_if/linux/scan/inc
|
||||
INCS += -I$(obj)/$(DEPTH)/cmn_dev/spectral/core
|
||||
|
||||
ifeq ($(WLAN_CONV_CRYPTO_SUPPORTED), 1)
|
||||
INCS += -I$(obj)/$(DEPTH)/cmn_dev/umac/cmn_services/crypto/inc
|
||||
@@ -188,7 +189,8 @@ SPECTRAL_CMN_OBJS += core/spectral_direct_attach.o \
|
||||
dispatcher/src/wlan_spectral_ucfg_api.o \
|
||||
dispatcher/src/wlan_spectral_tgt_api.o \
|
||||
core/spectral_module.o \
|
||||
$(DEPTH)/cmn_dev/os_if/linux/spectral/src/wlan_cfg80211_spectral.o
|
||||
$(DEPTH)/cmn_dev/os_if/linux/spectral/src/wlan_cfg80211_spectral.o \
|
||||
$(DEPTH)/cmn_dev/os_if/linux/spectral/src/os_if_spectral_netlink.o
|
||||
|
||||
qca_spectral-objs += ${SPECTRAL_CMN_OBJS} \
|
||||
${SPECTRAL_TIF_OBJS} \
|
||||
|
@@ -55,14 +55,18 @@ QDF_PRINT_INFO(QDF_PRINT_IDX_SHARED, QDF_MODULE_ID_SPECTRAL, level, ## args)
|
||||
/**
|
||||
* struct pdev_spectral - Radio specific spectral object
|
||||
* @psptrl_pdev: Back-pointer to struct wlan_objmgr_pdev
|
||||
* @psptrl_nl_sock: Spectral Netlink socket for sending samples to
|
||||
* @spectral_sock: Spectral Netlink socket for sending samples to
|
||||
* applications
|
||||
* @psptrl_target_handle: reference to spectral lmac object
|
||||
* @skb: Socket buffer for sending samples to applications
|
||||
* @spectral_pid : Spectral port ID
|
||||
*/
|
||||
struct pdev_spectral {
|
||||
struct wlan_objmgr_pdev *psptrl_pdev;
|
||||
struct sock *psptrl_nl_sock;
|
||||
struct sock *spectral_sock;
|
||||
void *psptrl_target_handle;
|
||||
struct sk_buff *skb;
|
||||
uint32_t spectral_pid;
|
||||
};
|
||||
|
||||
struct wmi_spectral_cmd_ops;
|
||||
@@ -86,6 +90,8 @@ struct wmi_spectral_cmd_ops;
|
||||
* @sptrlc_get_spectral_capinfo: Get spectral capability info
|
||||
* @sptrlc_get_spectral_diagstats: Get spectral diag status
|
||||
* @sptrlc_register_wmi_spectral_cmd_ops: Register wmi_spectral_cmd operations
|
||||
* @sptrlc_register_netlink_cb: Register Netlink callbacks
|
||||
* @sptrlc_use_nl_bcast: Check whether to use Netlink broadcast/unicast
|
||||
*/
|
||||
struct spectral_context {
|
||||
struct wlan_objmgr_psoc *psoc_obj;
|
||||
@@ -118,6 +124,10 @@ struct spectral_context {
|
||||
void (*sptrlc_register_wmi_spectral_cmd_ops)(
|
||||
struct wlan_objmgr_pdev *pdev,
|
||||
struct wmi_spectral_cmd_ops *cmd_ops);
|
||||
void (*sptrlc_register_netlink_cb)(
|
||||
struct wlan_objmgr_pdev *pdev,
|
||||
struct spectral_nl_cb *nl_cb);
|
||||
bool (*sptrlc_use_nl_bcast)(struct wlan_objmgr_pdev *pdev);
|
||||
};
|
||||
|
||||
#endif /* _SPECTRAL_DEFS_I_H_ */
|
||||
|
@@ -42,4 +42,6 @@ spectral_ctx_init_da(struct spectral_context *sc)
|
||||
sc->sptrlc_get_spectral_diagstats = tgt_get_spectral_diagstats;
|
||||
sc->sptrlc_register_wmi_spectral_cmd_ops =
|
||||
tgt_register_wmi_spectral_cmd_ops;
|
||||
sc->sptrlc_register_netlink_cb = tgt_spectral_register_nl_cb;
|
||||
sc->sptrlc_use_nl_bcast = tgt_spectral_use_nl_bcast;
|
||||
}
|
||||
|
@@ -43,4 +43,6 @@ spectral_ctx_init_ol(struct spectral_context *sc)
|
||||
sc->sptrlc_get_spectral_diagstats = tgt_get_spectral_diagstats;
|
||||
sc->sptrlc_register_wmi_spectral_cmd_ops =
|
||||
tgt_register_wmi_spectral_cmd_ops;
|
||||
sc->sptrlc_register_netlink_cb = tgt_spectral_register_nl_cb;
|
||||
sc->sptrlc_use_nl_bcast = tgt_spectral_use_nl_bcast;
|
||||
}
|
||||
|
@@ -502,6 +502,22 @@ struct spectral_samp_msg {
|
||||
struct spectral_samp_data samp_data;
|
||||
} __ATTRIB_PACKED;
|
||||
|
||||
/* Forward declarations */
|
||||
struct wlan_objmgr_pdev;
|
||||
|
||||
/**
|
||||
* struct spectral_nl_cb - Spectral Netlink callbacks
|
||||
* @get_nbuff: Get the socket buffer to send the data to the application
|
||||
* @send_nl_bcast: Send data to the application using netlink broadcast
|
||||
* @send_nl_unicast: Send data to the application using netlink unicast
|
||||
* @destroy_netlink: De-initialize Netlink data structures
|
||||
*/
|
||||
struct spectral_nl_cb {
|
||||
void *(*get_nbuff)(struct wlan_objmgr_pdev *pdev);
|
||||
int (*send_nl_bcast)(struct wlan_objmgr_pdev *pdev);
|
||||
int (*send_nl_unicast)(struct wlan_objmgr_pdev *pdev);
|
||||
int (*destroy_netlink)(struct wlan_objmgr_pdev *pdev);
|
||||
};
|
||||
#ifdef WIN32
|
||||
#pragma pack(pop, spectral)
|
||||
#endif
|
||||
|
@@ -24,19 +24,6 @@
|
||||
#include <qdf_types.h>
|
||||
#include "../../core/spectral_cmn_api_i.h"
|
||||
|
||||
/**
|
||||
* tgt_send_phydata() - Send Spectral PHY data
|
||||
* @pdev: Pointer to pdev
|
||||
* @sock: Netlink socket to use
|
||||
* @nbuf: Network buffer containing PHY data to send
|
||||
*
|
||||
* Send spectral PHY data over netlink
|
||||
*
|
||||
* Return: 0 on success, negative value on failure
|
||||
*/
|
||||
int tgt_send_phydata(struct wlan_objmgr_pdev *pdev,
|
||||
struct sock *sock, qdf_nbuf_t nbuf);
|
||||
|
||||
/**
|
||||
* tgt_get_target_handle() - Get target_if handle
|
||||
* @pdev: Pointer to pdev
|
||||
@@ -62,12 +49,9 @@ void *tgt_get_target_handle(struct wlan_objmgr_pdev *pdev);
|
||||
*
|
||||
* Return: 0 success else failure
|
||||
*/
|
||||
int
|
||||
tgt_spectral_control(
|
||||
struct wlan_objmgr_pdev *pdev,
|
||||
u_int id,
|
||||
void *indata,
|
||||
u_int32_t insize, void *outdata, u_int32_t *outsize);
|
||||
int tgt_spectral_control(struct wlan_objmgr_pdev *pdev,
|
||||
u_int id, void *indata, u_int32_t insize,
|
||||
void *outdata, u_int32_t *outsize);
|
||||
|
||||
/**
|
||||
* tgt_pdev_spectral_init() - implementation for spectral init
|
||||
@@ -76,8 +60,7 @@ tgt_spectral_control(
|
||||
* Return: On success, pointer to Spectral target_if internal private data, on
|
||||
* failure, NULL
|
||||
*/
|
||||
void *
|
||||
tgt_pdev_spectral_init(struct wlan_objmgr_pdev *pdev);
|
||||
void *tgt_pdev_spectral_init(struct wlan_objmgr_pdev *pdev);
|
||||
|
||||
/**
|
||||
* tgt_pdev_spectral_deinit() - implementation for spectral de-init
|
||||
@@ -85,8 +68,7 @@ tgt_pdev_spectral_init(struct wlan_objmgr_pdev *pdev);
|
||||
*
|
||||
* Return: None
|
||||
*/
|
||||
void
|
||||
tgt_pdev_spectral_deinit(struct wlan_objmgr_pdev *pdev);
|
||||
void tgt_pdev_spectral_deinit(struct wlan_objmgr_pdev *pdev);
|
||||
|
||||
/**
|
||||
* tgt_set_spectral_config() - Set spectral config
|
||||
@@ -98,10 +80,9 @@ tgt_pdev_spectral_deinit(struct wlan_objmgr_pdev *pdev);
|
||||
*
|
||||
* Return: 0 on success else failure
|
||||
*/
|
||||
int
|
||||
tgt_set_spectral_config(
|
||||
struct wlan_objmgr_pdev *pdev,
|
||||
const u_int32_t threshtype, const u_int32_t value);
|
||||
int tgt_set_spectral_config(struct wlan_objmgr_pdev *pdev,
|
||||
const u_int32_t threshtype,
|
||||
const u_int32_t value);
|
||||
|
||||
/**
|
||||
* tgt_get_spectral_config() - Get spectral configuration
|
||||
@@ -113,10 +94,8 @@ tgt_set_spectral_config(
|
||||
*
|
||||
* Return: None
|
||||
*/
|
||||
void
|
||||
tgt_get_spectral_config(
|
||||
struct wlan_objmgr_pdev *pdev,
|
||||
struct spectral_config *sptrl_config);
|
||||
void tgt_get_spectral_config(struct wlan_objmgr_pdev *pdev,
|
||||
struct spectral_config *sptrl_config);
|
||||
|
||||
/**
|
||||
* tgt_start_spectral_scan() - Start spectral scan
|
||||
@@ -126,8 +105,7 @@ tgt_get_spectral_config(
|
||||
*
|
||||
* Return: 0 in case of success, -1 on failure
|
||||
*/
|
||||
int
|
||||
tgt_start_spectral_scan(struct wlan_objmgr_pdev *pdev);
|
||||
int tgt_start_spectral_scan(struct wlan_objmgr_pdev *pdev);
|
||||
|
||||
/**
|
||||
* tgt_stop_spectral_scan() - Stop spectral scan
|
||||
@@ -137,8 +115,7 @@ tgt_start_spectral_scan(struct wlan_objmgr_pdev *pdev);
|
||||
*
|
||||
* Return: None
|
||||
*/
|
||||
void
|
||||
tgt_stop_spectral_scan(struct wlan_objmgr_pdev *pdev);
|
||||
void tgt_stop_spectral_scan(struct wlan_objmgr_pdev *pdev);
|
||||
|
||||
/**
|
||||
* tgt_is_spectral_active() - Get whether Spectral is active
|
||||
@@ -148,8 +125,7 @@ tgt_stop_spectral_scan(struct wlan_objmgr_pdev *pdev);
|
||||
*
|
||||
* Return: True if Spectral is active, false if Spectral is not active
|
||||
*/
|
||||
bool
|
||||
tgt_is_spectral_active(struct wlan_objmgr_pdev *pdev);
|
||||
bool tgt_is_spectral_active(struct wlan_objmgr_pdev *pdev);
|
||||
|
||||
/**
|
||||
* tgt_is_spectral_enabled() - Get whether Spectral is active
|
||||
@@ -159,8 +135,7 @@ tgt_is_spectral_active(struct wlan_objmgr_pdev *pdev);
|
||||
*
|
||||
* Return: True if Spectral is active, false if Spectral is not active
|
||||
*/
|
||||
bool
|
||||
tgt_is_spectral_enabled(struct wlan_objmgr_pdev *pdev);
|
||||
bool tgt_is_spectral_enabled(struct wlan_objmgr_pdev *pdev);
|
||||
|
||||
/**
|
||||
* tgt_set_debug_level() - Set debug level for Spectral
|
||||
@@ -171,8 +146,7 @@ tgt_is_spectral_enabled(struct wlan_objmgr_pdev *pdev);
|
||||
*
|
||||
* Return: 0 in case of success
|
||||
*/
|
||||
int
|
||||
tgt_set_debug_level(struct wlan_objmgr_pdev *pdev, u_int32_t debug_level);
|
||||
int tgt_set_debug_level(struct wlan_objmgr_pdev *pdev, u_int32_t debug_level);
|
||||
|
||||
/**
|
||||
* tgt_get_debug_level() - Get debug level for Spectral
|
||||
@@ -182,8 +156,7 @@ tgt_set_debug_level(struct wlan_objmgr_pdev *pdev, u_int32_t debug_level);
|
||||
*
|
||||
* Return: Current debug level
|
||||
*/
|
||||
u_int32_t
|
||||
tgt_get_debug_level(struct wlan_objmgr_pdev *pdev);
|
||||
uint32_t tgt_get_debug_level(struct wlan_objmgr_pdev *pdev);
|
||||
|
||||
/**
|
||||
* tgt_get_spectral_capinfo() - Get Spectral capability information
|
||||
@@ -194,8 +167,7 @@ tgt_get_debug_level(struct wlan_objmgr_pdev *pdev);
|
||||
*
|
||||
* Return: void
|
||||
*/
|
||||
void
|
||||
tgt_get_spectral_capinfo(struct wlan_objmgr_pdev *pdev, void *outdata);
|
||||
void tgt_get_spectral_capinfo(struct wlan_objmgr_pdev *pdev, void *outdata);
|
||||
|
||||
/**
|
||||
* tgt_get_spectral_diagstats() - Get Spectral diagnostic statistics
|
||||
@@ -206,8 +178,7 @@ tgt_get_spectral_capinfo(struct wlan_objmgr_pdev *pdev, void *outdata);
|
||||
*
|
||||
* Return: void
|
||||
*/
|
||||
void
|
||||
tgt_get_spectral_diagstats(struct wlan_objmgr_pdev *pdev, void *outdata);
|
||||
void tgt_get_spectral_diagstats(struct wlan_objmgr_pdev *pdev, void *outdata);
|
||||
|
||||
/**
|
||||
* tgt_register_wmi_spectral_cmd_ops() - Register wmi_spectral_cmd_ops
|
||||
@@ -219,8 +190,25 @@ tgt_get_spectral_diagstats(struct wlan_objmgr_pdev *pdev, void *outdata);
|
||||
*
|
||||
* Return: void
|
||||
*/
|
||||
void
|
||||
tgt_register_wmi_spectral_cmd_ops(
|
||||
struct wlan_objmgr_pdev *pdev,
|
||||
struct wmi_spectral_cmd_ops *cmd_ops);
|
||||
void tgt_register_wmi_spectral_cmd_ops(struct wlan_objmgr_pdev *pdev,
|
||||
struct wmi_spectral_cmd_ops *cmd_ops);
|
||||
|
||||
/**
|
||||
* tgt_spectral_register_nl_cb() - Register Netlink callbacks
|
||||
* @pdev: Pointer to pdev object
|
||||
* @nl_cb: Netlink callbacks to register
|
||||
*
|
||||
* Return: void
|
||||
*/
|
||||
void tgt_spectral_register_nl_cb(struct wlan_objmgr_pdev *pdev,
|
||||
struct spectral_nl_cb *nl_cb);
|
||||
|
||||
/**
|
||||
* tgt_spectral_use_nl_bcast() - Get whether to use broadcast/unicast while
|
||||
* sending Netlink messages to the application layer
|
||||
* @pdev: Pointer to pdev object
|
||||
*
|
||||
* Return: true for broadcast, false for unicast
|
||||
*/
|
||||
bool tgt_spectral_use_nl_bcast(struct wlan_objmgr_pdev *pdev);
|
||||
#endif /* _WLAN_SPECTRAL_TGT_API_H_ */
|
||||
|
@@ -19,13 +19,6 @@
|
||||
|
||||
#include <wlan_spectral_tgt_api.h>
|
||||
|
||||
int
|
||||
tgt_send_phydata(struct wlan_objmgr_pdev *pdev,
|
||||
struct sock *sock, qdf_nbuf_t nbuf)
|
||||
{
|
||||
return netlink_broadcast(sock, nbuf, 0, 1, GFP_ATOMIC);
|
||||
}
|
||||
|
||||
void *
|
||||
tgt_get_target_handle(struct wlan_objmgr_pdev *pdev)
|
||||
{
|
||||
@@ -203,3 +196,32 @@ tgt_register_wmi_spectral_cmd_ops(
|
||||
return psptrl_tx_ops->sptrlto_register_wmi_spectral_cmd_ops(pdev,
|
||||
cmd_ops);
|
||||
}
|
||||
|
||||
void
|
||||
tgt_spectral_register_nl_cb(
|
||||
struct wlan_objmgr_pdev *pdev,
|
||||
struct spectral_nl_cb *nl_cb)
|
||||
{
|
||||
struct wlan_objmgr_psoc *psoc = NULL;
|
||||
struct wlan_lmac_if_sptrl_tx_ops *psptrl_tx_ops = NULL;
|
||||
|
||||
psoc = wlan_pdev_get_psoc(pdev);
|
||||
|
||||
psptrl_tx_ops = &psoc->soc_cb.tx_ops.sptrl_tx_ops;
|
||||
|
||||
return psptrl_tx_ops->sptrlto_register_netlink_cb(pdev,
|
||||
nl_cb);
|
||||
}
|
||||
|
||||
bool
|
||||
tgt_spectral_use_nl_bcast(struct wlan_objmgr_pdev *pdev)
|
||||
{
|
||||
struct wlan_objmgr_psoc *psoc = NULL;
|
||||
struct wlan_lmac_if_sptrl_tx_ops *psptrl_tx_ops = NULL;
|
||||
|
||||
psoc = wlan_pdev_get_psoc(pdev);
|
||||
|
||||
psptrl_tx_ops = &psoc->soc_cb.tx_ops.sptrl_tx_ops;
|
||||
|
||||
return psptrl_tx_ops->sptrlto_use_nl_bcast(pdev);
|
||||
}
|
||||
|
@@ -149,7 +149,6 @@ wlan_lmac_if_sptrl_register_rx_ops(struct wlan_lmac_if_rx_ops *rx_ops)
|
||||
struct wlan_lmac_if_sptrl_rx_ops *sptrl_rx_ops = &rx_ops->sptrl_rx_ops;
|
||||
|
||||
/* Spectral rx ops */
|
||||
sptrl_rx_ops->sptrlro_send_phydata = tgt_send_phydata;
|
||||
sptrl_rx_ops->sptrlro_get_target_handle = tgt_get_target_handle;
|
||||
sptrl_rx_ops->sptrlro_vdev_get_chan_freq = spectral_vdev_get_chan_freq;
|
||||
sptrl_rx_ops->sptrlro_vdev_get_ch_width = spectral_vdev_get_ch_width;
|
||||
|
Viittaa uudesa ongelmassa
Block a user