qcacmn: Add a configure interface to get max_peers from OL_IF to DP
Currently max_peer value is hardcoded with DP wlan_cfg. This change adds a generic interface to obtain a configuration parameter from OL_IF and store in DP Change-Id: Id437ab3bcd02fb1cbcbe8b56d55d19780af87066 CRs-Fixed: 2004658
This commit is contained in:

committed by
snandini

parent
5379474f69
commit
6b0d2a800c
@@ -254,4 +254,9 @@ static inline void cdp_cfg_set_flow_steering(ol_txrx_soc_handle soc,
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
static inline void cdp_cfg_get_max_peer_id(ol_txrx_soc_handle soc,
|
||||
struct cdp_cfg *cfg_pdev)
|
||||
{
|
||||
}
|
||||
#endif /* _CDP_TXRX_CFG_H_ */
|
||||
|
@@ -89,6 +89,15 @@
|
||||
WME_AC_VO)
|
||||
|
||||
#define CDP_MAX_RX_RINGS 4
|
||||
|
||||
/*
|
||||
* DP configuration parameters
|
||||
*/
|
||||
enum cdp_cfg_param_type {
|
||||
CDP_CFG_MAX_PEER_ID,
|
||||
CDP_CFG_NUM_PARAMS
|
||||
};
|
||||
|
||||
/*
|
||||
* htt_dbg_stats_type -
|
||||
* bit positions for each stats type within a stats type bitmask
|
||||
|
@@ -615,6 +615,7 @@ struct ol_if_ops {
|
||||
uint8_t vdev_id, uint8_t *peer_mac_addr);
|
||||
int (*peer_unmap_event)(void *ol_soc_handle, uint16_t peer_id);
|
||||
|
||||
int (*get_dp_cfg_param)(void *ol_soc_handle, enum cdp_cfg_param_type param_num);
|
||||
|
||||
/* TODO: Add any other control path calls required to OL_IF/WMA layer */
|
||||
};
|
||||
|
@@ -4037,6 +4037,16 @@ void *dp_soc_attach_wifi3(void *osif_soc, void *hif_handle,
|
||||
FL("wlan_cfg_soc_attach failed"));
|
||||
goto fail2;
|
||||
}
|
||||
|
||||
if (soc->cdp_soc.ol_ops->get_dp_cfg_param) {
|
||||
int ret = soc->cdp_soc.ol_ops->get_dp_cfg_param(soc,
|
||||
CDP_CFG_MAX_PEER_ID);
|
||||
|
||||
if (ret != -EINVAL) {
|
||||
wlan_cfg_set_max_peer_id(soc->wlan_cfg_ctx, ret);
|
||||
}
|
||||
}
|
||||
|
||||
qdf_spinlock_create(&soc->peer_ref_mutex);
|
||||
|
||||
qdf_spinlock_create(&soc->reo_desc_freelist_lock);
|
||||
|
@@ -182,9 +182,10 @@ struct wlan_cfg_dp_pdev_ctxt {
|
||||
*
|
||||
* Return: wlan_cfg_ctx - Handle to Configuration context
|
||||
*/
|
||||
struct wlan_cfg_dp_soc_ctxt *wlan_cfg_soc_attach(void)
|
||||
struct wlan_cfg_dp_soc_ctxt *wlan_cfg_soc_attach()
|
||||
{
|
||||
int i = 0;
|
||||
|
||||
struct wlan_cfg_dp_soc_ctxt *wlan_cfg_ctx =
|
||||
qdf_mem_malloc(sizeof(struct wlan_cfg_dp_soc_ctxt));
|
||||
|
||||
@@ -202,8 +203,8 @@ struct wlan_cfg_dp_soc_ctxt *wlan_cfg_soc_attach(void)
|
||||
wlan_cfg_ctx->num_tx_ext_desc_pool = WLAN_CFG_NUM_TXEXT_DESC_POOL;
|
||||
wlan_cfg_ctx->num_tx_desc = WLAN_CFG_NUM_TX_DESC;
|
||||
wlan_cfg_ctx->num_tx_ext_desc = WLAN_CFG_NUM_TX_EXT_DESC;
|
||||
wlan_cfg_ctx->max_peer_id = WLAN_CFG_MAX_PEER_ID;
|
||||
wlan_cfg_ctx->htt_packet_type = WLAN_CFG_HTT_PKT_TYPE;
|
||||
wlan_cfg_ctx->max_peer_id = WLAN_CFG_MAX_PEER_ID;
|
||||
|
||||
for (i = 0; i < WLAN_CFG_INT_NUM_CONTEXTS; i++) {
|
||||
wlan_cfg_ctx->int_tx_ring_mask[i] = tx_ring_mask[i];
|
||||
@@ -249,6 +250,11 @@ void wlan_cfg_set_num_contexts(struct wlan_cfg_dp_soc_ctxt *cfg, int num)
|
||||
cfg->num_int_ctxts = num;
|
||||
}
|
||||
|
||||
void wlan_cfg_set_max_peer_id(struct wlan_cfg_dp_soc_ctxt *cfg, uint32_t val)
|
||||
{
|
||||
cfg->max_peer_id = val;;
|
||||
}
|
||||
|
||||
void wlan_cfg_set_tx_ring_mask(struct wlan_cfg_dp_soc_ctxt *cfg,
|
||||
int context, int mask)
|
||||
{
|
||||
|
@@ -106,6 +106,9 @@ void wlan_cfg_set_ce_ring_mask(struct wlan_cfg_dp_soc_ctxt *cfg,
|
||||
int context, int mask);
|
||||
void wlan_cfg_set_rxbuf_ring_mask(struct wlan_cfg_dp_soc_ctxt *cfg, int context,
|
||||
int mask);
|
||||
|
||||
void wlan_cfg_set_max_peer_id(struct wlan_cfg_dp_soc_ctxt *cfg, uint32_t val);
|
||||
|
||||
/**
|
||||
* wlan_cfg_get_num_contexts() - Number of interrupt contexts to be registered
|
||||
* @wlan_cfg_ctx - Configuration Handle
|
||||
|
Reference in New Issue
Block a user