qcacmn: Modify set 2 of ctrl_ops in dp to for umac-dp decoupling

Change set 2 of ctrl_ops APIs to replace pdev, vdev and peer
dp handles with pdev_id, vdev_id and peer mac address
along with dp soc handle

Change-Id: I3f180c9c360d564f0b229b447074ad23b7c0a737
此提交包含在:
Pavankumar Nandeshwar
2019-09-30 18:43:03 +05:30
提交者 nshrivas
父節點 e6f443f27a
當前提交 0ce3870654
共有 18 個檔案被更改,包括 759 行新增1564 行删除

查看文件

@@ -127,40 +127,6 @@ cdp_soc_attach_target(ol_txrx_soc_handle soc)
}
static inline int
cdp_soc_get_nss_cfg(ol_txrx_soc_handle soc)
{
if (!soc || !soc->ops) {
QDF_TRACE(QDF_MODULE_ID_CDP, QDF_TRACE_LEVEL_DEBUG,
"%s: Invalid Instance:", __func__);
QDF_BUG(0);
return 0;
}
if (!soc->ops->cmn_drv_ops ||
!soc->ops->cmn_drv_ops->txrx_soc_get_nss_cfg)
return 0;
return soc->ops->cmn_drv_ops->txrx_soc_get_nss_cfg(soc);
}
static inline void
cdp_soc_set_nss_cfg(ol_txrx_soc_handle soc, uint32_t config)
{
if (!soc || !soc->ops) {
QDF_TRACE(QDF_MODULE_ID_CDP, QDF_TRACE_LEVEL_DEBUG,
"%s: Invalid Instance:", __func__);
QDF_BUG(0);
return;
}
if (!soc->ops->cmn_drv_ops ||
!soc->ops->cmn_drv_ops->txrx_soc_set_nss_cfg)
return;
soc->ops->cmn_drv_ops->txrx_soc_set_nss_cfg(soc, config);
}
static inline struct cdp_vdev *
cdp_vdev_attach(ol_txrx_soc_handle soc, uint8_t pdev_id,
uint8_t *vdev_mac_addr, uint8_t vdev_id,
@@ -820,12 +786,13 @@ cdp_set_privacy_filters(ol_txrx_soc_handle soc, uint8_t vdev_id,
}
static inline int
cdp_set_monitor_filter(ol_txrx_soc_handle soc, struct cdp_pdev *pdev,
struct cdp_monitor_filter *filter_val)
cdp_set_monitor_filter(ol_txrx_soc_handle soc, uint8_t pdev_id,
struct cdp_monitor_filter *filter_val)
{
if (soc->ops->mon_ops->txrx_set_advance_monitor_filter)
return soc->ops->mon_ops->txrx_set_advance_monitor_filter(pdev,
filter_val);
return soc->ops->mon_ops->txrx_set_advance_monitor_filter(soc,
pdev_id,
filter_val);
return 0;
}
@@ -944,24 +911,6 @@ cdp_peer_unmap_sync_cb_set(ol_txrx_soc_handle soc,
unmap_resp_cb);
}
static inline int cdp_get_tx_pending(ol_txrx_soc_handle soc,
struct cdp_pdev *pdev)
{
if (!soc || !soc->ops) {
QDF_TRACE(QDF_MODULE_ID_CDP, QDF_TRACE_LEVEL_DEBUG,
"%s: Invalid Instance:", __func__);
QDF_BUG(0);
return 0;
}
if (!soc->ops->cmn_drv_ops ||
!soc->ops->cmn_drv_ops->txrx_get_tx_pending)
return 0;
return soc->ops->cmn_drv_ops->txrx_get_tx_pending(pdev);
}
/*
* cdp_data_tx_cb_set(): set the callback for non standard tx
* @soc - datapath soc handle
@@ -1590,56 +1539,6 @@ static inline void cdp_set_pdev_dscp_tid_map(ol_txrx_soc_handle soc,
map_id, tos, tid);
}
/**
* cdp_hmmc_tid_override_en(): Function to enable hmmc tid override.
* @soc : soc handle
* @pdev: pdev handle
* @val: hmmc-dscp flag value
*
* Return: void
*/
static inline void cdp_hmmc_tid_override_en(ol_txrx_soc_handle soc,
struct cdp_pdev *pdev, bool val)
{
if (!soc || !soc->ops) {
QDF_TRACE(QDF_MODULE_ID_CDP, QDF_TRACE_LEVEL_DEBUG,
"%s: Invalid Instance:", __func__);
QDF_BUG(0);
return;
}
if (!soc->ops->cmn_drv_ops ||
!soc->ops->cmn_drv_ops->hmmc_tid_override_en)
return;
soc->ops->cmn_drv_ops->hmmc_tid_override_en(pdev, val);
}
/**
* cdp_set_hmmc_tid_val(): Function to set hmmc tid value.
* @soc : soc handle
* @pdev: pdev handle
* @tid: tid value
*
* Return: void
*/
static inline void cdp_set_hmmc_tid_val(ol_txrx_soc_handle soc,
struct cdp_pdev *pdev, uint8_t tid)
{
if (!soc || !soc->ops) {
QDF_TRACE(QDF_MODULE_ID_CDP, QDF_TRACE_LEVEL_DEBUG,
"%s: Invalid Instance:", __func__);
QDF_BUG(0);
return;
}
if (!soc->ops->cmn_drv_ops ||
!soc->ops->cmn_drv_ops->set_hmmc_tid_val)
return;
soc->ops->cmn_drv_ops->set_hmmc_tid_val(pdev, tid);
}
/**
* cdp_flush_cache_rx_queue() - flush cache rx queue frame
*
@@ -2060,89 +1959,6 @@ cdp_tx_send(ol_txrx_soc_handle soc, uint8_t vdev_id, qdf_nbuf_t nbuf)
soc->ops->cmn_drv_ops->tx_send(soc, vdev_id, nbuf);
}
/*
* cdp_get_pdev_id_frm_pdev() - return pdev_id from pdev
* @soc: opaque soc handle
* @pdev: data path pdev handle
*
* Return: pdev_id
*/
static inline
uint8_t cdp_get_pdev_id_frm_pdev(ol_txrx_soc_handle soc,
struct cdp_pdev *pdev)
{
if (soc->ops->cmn_drv_ops->txrx_get_pdev_id_frm_pdev)
return soc->ops->cmn_drv_ops->txrx_get_pdev_id_frm_pdev(pdev);
return 0;
}
/*
* cdp_get_vow_config_frm_pdev() - return carrier_vow_config from pdev
* @soc: opaque soc handle
* @pdev: data path pdev handle
*
* Return: carrier_vow_config
*/
static inline
bool cdp_get_vow_config_frm_pdev(ol_txrx_soc_handle soc,
struct cdp_pdev *pdev)
{
if (soc->ops->cmn_drv_ops->txrx_get_vow_config_frm_pdev)
return soc->ops->cmn_drv_ops->txrx_get_vow_config_frm_pdev(
pdev);
return 0;
}
/**
* cdp_pdev_set_chan_noise_floor() - Set channel noise floor to DP layer
* @soc: opaque soc handle
* @pdev: data path pdev handle
* @chan_noise_floor: Channel Noise Floor (in dbM) obtained from control path
*
* Return: None
*/
static inline
void cdp_pdev_set_chan_noise_floor(ol_txrx_soc_handle soc,
struct cdp_pdev *pdev,
int16_t chan_noise_floor)
{
if (soc->ops->cmn_drv_ops->txrx_pdev_set_chan_noise_floor)
return soc->ops->cmn_drv_ops->txrx_pdev_set_chan_noise_floor(
pdev, chan_noise_floor);
}
/**
* cdp_set_nac() - set nac
* @soc: opaque soc handle
* @vdev_id: id of vdev handle
* @peer_mac: mac of data path peer handle
*
*/
static inline
void cdp_set_nac(ol_txrx_soc_handle soc, uint8_t vdev_id, uint8_t *peer_mac)
{
if (soc->ops->cmn_drv_ops->txrx_set_nac)
soc->ops->cmn_drv_ops->txrx_set_nac(soc, vdev_id, peer_mac);
}
/**
* cdp_set_pdev_tx_capture() - set pdev tx_capture
* @soc: opaque soc handle
* @pdev: data path pdev handle
* @val: value of pdev_tx_capture
*
* Return: status: 0 - Success, non-zero: Failure
*/
static inline
QDF_STATUS cdp_set_pdev_tx_capture(ol_txrx_soc_handle soc,
struct cdp_pdev *pdev, int val)
{
if (soc->ops->cmn_drv_ops->txrx_set_pdev_tx_capture)
return soc->ops->cmn_drv_ops->txrx_set_pdev_tx_capture(pdev,
val);
return QDF_STATUS_SUCCESS;
}
/**
* cdp_set_pdev_pcp_tid_map() - set pdev pcp-tid-map
* @soc: opaque soc handle
@@ -2174,37 +1990,6 @@ QDF_STATUS cdp_set_pdev_pcp_tid_map(ol_txrx_soc_handle soc,
pcp, tid);
}
/**
* cdp_set_pdev_pcp_tidmap_prty() - set pdev tidmap priority
* @soc: opaque soc handle
* @pdev: data path pdev handle
* @val: priority value
*
* This API is used to configure the tidmap priority for a pdev.
* The tidmap priority decides which mapping, namely DSCP-TID, SVLAN_PCP-TID,
* CVLAN_PCP-TID will be used.
*
* Return: QDF_STATUS_SUCCESS if value set successfully
* QDF_STATUS_E_INVAL false if error
*/
static inline
QDF_STATUS cdp_set_pdev_tidmap_prty(ol_txrx_soc_handle soc,
struct cdp_pdev *pdev_handle,
uint32_t val)
{
if (!soc || !soc->ops) {
QDF_TRACE(QDF_MODULE_ID_CDP, QDF_TRACE_LEVEL_DEBUG,
"%s: Invalid Instance", __func__);
return QDF_STATUS_E_INVAL;
}
if (!soc->ops->cmn_drv_ops ||
!soc->ops->cmn_drv_ops->set_pdev_tidmap_prty)
return QDF_STATUS_E_INVAL;
return soc->ops->cmn_drv_ops->set_pdev_tidmap_prty(pdev_handle, val);
}
/**
* cdp_get_peer_mac_from_peer_id() - get peer mac addr from peer id
* @soc: opaque soc handle
@@ -2643,70 +2428,6 @@ QDF_STATUS cdp_set_vdev_pcp_tid_map(ol_txrx_soc_handle soc,
pcp, tid);
}
/**
* cdp_set_vdev_tidmap_tbl_id() - set vdev tidmap table id
*
* @soc: opaque soc handle
* @vdev: data path vdev handle
* @mapid: value of mapid
*
* This API is used to configure the table-id of the tid-mapping for a vdev.
* Table '0' is for using the pdev's pcp-tid mapping and '1' is for using
* the vdev's pcp-tid mapping.
*
* Return: QDF_STATUS_SUCCESS if value set successfully
* QDF_STATUS_E_INVAL false if error
*/
static inline
QDF_STATUS cdp_set_vdev_tidmap_tbl_id(ol_txrx_soc_handle soc,
struct cdp_vdev *vdev_handle,
uint8_t mapid)
{
if (!soc || !soc->ops) {
QDF_TRACE(QDF_MODULE_ID_CDP, QDF_TRACE_LEVEL_DEBUG,
"%s: Invalid Instance", __func__);
return QDF_STATUS_E_INVAL;
}
if (!soc->ops->cmn_drv_ops ||
!soc->ops->cmn_drv_ops->set_vdev_tidmap_tbl_id)
return QDF_STATUS_E_INVAL;
return soc->ops->cmn_drv_ops->set_vdev_tidmap_tbl_id(vdev_handle,
mapid);
}
/**
* cdp_set_vdev_tidmap_prty() - set vdev tidmap priority
* @soc: opaque soc handle
* @vdev: data path vdev handle
* @prio: tidmap priority value
*
* This API is used to configure the tidmap priority for a vdev.
* The tidmap priority decides which mapping, namely DSCP-TID, SVLAN_PCP-TID,
* CVLAN_PCP-TID will be used.
* The vdev tidmap priority will be used only when the tidmap_tbl_id is '1'.
*
* Return: QDF_STATUS_SUCCESS if value set successfully
* QDF_STATUS_E_INVAL false if error
*/
static inline
QDF_STATUS cdp_set_vdev_tidmap_prty(ol_txrx_soc_handle soc,
struct cdp_vdev *vdev_handle, uint8_t prio)
{
if (!soc || !soc->ops) {
QDF_TRACE(QDF_MODULE_ID_CDP, QDF_TRACE_LEVEL_DEBUG,
"%s: Invalid Instance", __func__);
return QDF_STATUS_E_INVAL;
}
if (!soc->ops->cmn_drv_ops ||
!soc->ops->cmn_drv_ops->set_vdev_tidmap_prty)
return QDF_STATUS_E_INVAL;
return soc->ops->cmn_drv_ops->set_vdev_tidmap_prty(vdev_handle, prio);
}
/**
* cdp_tx_send_exc() - Transmit a frame on a given vdev in exception path
*