qcacmn: update RSSI specific parameters in mon pdev

Update RSSI specific parameter from beryllium
specific path to common path as part of
extending feature for lithium also.
RSSI calibration parameters are received as part
of WMI event from FW, update these parameters to
monitor pdev via CDP interface.

Change-Id: I4e35d873db6d1ad03d86694a8d36decffe409a0e
CRs-Fixed: 3231120
This commit is contained in:
KARTHIK KUMAR T
2022-06-24 19:27:17 +05:30
committad av Madan Koyyalamudi
förälder 000a8135b3
incheckning 0365423471
8 ändrade filer med 162 tillägg och 224 borttagningar

Visa fil

@@ -41,6 +41,15 @@
#define DP_MON_REAP_BUDGET 1024
#define MON_BUF_MIN_ENTRIES 64
/* 40MHZ BW 2 20MHZ sub bands */
#define SUB40BW 2
/* 80MHZ BW 4 20MHZ sub bands */
#define SUB80BW 4
/* 160MHZ BW 8 20MHZ sub bands */
#define SUB160BW 8
/* 320MHZ BW 16 20MHZ sub bands */
#define SUB320BW 16
#define RNG_ERR "SRNG setup failed for"
#define dp_mon_info(params...) \
__QDF_TRACE_FL(QDF_TRACE_LEVEL_INFO_HIGH, QDF_MODULE_ID_MON, ## params)
@@ -530,6 +539,28 @@ bool dp_ppdu_stats_ind_handler(struct htt_soc *soc,
void dp_ppdu_desc_deliver(struct dp_pdev *pdev, struct ppdu_info *ppdu_info);
#endif
#ifdef QCA_RSSI_DB2DBM
/*
* dp_mon_pdev_params_rssi_dbm_conv() --> to set rssi in dbm converstion
* params into monitor pdev.
*@cdp_soc: dp soc handle.
*@params: cdp_rssi_db2dbm_param_dp structure value.
*
* Return: QDF_STATUS_SUCCESS if value set successfully
* QDF_STATUS_E_INVAL false if error
*/
QDF_STATUS
dp_mon_pdev_params_rssi_dbm_conv(struct cdp_soc_t *cdp_soc,
struct cdp_rssi_db2dbm_param_dp *params);
#else
static inline QDF_STATUS
dp_mon_pdev_params_rssi_dbm_conv(struct cdp_soc_t *cdp_soc,
struct cdp_rssi_db2dbm_param_dp *params)
{
return QDF_STATUS_E_INVAL;
}
#endif /* QCA_RSSI_DB2DBM */
struct dp_mon_ops {
QDF_STATUS (*mon_soc_cfg_init)(struct dp_soc *soc);
QDF_STATUS (*mon_soc_attach)(struct dp_soc *soc);
@@ -781,8 +812,6 @@ struct dp_mon_ops {
void (*mon_lite_mon_vdev_delete)(struct dp_pdev *pdev,
struct dp_vdev *vdev);
void (*mon_lite_mon_disable_rx)(struct dp_pdev *pdev);
void (*mon_rx_stats_update_rssi_dbm_params)
(struct dp_soc *soc, struct dp_mon_pdev *mon_pdev);
/* Print advanced monitor stats */
void (*mon_rx_print_advanced_stats)
(struct dp_soc *soc, struct dp_pdev *pdev);
@@ -3770,27 +3799,6 @@ dp_rx_mon_enable(struct dp_soc *soc, uint32_t *msg_word,
monitor_ops->rx_mon_enable(msg_word, tlv_filter);
}
static inline void
dp_mon_rx_stats_update_rssi_dbm_params(struct dp_soc *soc,
struct dp_mon_pdev *mon_pdev)
{
struct dp_mon_soc *mon_soc = soc->monitor_soc;
struct dp_mon_ops *monitor_ops;
if (!mon_soc) {
dp_mon_debug("mon soc is NULL");
return;
}
monitor_ops = mon_soc->mon_ops;
if (!monitor_ops ||
!monitor_ops->mon_rx_stats_update_rssi_dbm_params) {
dp_mon_debug("callback not registered");
return;
}
monitor_ops->mon_rx_stats_update_rssi_dbm_params(soc, mon_pdev);
}
/**
* dp_mon_rx_print_advanced_stats () - print advanced monitor stats
*