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:
Shiva Krishna Pittala
2017-12-29 20:17:39 +05:30
committed by snandini
vanhempi 82032dd2a4
commit 101778698b
15 muutettua tiedostoa jossa 696 lisäystä ja 643 poistoa

Näytä tiedosto

@@ -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} \

Näytä tiedosto

@@ -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_ */

Näytä tiedosto

@@ -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;
}

Näytä tiedosto

@@ -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;
}

Näytä tiedosto

@@ -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

Näytä tiedosto

@@ -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_ */

Näytä tiedosto

@@ -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);
}

Näytä tiedosto

@@ -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;