diff --git a/core/dp/htt/htt_monitor_rx.c b/core/dp/htt/htt_monitor_rx.c index e42f68d31321..cab4424677df 100644 --- a/core/dp/htt/htt_monitor_rx.c +++ b/core/dp/htt/htt_monitor_rx.c @@ -489,6 +489,8 @@ static void htt_rx_mon_get_rx_status(htt_pdev_handle pdev, rx_status->chan_flags = channel_flags; rx_status->ant_signal_db = rx_desc->ppdu_start.rssi_comb; + rx_status->rssi_comb = rx_desc->ppdu_start.rssi_comb; + rx_status->chan_noise_floor = pdev->txrx_pdev->chan_noise_floor; } /** diff --git a/core/dp/ol/inc/ol_defines.h b/core/dp/ol/inc/ol_defines.h index d08838b3888a..c89a6e2d0b88 100644 --- a/core/dp/ol/inc/ol_defines.h +++ b/core/dp/ol/inc/ol_defines.h @@ -24,6 +24,8 @@ #define OL_TXRX_PDEV_ID 0 +#define NORMALIZED_TO_NOISE_FLOOR (-96) + /** * ol_txrx_pdev_handle - opaque handle for txrx physical device * object diff --git a/core/dp/txrx/ol_txrx.c b/core/dp/txrx/ol_txrx.c index 17e27efd7098..51aa11bd177c 100644 --- a/core/dp/txrx/ol_txrx.c +++ b/core/dp/txrx/ol_txrx.c @@ -834,6 +834,9 @@ ol_txrx_pdev_attach(ol_txrx_soc_handle soc, pdev->peer_id_unmap_ref_cnt = TXRX_RFS_DISABLE_PEER_ID_UNMAP_COUNT; + if (cds_get_conparam() == QDF_GLOBAL_MONITOR_MODE) + pdev->chan_noise_floor = NORMALIZED_TO_NOISE_FLOOR; + ol_txrx_debugfs_init(pdev); return (struct cdp_pdev *)pdev; diff --git a/core/dp/txrx/ol_txrx_types.h b/core/dp/txrx/ol_txrx_types.h index c6d2364aa487..d837c220d06f 100644 --- a/core/dp/txrx/ol_txrx_types.h +++ b/core/dp/txrx/ol_txrx_types.h @@ -1106,6 +1106,9 @@ struct ol_txrx_pdev_t { bool enable_tx_compl_tsf64; uint64_t last_host_time; uint64_t last_tsf64_time; + + /* Current noise-floor reading for the pdev channel */ + int16_t chan_noise_floor; }; #define OL_TX_HL_DEL_ACK_HASH_SIZE 256