From be91f2f082256d1dec3a71ca455c6cca9247bd95 Mon Sep 17 00:00:00 2001 From: spuligil Date: Fri, 8 May 2026 18:02:01 -0700 Subject: [PATCH] fw-api: CL 32477405 - update fw common interface files Change-Id: Ic79bd8e20c37ba78e27f066ca24c4c3b05f952e4 CRs-Fixed: 3830439 --- fw/htt.h | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/fw/htt.h b/fw/htt.h index 0716a4625152..0a50c23b9cf1 100644 --- a/fw/htt.h +++ b/fw/htt.h @@ -6235,7 +6235,11 @@ enum htt_srng_ring_id { * newer packet_type_enable_data_flags_* are valid or not * If not set, will use pkt_type_enable_flags for both status * and full pkt buffer configuration. - * b'30:31 - rsvd1: reserved for future use + * b'30 - is_monitor_mode: specify whether monitor mode is enabled. + * Helpful to configure monitor-mode related filters. + * These filters cause throughput dip if enabled in + * non-monitor mode. + * b'31 - rsvd1: reserved for future use * dword1 - b'0:15 - ring_buffer_size: size of bufferes referenced by rx ring, * in byte units. * Valid only for HW_TO_SW_RING and SW_TO_HW_RING @@ -6452,7 +6456,8 @@ PREPACK struct htt_rx_ring_selection_cfg_t { drop_thresh_valid: 1, rx_mon_global_en: 1, packet_type_enable_data: 1, - rsvd1: 2; + is_monitor_mode: 1, + rsvd1: 1; A_UINT32 ring_buffer_size: 16, config_length_mgmt:3, config_length_ctrl:3, @@ -6655,6 +6660,18 @@ enum htt_reg_write_selection { ((_var) |= ((_val) << HTT_RX_RING_SELECTION_CFG_PACKET_TYPE_ENABLE_DATA_S)); \ } while (0) +#define HTT_RX_RING_SELECTION_CFG_IS_MONITOR_MODE_M 0x40000000 +#define HTT_RX_RING_SELECTION_CFG_IS_MONITOR_MODE_S 30 +#define HTT_RX_RING_SELECTION_CFG_IS_MONITOR_MODE_GET(_var) \ + (((_var) & HTT_RX_RING_SELECTION_CFG_IS_MONITOR_MODE_M) >> \ + HTT_RX_RING_SELECTION_CFG_IS_MONITOR_MODE_S) +#define HTT_RX_RING_SELECTION_CFG_IS_MONITOR_MODE_SET(_var, _val) \ + do { \ + HTT_CHECK_SET_VAL(HTT_RX_RING_SELECTION_CFG_IS_MONITOR_MODE, _val); \ + ((_var) |= ((_val) << HTT_RX_RING_SELECTION_CFG_IS_MONITOR_MODE_S)); \ + } while (0) + + #define HTT_RX_RING_SELECTION_CFG_RING_BUFFER_SIZE_M 0x0000ffff #define HTT_RX_RING_SELECTION_CFG_RING_BUFFER_SIZE_S 0 #define HTT_RX_RING_SELECTION_CFG_RING_BUFFER_SIZE_GET(_var) \