qcacmn: Set default REO of radio through ini
Set default REO of radio through ini parameter Change-Id: I576f3ddffe4d18b955099e0b75ecb297228475da
This commit is contained in:

committed by
snandini

parent
7d55cb743a
commit
3048f53867
@@ -13400,6 +13400,33 @@ static void dp_soc_cfg_attach(struct dp_soc *soc)
|
||||
}
|
||||
}
|
||||
|
||||
static inline void dp_pdev_set_default_reo(struct dp_pdev *pdev)
|
||||
{
|
||||
struct dp_soc *soc = pdev->soc;
|
||||
|
||||
switch (pdev->pdev_id) {
|
||||
case 0:
|
||||
pdev->reo_dest =
|
||||
wlan_cfg_radio0_default_reo_get(soc->wlan_cfg_ctx);
|
||||
break;
|
||||
|
||||
case 1:
|
||||
pdev->reo_dest =
|
||||
wlan_cfg_radio1_default_reo_get(soc->wlan_cfg_ctx);
|
||||
break;
|
||||
|
||||
case 2:
|
||||
pdev->reo_dest =
|
||||
wlan_cfg_radio2_default_reo_get(soc->wlan_cfg_ctx);
|
||||
break;
|
||||
|
||||
default:
|
||||
QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_ERROR,
|
||||
"Invalid pdev_id %d for reo selection", pdev->pdev_id);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
static inline QDF_STATUS dp_pdev_init(struct cdp_soc_t *txrx_soc,
|
||||
HTC_HANDLE htc_handle,
|
||||
qdf_device_t qdf_osdev,
|
||||
@@ -13519,7 +13546,7 @@ static inline QDF_STATUS dp_pdev_init(struct cdp_soc_t *txrx_soc,
|
||||
dp_pcp_tid_map_setup(pdev);
|
||||
|
||||
/* set the reo destination during initialization */
|
||||
pdev->reo_dest = pdev->pdev_id + 1;
|
||||
dp_pdev_set_default_reo(pdev);
|
||||
|
||||
/*
|
||||
* initialize ppdu tlv list
|
||||
|
@@ -367,6 +367,13 @@
|
||||
#define WLAN_CFG_NUM_REO_RINGS_MAP_MIN 0x1
|
||||
#define WLAN_CFG_NUM_REO_RINGS_MAP_MAX 0xF
|
||||
|
||||
#define WLAN_CFG_RADIO_0_DEFAULT_REO 0x1
|
||||
#define WLAN_CFG_RADIO_1_DEFAULT_REO 0x2
|
||||
#define WLAN_CFG_RADIO_2_DEFAULT_REO 0x3
|
||||
|
||||
#define WLAN_CFG_RADIO_DEFAULT_REO_MIN 0x1
|
||||
#define WLAN_CFG_RADIO_DEFAULT_REO_MAX 0x4
|
||||
|
||||
/* DP INI Declerations */
|
||||
#define CFG_DP_HTT_PACKET_TYPE \
|
||||
CFG_INI_UINT("dp_htt_packet_type", \
|
||||
@@ -946,6 +953,27 @@
|
||||
WLAN_CFG_NUM_REO_RINGS_MAP, \
|
||||
CFG_VALUE_OR_DEFAULT, "REO Destination Rings Mapping")
|
||||
|
||||
#define CFG_DP_RX_RADIO_0_DEFAULT_REO \
|
||||
CFG_INI_UINT("dp_rx_radio0_default_reo", \
|
||||
WLAN_CFG_RADIO_DEFAULT_REO_MIN, \
|
||||
WLAN_CFG_RADIO_DEFAULT_REO_MAX, \
|
||||
WLAN_CFG_RADIO_0_DEFAULT_REO, \
|
||||
CFG_VALUE_OR_DEFAULT, "Radio0 to REO destination default mapping")
|
||||
|
||||
#define CFG_DP_RX_RADIO_1_DEFAULT_REO \
|
||||
CFG_INI_UINT("dp_rx_radio1_default_reo", \
|
||||
WLAN_CFG_RADIO_DEFAULT_REO_MIN, \
|
||||
WLAN_CFG_RADIO_DEFAULT_REO_MAX, \
|
||||
WLAN_CFG_RADIO_1_DEFAULT_REO, \
|
||||
CFG_VALUE_OR_DEFAULT, "Radio1 to REO destination default mapping")
|
||||
|
||||
#define CFG_DP_RX_RADIO_2_DEFAULT_REO \
|
||||
CFG_INI_UINT("dp_rx_radio2_default_reo", \
|
||||
WLAN_CFG_RADIO_DEFAULT_REO_MIN, \
|
||||
WLAN_CFG_RADIO_DEFAULT_REO_MAX, \
|
||||
WLAN_CFG_RADIO_2_DEFAULT_REO, \
|
||||
CFG_VALUE_OR_DEFAULT, "Radio2 to REO destination default mapping")
|
||||
|
||||
#define CFG_DP_PEER_EXT_STATS \
|
||||
CFG_INI_BOOL("peer_ext_stats", \
|
||||
false, "Peer extended stats")
|
||||
@@ -1086,5 +1114,8 @@
|
||||
CFG(CFG_DP_POLL_MODE_ENABLE) \
|
||||
CFG(CFG_DP_SWLM_ENABLE) \
|
||||
CFG(CFG_DP_TX_PER_PKT_VDEV_ID_CHECK) \
|
||||
CFG(CFG_DP_RX_FST_IN_CMEM)
|
||||
CFG(CFG_DP_RX_FST_IN_CMEM) \
|
||||
CFG(CFG_DP_RX_RADIO_0_DEFAULT_REO) \
|
||||
CFG(CFG_DP_RX_RADIO_1_DEFAULT_REO) \
|
||||
CFG(CFG_DP_RX_RADIO_2_DEFAULT_REO)
|
||||
#endif /* _CFG_DP_H_ */
|
||||
|
@@ -624,6 +624,12 @@ wlan_cfg_soc_attach(struct cdp_ctrl_objmgr_psoc *psoc)
|
||||
wlan_cfg_ctx->fst_in_cmem = cfg_get(psoc, CFG_DP_RX_FST_IN_CMEM);
|
||||
wlan_cfg_ctx->tx_per_pkt_vdev_id_check =
|
||||
cfg_get(psoc, CFG_DP_TX_PER_PKT_VDEV_ID_CHECK);
|
||||
wlan_cfg_ctx->radio0_rx_default_reo =
|
||||
cfg_get(psoc, CFG_DP_RX_RADIO_0_DEFAULT_REO);
|
||||
wlan_cfg_ctx->radio1_rx_default_reo =
|
||||
cfg_get(psoc, CFG_DP_RX_RADIO_1_DEFAULT_REO);
|
||||
wlan_cfg_ctx->radio2_rx_default_reo =
|
||||
cfg_get(psoc, CFG_DP_RX_RADIO_2_DEFAULT_REO);
|
||||
|
||||
return wlan_cfg_ctx;
|
||||
}
|
||||
@@ -1459,3 +1465,17 @@ bool wlan_cfg_is_swlm_enabled(struct wlan_cfg_dp_soc_ctxt *cfg)
|
||||
return false;
|
||||
}
|
||||
#endif
|
||||
uint8_t wlan_cfg_radio0_default_reo_get(struct wlan_cfg_dp_soc_ctxt *cfg)
|
||||
{
|
||||
return cfg->radio0_rx_default_reo;
|
||||
}
|
||||
|
||||
uint8_t wlan_cfg_radio1_default_reo_get(struct wlan_cfg_dp_soc_ctxt *cfg)
|
||||
{
|
||||
return cfg->radio1_rx_default_reo;
|
||||
}
|
||||
|
||||
uint8_t wlan_cfg_radio2_default_reo_get(struct wlan_cfg_dp_soc_ctxt *cfg)
|
||||
{
|
||||
return cfg->radio2_rx_default_reo;
|
||||
}
|
||||
|
@@ -303,6 +303,9 @@ struct wlan_cfg_dp_soc_ctxt {
|
||||
uint8_t is_swlm_enabled;
|
||||
bool fst_in_cmem;
|
||||
bool tx_per_pkt_vdev_id_check;
|
||||
uint8_t radio0_rx_default_reo;
|
||||
uint8_t radio1_rx_default_reo;
|
||||
uint8_t radio2_rx_default_reo;
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -1475,3 +1478,27 @@ bool wlan_cfg_is_fst_in_cmem_enabled(struct wlan_cfg_dp_soc_ctxt *cfg);
|
||||
bool wlan_cfg_is_swlm_enabled(struct wlan_cfg_dp_soc_ctxt *cfg);
|
||||
|
||||
#endif
|
||||
|
||||
/**
|
||||
* wlan_cfg_radio0_default_reo_get - Get Radio0 default REO
|
||||
* @cfg: soc configuration context
|
||||
*
|
||||
* Return: .
|
||||
*/
|
||||
uint8_t wlan_cfg_radio0_default_reo_get(struct wlan_cfg_dp_soc_ctxt *cfg);
|
||||
|
||||
/**
|
||||
* wlan_cfg_radio1_default_reo_get - Get Radio1 default REO
|
||||
* @cfg: soc configuration context
|
||||
*
|
||||
* Return: .
|
||||
*/
|
||||
uint8_t wlan_cfg_radio1_default_reo_get(struct wlan_cfg_dp_soc_ctxt *cfg);
|
||||
|
||||
/**
|
||||
* wlan_cfg_radio2_default_reo_get() - Get Radio2 default REO
|
||||
* @cfg: soc configuration context
|
||||
*
|
||||
* Return: .
|
||||
*/
|
||||
uint8_t wlan_cfg_radio2_default_reo_get(struct wlan_cfg_dp_soc_ctxt *cfg);
|
||||
|
Reference in New Issue
Block a user