瀏覽代碼

fw-api: CL 5862768 - update fw common interface files

Change-Id: I5a601a784ef97dbaccb119e8b754767d01c9252e
WMI: extend pktlog enable message for pktlog lite (MAC addrs to filter)
CRs-Fixed: 2262693
spuligil 6 年之前
父節點
當前提交
1839d8f459
共有 4 個文件被更改,包括 48 次插入4 次删除
  1. 3 3
      fw/htt_stats.h
  2. 10 0
      fw/wmi_tlv_defs.h
  3. 34 0
      fw/wmi_unified.h
  4. 1 1
      fw/wmi_version.h

+ 3 - 3
fw/htt_stats.h

@@ -362,7 +362,7 @@ typedef enum {
     HTT_STATS_TX_DE_FW2WBM_RING_FULL_HIST_TAG           = 85,    /* htt_tx_de_fw2wbm_ring_full_hist_tlv */
     HTT_STATS_SCHED_TXQ_SCHED_ORDER_SU_TAG              = 86,    /* htt_sched_txq_sched_order_su_tlv */
     HTT_STATS_SCHED_TXQ_SCHED_INELIGIBILITY_TAG         = 87,    /* htt_sched_txq_sched_eligibility_tlv */
-    HTT_STATS_PDEV_OBSS_PD_TAG                          = 88,    /* htt_pdev_obss_pd_stats_tlv */  
+    HTT_STATS_PDEV_OBSS_PD_TAG                          = 88,    /* htt_pdev_obss_pd_stats_tlv */
 
     HTT_STATS_MAX_TAG,
 } htt_tlv_tag_t;
@@ -3612,11 +3612,11 @@ typedef struct {
 
 typedef struct {
     htt_tlv_hdr_t   tlv_hdr;
- 
+
     A_UINT32        num_obss_tx_ppdu_success;
     A_UINT32        num_obss_tx_ppdu_failure;
 } htt_pdev_obss_pd_stats_tlv;
- 
+
 /* NOTE:
  * This structure is for documentation, and cannot be safely used directly.
  * Instead, use the constituent TLV structures to fill/parse.

+ 10 - 0
fw/wmi_tlv_defs.h

@@ -941,6 +941,8 @@ typedef enum {
     WMITLV_TAG_STRUC_wmi_ndp_channel_info,
     WMITLV_TAG_STRUC_wmi_ndp_cmd_param,
     WMITLV_TAG_STRUC_wmi_ndp_event_param,
+    WMITLV_TAG_STRUC_wmi_pdev_pktlog_filter_cmd_fixed_param,
+    WMITLV_TAG_STRUC_wmi_pdev_pktlog_filter_info,
 } WMITLV_TAG_ID;
 
 /*
@@ -1327,6 +1329,7 @@ typedef enum {
     OP(WMI_VDEV_CHAINMASK_CONFIG_CMDID) \
     OP(WMI_VDEV_BCN_OFFLOAD_QUIET_CONFIG_CMDID) \
     OP(WMI_NDP_CMDID) \
+    OP(WMI_PDEV_PKTLOG_FILTER_CMDID) \
     /* add new CMD_LIST elements above this line */
 
 
@@ -3826,6 +3829,13 @@ WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_HE_TB_ACTION_FRM_CMDID);
     WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_hpcs_pulse_start_cmd_fixed_param, wmi_hpcs_pulse_start_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX)
 WMITLV_CREATE_PARAM_STRUC(WMI_HPCS_PULSE_START_CMDID);
 
+/* PDev Packet Log filter Cmd */
+#define WMITLV_TABLE_WMI_PDEV_PKTLOG_FILTER_CMDID(id,op,buf,len) \
+    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_pdev_pktlog_filter_cmd_fixed_param, wmi_pdev_pktlog_filter_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) \
+    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_pdev_pktlog_filter_info, pdev_pktlog_filter_info, WMITLV_SIZE_VAR)
+
+WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_PKTLOG_FILTER_CMDID);
+
 /************************** TLV definitions of WMI events *******************************/
 
 /* Service Ready event */

