qcacmn: Add CDP APIs for FISA HTT msgs
Add CDP APIs for sending HTT messages used for FISA related configurations. Change-Id: Ie4076794b8b4b53611ecb71fbb11d19bd0c36442 CRs-Fixed: 3512038
This commit is contained in:

committed by
Rahul Choudhary

parent
b47aea82ae
commit
f3a0177ae3
@@ -3022,6 +3022,30 @@ enum cdp_fisa_stats_id {
|
|||||||
};
|
};
|
||||||
|
|
||||||
#ifdef WLAN_SUPPORT_RX_FISA
|
#ifdef WLAN_SUPPORT_RX_FISA
|
||||||
|
/**
|
||||||
|
* enum cdp_fisa_config_id - FISA config ID
|
||||||
|
* @CDP_FISA_HTT_RX_FISA_CFG: FISA config HTT message
|
||||||
|
* @CDP_FISA_HTT_RX_FSE_OP_CFG: FSE operation HTT message
|
||||||
|
* @CDP_FISA_HTT_RX_FSE_SETUP_CFG: FSE setup HTT message
|
||||||
|
*/
|
||||||
|
enum cdp_fisa_config_id {
|
||||||
|
CDP_FISA_HTT_RX_FISA_CFG,
|
||||||
|
CDP_FISA_HTT_RX_FSE_OP_CFG,
|
||||||
|
CDP_FISA_HTT_RX_FSE_SETUP_CFG,
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* union cdp_fisa_config - FISA HTT message data
|
||||||
|
* @fisa_config: FISA config HTT msg data
|
||||||
|
* @fse_op_cmd: FSE operation HTT msg data
|
||||||
|
* @fse_setup_info: FSE setup HTT msg data
|
||||||
|
*/
|
||||||
|
union cdp_fisa_config {
|
||||||
|
struct dp_htt_rx_fisa_cfg *fisa_config;
|
||||||
|
struct dp_htt_rx_flow_fst_operation *fse_op_cmd;
|
||||||
|
struct dp_htt_rx_flow_fst_setup *fse_setup_info;
|
||||||
|
};
|
||||||
|
|
||||||
struct cdp_flow_stats {
|
struct cdp_flow_stats {
|
||||||
uint32_t aggr_count;
|
uint32_t aggr_count;
|
||||||
uint32_t curr_aggr_count;
|
uint32_t curr_aggr_count;
|
||||||
|
@@ -1429,4 +1429,24 @@ cdp_umac_reset_is_inprogress(ol_txrx_soc_handle soc)
|
|||||||
|
|
||||||
return soc->ops->ctrl_ops->umac_reset_is_inprogress(soc);
|
return soc->ops->ctrl_ops->umac_reset_is_inprogress(soc);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef WLAN_SUPPORT_RX_FISA
|
||||||
|
static inline
|
||||||
|
QDF_STATUS cdp_txrx_fisa_config(struct cdp_soc_t *soc, uint8_t pdev_id,
|
||||||
|
enum cdp_fisa_config_id config_id,
|
||||||
|
union cdp_fisa_config *cfg)
|
||||||
|
{
|
||||||
|
if (!soc || !soc->ops) {
|
||||||
|
dp_cdp_debug("Invalid Instance:");
|
||||||
|
QDF_BUG(0);
|
||||||
|
return QDF_STATUS_E_FAILURE;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!soc->ops->ctrl_ops || !soc->ops->ctrl_ops->txrx_fisa_config)
|
||||||
|
return QDF_STATUS_E_FAILURE;
|
||||||
|
|
||||||
|
return soc->ops->ctrl_ops->txrx_fisa_config(soc, pdev_id, config_id,
|
||||||
|
cfg);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
#endif /* _CDP_TXRX_CTRL_H_ */
|
#endif /* _CDP_TXRX_CTRL_H_ */
|
||||||
|
@@ -955,6 +955,11 @@ struct cdp_ctrl_ops {
|
|||||||
uint32_t *mask_cont);
|
uint32_t *mask_cont);
|
||||||
#endif
|
#endif
|
||||||
bool (*umac_reset_is_inprogress)(struct cdp_soc_t *psoc);
|
bool (*umac_reset_is_inprogress)(struct cdp_soc_t *psoc);
|
||||||
|
#ifdef WLAN_SUPPORT_RX_FISA
|
||||||
|
QDF_STATUS (*txrx_fisa_config)(struct cdp_soc_t *soc, uint8_t pdev_id,
|
||||||
|
enum cdp_fisa_config_id config_id,
|
||||||
|
union cdp_fisa_config *cfg);
|
||||||
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
struct cdp_me_ops {
|
struct cdp_me_ops {
|
||||||
|
@@ -4125,6 +4125,17 @@ void dp_update_num_mac_rings_for_dbs(struct dp_soc *soc,
|
|||||||
*/
|
*/
|
||||||
void dp_rx_fst_update_cmem_params(struct dp_soc *soc, uint16_t num_entries,
|
void dp_rx_fst_update_cmem_params(struct dp_soc *soc, uint16_t num_entries,
|
||||||
uint32_t cmem_ba_lo, uint32_t cmem_ba_hi);
|
uint32_t cmem_ba_lo, uint32_t cmem_ba_hi);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* dp_fisa_config() - FISA config handler
|
||||||
|
* @cdp_soc: CDP SoC handle
|
||||||
|
* @pdev_id: PDEV ID
|
||||||
|
* @config_id: FISA config ID
|
||||||
|
* @cfg: FISA config msg data
|
||||||
|
*/
|
||||||
|
QDF_STATUS dp_fisa_config(ol_txrx_soc_handle cdp_soc, uint8_t pdev_id,
|
||||||
|
enum cdp_fisa_config_id config_id,
|
||||||
|
union cdp_fisa_config *cfg);
|
||||||
#else
|
#else
|
||||||
static inline void
|
static inline void
|
||||||
dp_rx_fst_update_cmem_params(struct dp_soc *soc, uint16_t num_entries,
|
dp_rx_fst_update_cmem_params(struct dp_soc *soc, uint16_t num_entries,
|
||||||
|
@@ -11239,6 +11239,9 @@ static struct cdp_ctrl_ops dp_ops_ctrl = {
|
|||||||
#endif
|
#endif
|
||||||
.txrx_peer_flush_frags = dp_peer_flush_frags,
|
.txrx_peer_flush_frags = dp_peer_flush_frags,
|
||||||
.umac_reset_is_inprogress = dp_umac_reset_is_inprogress,
|
.umac_reset_is_inprogress = dp_umac_reset_is_inprogress,
|
||||||
|
#ifdef WLAN_SUPPORT_RX_FISA
|
||||||
|
.txrx_fisa_config = dp_fisa_config,
|
||||||
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct cdp_me_ops dp_ops_me = {
|
static struct cdp_me_ops dp_ops_me = {
|
||||||
|
@@ -2826,6 +2826,37 @@ void dp_rx_deliver_to_stack_no_peer(struct dp_soc *soc, qdf_nbuf_t nbuf)
|
|||||||
#endif /* QCA_HOST_MODE_WIFI_DISABLED */
|
#endif /* QCA_HOST_MODE_WIFI_DISABLED */
|
||||||
|
|
||||||
#ifdef WLAN_SUPPORT_RX_FISA
|
#ifdef WLAN_SUPPORT_RX_FISA
|
||||||
|
QDF_STATUS dp_fisa_config(ol_txrx_soc_handle cdp_soc, uint8_t pdev_id,
|
||||||
|
enum cdp_fisa_config_id config_id,
|
||||||
|
union cdp_fisa_config *cfg)
|
||||||
|
{
|
||||||
|
struct dp_soc *soc = (struct dp_soc *)cdp_soc;
|
||||||
|
struct dp_pdev *pdev;
|
||||||
|
QDF_STATUS status;
|
||||||
|
|
||||||
|
pdev = dp_get_pdev_from_soc_pdev_id_wifi3(soc, pdev_id);
|
||||||
|
if (!pdev) {
|
||||||
|
dp_err("pdev is NULL for pdev_id %u", pdev_id);
|
||||||
|
return QDF_STATUS_E_INVAL;
|
||||||
|
}
|
||||||
|
|
||||||
|
switch (config_id) {
|
||||||
|
case CDP_FISA_HTT_RX_FISA_CFG:
|
||||||
|
status = dp_htt_rx_fisa_config(pdev, cfg->fisa_config);
|
||||||
|
break;
|
||||||
|
case CDP_FISA_HTT_RX_FSE_OP_CFG:
|
||||||
|
status = dp_htt_rx_flow_fse_operation(pdev, cfg->fse_op_cmd);
|
||||||
|
break;
|
||||||
|
case CDP_FISA_HTT_RX_FSE_SETUP_CFG:
|
||||||
|
status = dp_htt_rx_flow_fst_setup(pdev, cfg->fse_setup_info);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
status = QDF_STATUS_E_INVAL;
|
||||||
|
}
|
||||||
|
|
||||||
|
return status;
|
||||||
|
}
|
||||||
|
|
||||||
void dp_rx_skip_tlvs(struct dp_soc *soc, qdf_nbuf_t nbuf, uint32_t l3_padding)
|
void dp_rx_skip_tlvs(struct dp_soc *soc, qdf_nbuf_t nbuf, uint32_t l3_padding)
|
||||||
{
|
{
|
||||||
QDF_NBUF_CB_RX_PACKET_L3_HDR_PAD(nbuf) = l3_padding;
|
QDF_NBUF_CB_RX_PACKET_L3_HDR_PAD(nbuf) = l3_padding;
|
||||||
|
Reference in New Issue
Block a user