qcacmn: Add cdp params to configure soc/pdev cfg items
Add soc/pdev level cdp config params, so that these can be used to get and set config context items. Change-Id: I6cfeafb4333bf2f267121dce37b64f22cb86e98c CRs-Fixed: 3502588
This commit is contained in:

committed by
Rahul Choudhary

parent
94cb877e2a
commit
7990bb266d
@@ -1334,6 +1334,7 @@ enum cdp_peer_param_type {
|
|||||||
* @CDP_CONFIG_ENHANCED_STATS_ENABLE:
|
* @CDP_CONFIG_ENHANCED_STATS_ENABLE:
|
||||||
* @CDP_ISOLATION: set isolation flag
|
* @CDP_ISOLATION: set isolation flag
|
||||||
* @CDP_CONFIG_UNDECODED_METADATA_CAPTURE_ENABLE: Undecoded metadata capture
|
* @CDP_CONFIG_UNDECODED_METADATA_CAPTURE_ENABLE: Undecoded metadata capture
|
||||||
|
* @CDP_CONFIG_RXDMA_BUF_RING_SIZE: RXDMA buffer ring size configure
|
||||||
*/
|
*/
|
||||||
enum cdp_pdev_param_type {
|
enum cdp_pdev_param_type {
|
||||||
CDP_CONFIG_DEBUG_SNIFFER,
|
CDP_CONFIG_DEBUG_SNIFFER,
|
||||||
@@ -1369,6 +1370,7 @@ enum cdp_pdev_param_type {
|
|||||||
CDP_CONFIG_ENHANCED_STATS_ENABLE,
|
CDP_CONFIG_ENHANCED_STATS_ENABLE,
|
||||||
CDP_ISOLATION,
|
CDP_ISOLATION,
|
||||||
CDP_CONFIG_UNDECODED_METADATA_CAPTURE_ENABLE,
|
CDP_CONFIG_UNDECODED_METADATA_CAPTURE_ENABLE,
|
||||||
|
CDP_CONFIG_RXDMA_BUF_RING_SIZE,
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -1449,6 +1451,15 @@ enum cdp_pdev_param_type {
|
|||||||
* @cdp_vdev_tx_to_fw: Set to_fw bit for all tx packets for the vdev
|
* @cdp_vdev_tx_to_fw: Set to_fw bit for all tx packets for the vdev
|
||||||
* @cdp_peer_metadata_ver: DP rx peer metadata version configuration
|
* @cdp_peer_metadata_ver: DP rx peer metadata version configuration
|
||||||
* @hal_soc_hdl: DP HAL soc handle
|
* @hal_soc_hdl: DP HAL soc handle
|
||||||
|
* @cdp_tx_desc_num: DP TX desc number config
|
||||||
|
* @cdp_tx_ext_desc_num: number of TX EXT desc config
|
||||||
|
* @cdp_tx_ring_size: TX ring size config
|
||||||
|
* @cdp_tx_comp_ring_size: TX completion ring size config
|
||||||
|
* @cdp_rx_sw_desc_num: RX SW descriptor number config
|
||||||
|
* @cdp_reo_dst_ring_size: REO destination ring size config
|
||||||
|
* @cdp_rxdma_refill_ring_size: RXDMA refill ring size config
|
||||||
|
* @cdp_rx_refill_buf_pool_size: RX refill ring size config
|
||||||
|
* @cdp_rxdma_buf_ring_size: RXDMA buf ring size config
|
||||||
*/
|
*/
|
||||||
typedef union cdp_config_param_t {
|
typedef union cdp_config_param_t {
|
||||||
/* peer params */
|
/* peer params */
|
||||||
@@ -1541,6 +1552,16 @@ typedef union cdp_config_param_t {
|
|||||||
bool cdp_vdev_tx_to_fw;
|
bool cdp_vdev_tx_to_fw;
|
||||||
uint8_t cdp_peer_metadata_ver;
|
uint8_t cdp_peer_metadata_ver;
|
||||||
void *hal_soc_hdl;
|
void *hal_soc_hdl;
|
||||||
|
|
||||||
|
int cdp_tx_desc_num;
|
||||||
|
int cdp_tx_ext_desc_num;
|
||||||
|
int cdp_tx_ring_size;
|
||||||
|
int cdp_tx_comp_ring_size;
|
||||||
|
int cdp_rx_sw_desc_num;
|
||||||
|
int cdp_reo_dst_ring_size;
|
||||||
|
int cdp_rxdma_refill_ring_size;
|
||||||
|
int cdp_rx_refill_buf_pool_size;
|
||||||
|
int cdp_rxdma_buf_ring_size;
|
||||||
} cdp_config_param_type;
|
} cdp_config_param_type;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -1698,6 +1719,14 @@ enum cdp_vdev_param_type {
|
|||||||
* @CDP_UMAC_RESET_STATS: UMAC reset stats
|
* @CDP_UMAC_RESET_STATS: UMAC reset stats
|
||||||
* @CDP_CFG_RX_PEER_METADATA_VER: RX peer metadata configuration
|
* @CDP_CFG_RX_PEER_METADATA_VER: RX peer metadata configuration
|
||||||
* @CDP_TXRX_HAL_SOC_HDL: HAL soc handle
|
* @CDP_TXRX_HAL_SOC_HDL: HAL soc handle
|
||||||
|
* @CDP_CFG_TX_DESC_NUM: number of TX descriptors config
|
||||||
|
* @CDP_CFG_TX_EXT_DESC_NUM: number of TX EXT descriptors config
|
||||||
|
* @CDP_CFG_TX_RING_SIZE: TX ring size config param
|
||||||
|
* @CDP_CFG_TX_COMPL_RING_SIZE: TX completion ring size param
|
||||||
|
* @CDP_CFG_RX_SW_DESC_NUM: RX SW descriptor number
|
||||||
|
* @CDP_CFG_REO_DST_RING_SIZE: REO destination ring size config
|
||||||
|
* @CDP_CFG_RXDMA_REFILL_RING_SIZE: RXDMA refill ring size config
|
||||||
|
* @CDP_CFG_RX_REFILL_POOL_NUM: RX refill pool size config param
|
||||||
*/
|
*/
|
||||||
enum cdp_psoc_param_type {
|
enum cdp_psoc_param_type {
|
||||||
CDP_ENABLE_RATE_STATS,
|
CDP_ENABLE_RATE_STATS,
|
||||||
@@ -1712,6 +1741,16 @@ enum cdp_psoc_param_type {
|
|||||||
CDP_UMAC_RESET_STATS,
|
CDP_UMAC_RESET_STATS,
|
||||||
CDP_CFG_RX_PEER_METADATA_VER,
|
CDP_CFG_RX_PEER_METADATA_VER,
|
||||||
CDP_TXRX_HAL_SOC_HDL,
|
CDP_TXRX_HAL_SOC_HDL,
|
||||||
|
CDP_CFG_TX_DESC_NUM,
|
||||||
|
CDP_CFG_TX_EXT_DESC_NUM,
|
||||||
|
CDP_CFG_TX_RING_SIZE,
|
||||||
|
CDP_CFG_TX_COMPL_RING_SIZE,
|
||||||
|
CDP_CFG_RX_SW_DESC_NUM,
|
||||||
|
CDP_CFG_REO_DST_RING_SIZE,
|
||||||
|
CDP_CFG_RXDMA_REFILL_RING_SIZE,
|
||||||
|
#ifdef WLAN_FEATURE_RX_PREALLOC_BUFFER_POOL
|
||||||
|
CDP_CFG_RX_REFILL_POOL_NUM,
|
||||||
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
#ifdef CONFIG_AP_PLATFORM
|
#ifdef CONFIG_AP_PLATFORM
|
||||||
|
@@ -7000,6 +7000,10 @@ static QDF_STATUS dp_get_pdev_param(struct cdp_soc_t *cdp_soc, uint8_t pdev_id,
|
|||||||
val->cdp_pdev_param_mon_freq =
|
val->cdp_pdev_param_mon_freq =
|
||||||
dp_monitor_get_chan_freq((struct dp_pdev *)pdev);
|
dp_monitor_get_chan_freq((struct dp_pdev *)pdev);
|
||||||
break;
|
break;
|
||||||
|
case CDP_CONFIG_RXDMA_BUF_RING_SIZE:
|
||||||
|
val->cdp_rxdma_buf_ring_size =
|
||||||
|
wlan_cfg_get_rx_dma_buf_ring_size(((struct dp_pdev *)pdev)->wlan_cfg_ctx);
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
return QDF_STATUS_E_FAILURE;
|
return QDF_STATUS_E_FAILURE;
|
||||||
}
|
}
|
||||||
@@ -7133,6 +7137,10 @@ static QDF_STATUS dp_set_pdev_param(struct cdp_soc_t *cdp_soc, uint8_t pdev_id,
|
|||||||
return dp_monitor_config_undecoded_metadata_capture(pdev,
|
return dp_monitor_config_undecoded_metadata_capture(pdev,
|
||||||
val.cdp_pdev_param_undecoded_metadata_enable);
|
val.cdp_pdev_param_undecoded_metadata_enable);
|
||||||
break;
|
break;
|
||||||
|
case CDP_CONFIG_RXDMA_BUF_RING_SIZE:
|
||||||
|
wlan_cfg_set_rx_dma_buf_ring_size(pdev->wlan_cfg_ctx,
|
||||||
|
val.cdp_rxdma_buf_ring_size);
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
return QDF_STATUS_E_INVAL;
|
return QDF_STATUS_E_INVAL;
|
||||||
}
|
}
|
||||||
@@ -7757,6 +7765,40 @@ dp_set_psoc_param(struct cdp_soc_t *cdp_soc,
|
|||||||
case CDP_TXRX_HAL_SOC_HDL:
|
case CDP_TXRX_HAL_SOC_HDL:
|
||||||
val.hal_soc_hdl = soc->hal_soc;
|
val.hal_soc_hdl = soc->hal_soc;
|
||||||
break;
|
break;
|
||||||
|
case CDP_CFG_TX_DESC_NUM:
|
||||||
|
wlan_cfg_set_num_tx_desc(wlan_cfg_ctx,
|
||||||
|
val.cdp_tx_desc_num);
|
||||||
|
break;
|
||||||
|
case CDP_CFG_TX_EXT_DESC_NUM:
|
||||||
|
wlan_cfg_set_num_tx_ext_desc(wlan_cfg_ctx,
|
||||||
|
val.cdp_tx_ext_desc_num);
|
||||||
|
break;
|
||||||
|
case CDP_CFG_TX_RING_SIZE:
|
||||||
|
wlan_cfg_set_tx_ring_size(wlan_cfg_ctx,
|
||||||
|
val.cdp_tx_ring_size);
|
||||||
|
break;
|
||||||
|
case CDP_CFG_TX_COMPL_RING_SIZE:
|
||||||
|
wlan_cfg_set_tx_comp_ring_size(wlan_cfg_ctx,
|
||||||
|
val.cdp_tx_comp_ring_size);
|
||||||
|
break;
|
||||||
|
case CDP_CFG_RX_SW_DESC_NUM:
|
||||||
|
wlan_cfg_set_dp_soc_rx_sw_desc_num(wlan_cfg_ctx,
|
||||||
|
val.cdp_rx_sw_desc_num);
|
||||||
|
break;
|
||||||
|
case CDP_CFG_REO_DST_RING_SIZE:
|
||||||
|
wlan_cfg_set_reo_dst_ring_size(wlan_cfg_ctx,
|
||||||
|
val.cdp_reo_dst_ring_size);
|
||||||
|
break;
|
||||||
|
case CDP_CFG_RXDMA_REFILL_RING_SIZE:
|
||||||
|
wlan_cfg_set_dp_soc_rxdma_refill_ring_size(wlan_cfg_ctx,
|
||||||
|
val.cdp_rxdma_refill_ring_size);
|
||||||
|
break;
|
||||||
|
#ifdef WLAN_FEATURE_RX_PREALLOC_BUFFER_POOL
|
||||||
|
case CDP_CFG_RX_REFILL_POOL_NUM:
|
||||||
|
wlan_cfg_set_rx_refill_buf_pool_size(wlan_cfg_ctx,
|
||||||
|
val.cdp_rx_refill_buf_pool_size);
|
||||||
|
break;
|
||||||
|
#endif
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -7767,7 +7809,7 @@ dp_set_psoc_param(struct cdp_soc_t *cdp_soc,
|
|||||||
/**
|
/**
|
||||||
* dp_get_psoc_param: function to get parameters in soc
|
* dp_get_psoc_param: function to get parameters in soc
|
||||||
* @cdp_soc: DP soc handle
|
* @cdp_soc: DP soc handle
|
||||||
* @param: parameter type to be set
|
* @param: parameter type to be get
|
||||||
* @val: address of buffer
|
* @val: address of buffer
|
||||||
*
|
*
|
||||||
* Return: status
|
* Return: status
|
||||||
@@ -7777,22 +7819,57 @@ static QDF_STATUS dp_get_psoc_param(struct cdp_soc_t *cdp_soc,
|
|||||||
cdp_config_param_type *val)
|
cdp_config_param_type *val)
|
||||||
{
|
{
|
||||||
struct dp_soc *soc = (struct dp_soc *)cdp_soc;
|
struct dp_soc *soc = (struct dp_soc *)cdp_soc;
|
||||||
|
struct wlan_cfg_dp_soc_ctxt *wlan_cfg_ctx;
|
||||||
|
|
||||||
if (!soc)
|
if (!soc)
|
||||||
return QDF_STATUS_E_FAILURE;
|
return QDF_STATUS_E_FAILURE;
|
||||||
|
|
||||||
|
wlan_cfg_ctx = soc->wlan_cfg_ctx;
|
||||||
|
|
||||||
switch (param) {
|
switch (param) {
|
||||||
case CDP_CFG_PEER_EXT_STATS:
|
case CDP_CFG_PEER_EXT_STATS:
|
||||||
val->cdp_psoc_param_pext_stats =
|
val->cdp_psoc_param_pext_stats =
|
||||||
wlan_cfg_is_peer_ext_stats_enabled(soc->wlan_cfg_ctx);
|
wlan_cfg_is_peer_ext_stats_enabled(wlan_cfg_ctx);
|
||||||
break;
|
break;
|
||||||
case CDP_CFG_VDEV_STATS_HW_OFFLOAD:
|
case CDP_CFG_VDEV_STATS_HW_OFFLOAD:
|
||||||
val->cdp_psoc_param_vdev_stats_hw_offload =
|
val->cdp_psoc_param_vdev_stats_hw_offload =
|
||||||
wlan_cfg_get_vdev_stats_hw_offload_config(soc->wlan_cfg_ctx);
|
wlan_cfg_get_vdev_stats_hw_offload_config(wlan_cfg_ctx);
|
||||||
break;
|
break;
|
||||||
case CDP_UMAC_RST_SKEL_ENABLE:
|
case CDP_UMAC_RST_SKEL_ENABLE:
|
||||||
val->cdp_umac_rst_skel = dp_umac_rst_skel_enable_get(soc);
|
val->cdp_umac_rst_skel = dp_umac_rst_skel_enable_get(soc);
|
||||||
break;
|
break;
|
||||||
|
case CDP_CFG_TX_DESC_NUM:
|
||||||
|
val->cdp_tx_desc_num = wlan_cfg_get_num_tx_desc(wlan_cfg_ctx);
|
||||||
|
break;
|
||||||
|
case CDP_CFG_TX_EXT_DESC_NUM:
|
||||||
|
val->cdp_tx_ext_desc_num =
|
||||||
|
wlan_cfg_get_num_tx_ext_desc(wlan_cfg_ctx);
|
||||||
|
break;
|
||||||
|
case CDP_CFG_TX_RING_SIZE:
|
||||||
|
val->cdp_tx_ring_size = wlan_cfg_tx_ring_size(wlan_cfg_ctx);
|
||||||
|
break;
|
||||||
|
case CDP_CFG_TX_COMPL_RING_SIZE:
|
||||||
|
val->cdp_tx_comp_ring_size =
|
||||||
|
wlan_cfg_tx_comp_ring_size(wlan_cfg_ctx);
|
||||||
|
break;
|
||||||
|
case CDP_CFG_RX_SW_DESC_NUM:
|
||||||
|
val->cdp_rx_sw_desc_num =
|
||||||
|
wlan_cfg_get_dp_soc_rx_sw_desc_num(wlan_cfg_ctx);
|
||||||
|
break;
|
||||||
|
case CDP_CFG_REO_DST_RING_SIZE:
|
||||||
|
val->cdp_reo_dst_ring_size =
|
||||||
|
wlan_cfg_get_reo_dst_ring_size(wlan_cfg_ctx);
|
||||||
|
break;
|
||||||
|
case CDP_CFG_RXDMA_REFILL_RING_SIZE:
|
||||||
|
val->cdp_rxdma_refill_ring_size =
|
||||||
|
wlan_cfg_get_dp_soc_rxdma_refill_ring_size(wlan_cfg_ctx);
|
||||||
|
break;
|
||||||
|
#ifdef WLAN_FEATURE_RX_PREALLOC_BUFFER_POOL
|
||||||
|
case CDP_CFG_RX_REFILL_POOL_NUM:
|
||||||
|
val->cdp_rx_refill_buf_pool_size =
|
||||||
|
wlan_cfg_get_rx_refill_buf_pool_size(wlan_cfg_ctx);
|
||||||
|
#endif
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
dp_warn("Invalid param: %u", param);
|
dp_warn("Invalid param: %u", param);
|
||||||
break;
|
break;
|
||||||
|
Reference in New Issue
Block a user