+ 34 - 0
fw/wmi_unified.h

@@ -403,6 +403,8 @@ typedef enum {
     WMI_PDEV_DMA_RING_CFG_REQ_CMDID,
     /* enable/disable Action frame response as HE TB PPDU */
     WMI_PDEV_HE_TB_ACTION_FRM_CMDID,
+    /** filter packet log based on MAC address */
+    WMI_PDEV_PKTLOG_FILTER_CMDID,
 
     /* VDEV (virtual device) specific commands */
     /** vdev create */
@@ -5782,6 +5784,11 @@ typedef enum {
     WMI_PKTLOG_ENABLE_FORCE = 1, /* pktlog unconditionally enabled */
 } WMI_PKTLOG_ENABLE;
 
+typedef enum {
+    WMI_PKTLOG_FILTER_IN  = 0, /* capture only for the MAC addresses in pktlog_mac_addr_list*/
+    WMI_PKTLOG_FILTER_OUT = 1, /* capture for all MAC addresses except those in pktlog_mac_addr_list */
+} WMI_PKTLOG_FILTER_TYPE;
+
 typedef struct {
     A_UINT32 tlv_header; /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_pdev_pktlog_enable_cmd_fixed_param */
     /** pdev_id for identifying the MAC
@@ -5800,6 +5807,32 @@ typedef struct {
     A_UINT32 pdev_id;
 } wmi_pdev_pktlog_disable_cmd_fixed_param;
 
+typedef struct {
+    /** TLV tag and len; tag equals
+    *  WMITLV_TAG_STRUC_wmi_pdev_pktlog_filter_info */
+    A_UINT32 tlv_header;
+    /** mac addr of the peer to be filtered */
+    wmi_mac_addr peer_mac_address;
+} wmi_pdev_pktlog_filter_info;
+
+typedef struct {
+    A_UINT32 tlv_header; /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_pdev_pktlog_filter_cmd_fixed_param */
+    /** pdev_id for identifying the MAC
+     * See macros starting with WMI_PDEV_ID_ for values.
+     */
+    A_UINT32 pdev_id;
+    /** 0 - disable filtering, 1 - enable filtering */
+    A_UINT32 enable;
+    A_UINT32 filter_type; /* WMI_PKTLOG_FILTER_TYPE */
+    A_UINT32 num_of_mac_addresses;
+    /* This TLV is followed by another TLV of array of structs
+     * wmi_pdev_pktlog_filter_info pdev_pktlog_filter_info[];
+     */
+} wmi_pdev_pktlog_filter_cmd_fixed_param;
+
+
+
+
 typedef struct {
     A_UINT32 tlv_header; /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_mib_stats_enable_cmd_fixed_param */
     /** pdev_id for identifying the MAC
@@ -22566,6 +22599,7 @@ static INLINE A_UINT8 *wmi_id_to_name(A_UINT32 wmi_command)
         WMI_RETURN_STRING(WMI_VDEV_CHAINMASK_CONFIG_CMDID);
         WMI_RETURN_STRING(WMI_VDEV_BCN_OFFLOAD_QUIET_CONFIG_CMDID);
         WMI_RETURN_STRING(WMI_NDP_CMDID);
+        WMI_RETURN_STRING(WMI_PDEV_PKTLOG_FILTER_CMDID);
     }
 
     return "Invalid WMI cmd";

+ 1 - 1
fw/wmi_version.h

@@ -36,7 +36,7 @@
 #define __WMI_VER_MINOR_    0
 /** WMI revision number has to be incremented when there is a
  *  change that may or may not break compatibility. */
-#define __WMI_REVISION_ 592
+#define __WMI_REVISION_ 593
 
 /** The Version Namespace should not be normally changed. Only
  *  host and firmware of the same WMI namespace will work