On 6/23/2025 9:19 PM, Aditya Kumar Singh wrote:
At present, the ATH12K_DEFAULT_NOISE_FLOOR (-95) is used to calculate RSSI value, providing an estimated noise floor value. Consequently, the RSSI value is also approximate. This works but however, using actual noise floor value will enable the reporting of the true RSSI value. The firmware possesses the necessary data to determine the actual noise floor. This data is provided to the host via the WMI event WMI_PDEV_RSSI_DBM_CONVERSION_PARAMS_INFO_EVENTID, which includes the runtime parameters needed for calculating the real noise floor in dBm. This event is triggered by the firmware during channel changes, temperature offset adjustments, and hardware chainmask modifications. Add support to handle and parse this WMI event. Use the received values to calculate and store the noise floor value and use at the required places. --- Changes in v2: - Rebased to latest main. Simple conflict was only in wmi.h. No other changes. - Link to v1: https://lore.kernel.org/r/20250528-support_real_noise_floor-v1-0-04507bd3bc76@xxxxxxxxxxxxxxxx --- Raj Kumar Bhagat (2): wifi: ath12k: handle WMI event for real noise floor calculation wifi: ath12k: use real noise floor instead of default value drivers/net/wireless/ath/ath12k/core.h | 17 +++ drivers/net/wireless/ath/ath12k/dp_mon.c | 7 +- drivers/net/wireless/ath/ath12k/dp_tx.c | 20 ++- drivers/net/wireless/ath/ath12k/mac.c | 14 +- drivers/net/wireless/ath/ath12k/wmi.c | 233 ++++++++++++++++++++++++++++++- drivers/net/wireless/ath/ath12k/wmi.h | 42 ++++++ 6 files changed, 324 insertions(+), 9 deletions(-)
Reviewed-by: Vasanthakumar Thiagarajan <vasanthakumar.thiagarajan@xxxxxxxxxxxxxxxx>