Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 10274275 authored by Linux Build Service Account's avatar Linux Build Service Account
Browse files

Merge 11fa64a0 on remote branch

Change-Id: I84fcd922f837fbaf9cb1609749f4abf9f45f167c
parents 047b8990 11fa64a0
Loading
Loading
Loading
Loading
+22 −16
Original line number Diff line number Diff line
@@ -584,6 +584,13 @@ typedef enum HTT_PPDU_STATS_SPATIAL_REUSE HTT_PPDU_STATS_SPATIAL_REUSE;
            ((_var) |= ((_val) << HTT_PPDU_STATS_COMMON_TLV_BSS_COLOR_ID_S)); \
    } while (0)

#define HTT_PPDU_STATS_COMMON_TRIG_COOKIE_M    0x0000ffff
#define HTT_PPDU_STATS_COMMON_TRIG_COOKIE_S    0

#define HTT_PPDU_STATS_COMMON_TRIG_COOKIE_GET(_val) \
        (((_val) & HTT_PPDU_STATS_COMMON_TRIG_COOKIE_M) >> \
         HTT_PPDU_STATS_COMMON_TRIG_COOKIE_S)

typedef struct {
    htt_tlv_hdr_t tlv_hdr;

@@ -735,6 +742,16 @@ typedef struct {
                     reserved2:         15;
        };
    };

    /* Note: This is for tracking a UL OFDMA packet */
    union {
        A_UINT32 trig_cookie_info;
        struct {
            A_UINT32 trig_cookie: 16,
                     trig_cookie_rsvd: 15,
                     trig_cookie_valid: 1;
        };
    };
} htt_ppdu_stats_common_tlv;

#define HTT_PPDU_STATS_USER_COMMON_TLV_TID_NUM_M     0x000000ff
@@ -1485,27 +1502,16 @@ typedef struct {
        };
    };

    /* Note: This is for tracking a UL OFDMA packet */
    union {
        A_UINT32 trig_cookie_info;
        struct {
            A_UINT32 trig_cookie: 16,
                     trig_cookie_rsvd: 15,
                     trig_cookie_valid: 1;
        };
    };
    /*
     * This is an unused word that can be safely renamed / used
     * by any future feature.
     */
    A_UINT32 reserved4;
} htt_ppdu_stats_user_rate_tlv;

#define HTT_PPDU_STATS_USR_RATE_COOKIE_M    0x0000ffff
#define HTT_PPDU_STATS_USR_RATE_COOKIE_S    0

#define HTT_PPDU_STATS_USR_RATE_VALID_M     0x80000000
#define HTT_PPDU_STATS_USR_RATE_VALID_S     31

#define HTT_PPDU_STATS_USR_RATE_COOKIE_GET(_val) \
        (((_val) & HTT_PPDU_STATS_USR_RATE_COOKIE_M) >> \
         HTT_PPDU_STATS_USR_RATE_COOKIE_S)

#define HTT_PPDU_STATS_USR_RATE_VALID_GET(_val) \
        (((_val) & HTT_PPDU_STATS_USR_RATE_VALID_M) >> \
         HTT_PPDU_STATS_USR_RATE_VALID_S)
+3 −0
Original line number Diff line number Diff line
@@ -5307,6 +5307,7 @@ typedef struct {
#define HTT_MAX_RX_OTA_ERR_CNT 14

typedef struct {
    htt_tlv_hdr_t tlv_hdr;
    /* number of RXTD OFDMA OTA error counts except power surge and drop */
    A_UINT32 rx_ofdma_timing_err_cnt;
    /* rx_cck_fail_cnt:
@@ -5373,6 +5374,8 @@ typedef struct {
     * higher values indicating more noise interference.
     */
    A_INT32 ani_level;
    /* running time in minutes since FW boot */
    A_UINT32 fw_run_time;
} htt_phy_stats_tlv;

/* NOTE:
+2 −0
Original line number Diff line number Diff line
@@ -477,6 +477,8 @@ typedef enum {
    WMI_SERVICE_OCV_SUPPORT = 257, /* FW supports OCV (Operating Channel Validation) */
    WMI_SERVICE_LL_STATS_PER_CHAN_RX_TX_TIME_SUPPORT = 258, /* Indicates firmware support sending per channel own tx & rx time in radio stats of LL stats. */
    WMI_SERVICE_THERMAL_MULTI_CLIENT_SUPPORT = 259, /* Indicates FW Thermal Mgr will support multiple clients for mitigation */
    WMI_SERVICE_NAN_SEND_NAN_ENABLE_RESPONSE_TO_HOST = 260, /* Indicates FW will include an additional TLV in nan enable response for Host driver to parse */
    WMI_SERVICE_UNIFIED_LL_GET_STA_CMD_SUPPORT = 261, /* Indicates that FW supports handling Link Layer and Get Station stats Commands together (WMI_REQUEST_UNIFIED_LL_GET_STA_CMDID) */


    WMI_MAX_EXT2_SERVICE
+12 −1
Original line number Diff line number Diff line
@@ -1106,6 +1106,8 @@ typedef enum {
    WMITLV_TAG_STRUC_wmi_wfa_config_csa,
    WMITLV_TAG_STRUC_wmi_wfa_config_ocv,
    WMITLV_TAG_STRUC_wmi_wfa_config_saquery,
    WMITLV_TAG_STRUC_wmi_roam_data_rssi_roaming_param,
    WMITLV_TAG_STRUC_wmi_request_unified_ll_get_sta_cmd_fixed_param,
} WMITLV_TAG_ID;

/*
@@ -1555,6 +1557,7 @@ typedef enum {
    OP(WMI_AUDIO_AGGR_SET_SCHED_METHOD_CMDID) \
    OP(WMI_AUDIO_AGGR_GET_SCHED_METHOD_CMDID) \
    OP(WMI_WFA_CONFIG_CMDID) \
    OP(WMI_REQUEST_UNIFIED_LL_GET_STA_CMDID) \
    /* add new CMD_LIST elements above this line */


@@ -1978,7 +1981,8 @@ WMITLV_CREATE_PARAM_STRUC(WMI_ROAM_SCAN_MODE);
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_roam_scan_extended_threshold_param, extended_param, WMITLV_SIZE_VAR) \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_roam_earlystop_rssi_thres_param, earlystop_param, WMITLV_SIZE_VAR) \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_roam_dense_thres_param, dense_param, WMITLV_SIZE_VAR) \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_roam_bg_scan_roaming_param, bg_scan_param, WMITLV_SIZE_VAR)
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_roam_bg_scan_roaming_param, bg_scan_param, WMITLV_SIZE_VAR) \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_roam_data_rssi_roaming_param, data_rssi_param, WMITLV_SIZE_VAR)

WMITLV_CREATE_PARAM_STRUC(WMI_ROAM_SCAN_RSSI_THRESHOLD);

@@ -2473,6 +2477,13 @@ WMITLV_CREATE_PARAM_STRUC(WMI_CLEAR_LINK_STATS_CMDID);

WMITLV_CREATE_PARAM_STRUC(WMI_REQUEST_LINK_STATS_CMDID);

/* Request for unified Link Layer and get station stats Cmd */
#define WMITLV_TABLE_WMI_REQUEST_UNIFIED_LL_GET_STA_CMDID(id,op,buf,len) \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_request_unified_ll_get_sta_cmd_fixed_param, wmi_request_unified_ll_get_sta_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_inst_rssi_stats_params, inst_rssi_params, WMITLV_SIZE_VAR)

WMITLV_CREATE_PARAM_STRUC(WMI_REQUEST_UNIFIED_LL_GET_STA_CMDID);

/* Request wlm stats Cmd */
#define WMITLV_TABLE_WMI_REQUEST_WLM_STATS_CMDID(id,op,buf,len) \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_request_wlm_stats_cmd_fixed_param, wmi_request_wlm_stats_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX)
+97 −4
Original line number Diff line number Diff line
@@ -919,6 +919,9 @@ typedef enum {
    /** request for control path stats */
    WMI_REQUEST_CTRL_PATH_STATS_CMDID,
    /** unified request for LL stats and get station cmds */
    WMI_REQUEST_UNIFIED_LL_GET_STA_CMDID,
    /** ARP OFFLOAD REQUEST*/
    WMI_SET_ARP_NS_OFFLOAD_CMDID = WMI_CMD_GRP_START_ID(WMI_GRP_ARP_NS_OFL),
@@ -8120,6 +8123,22 @@ typedef struct {
    wmi_mac_addr peer_macaddr;
} wmi_request_link_stats_cmd_fixed_param;
typedef struct {
    A_UINT32 tlv_header; /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_unified_request_ll_get_sta_cmd_fixed_param */
    /** Type of stats required. This is a bitmask of WMI_LINK_STATS_RADIO, WMI_LINK_STATS_IFACE */
    A_UINT32 link_stats_type;
    /** unique id identifying the VDEV, generated by the caller */
    A_UINT32 vdev_id;
    /** unique id identifying the request, generated by the caller */
    A_UINT32 request_id;
    /** peer MAC address */
    wmi_mac_addr peer_macaddr;
    /** Type of stats required for get station cmd (see wmi_stats_id enum) */
    A_UINT32 get_sta_stats_id;
    /** pdev_id for identifying the MAC.  See macros starting with WMI_PDEV_ID_ for values. In non-DBDC case host should set it to 0. */
    A_UINT32 pdev_id;
} wmi_request_unified_ll_get_sta_cmd_fixed_param;
#define WLM_STATS_REQ_LINK          0x00000001
typedef struct {
    A_UINT32 tlv_header; /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_request_wlm_stats_cmd_fixed_param */
@@ -11909,28 +11928,28 @@ typedef struct {
#define WMI_BEACON_TMPLT_PROFILE_PERIOD_BITPOS  (0)
#define WMI_BEACON_TMPLT_PROFILE_PERIOD_MASK    (0xff << WMI_BEACON_TMPLT_PROFILE_PERIOD_BITPOS)
#define WMI_BEACON_TMPLT_SET_PROFILE_PERIOD(_ema_param, _val) \
    WMI_SET_BITS(_ema_param, WMI_BEACON_TMPLT_PROFILE_PERIOD_BITPOS, 8, value)
    WMI_SET_BITS(_ema_param, WMI_BEACON_TMPLT_PROFILE_PERIOD_BITPOS, 8, _val)
#define WMI_BEACON_TMPLT_GET_PROFILE_PERIOD(_ema_param) \
    WMI_GET_BITS(_ema_param, WMI_BEACON_TMPLT_PROFILE_PERIOD_BITPOS, 8)
#define WMI_BEACON_TMPLT_TEMPLATE_INDEX_BITPOS  (8)
#define WMI_BEACON_TMPLT_TEMPLATE_INDEX_MASK    (0xff << WMI_BEACON_TMPLT_TEMPLATE_INDEX_BITPOS)
#define WMI_BEACON_TMPLT_SET_TEMPLATE_INDEX(_ema_param, _val) \
    WMI_SET_BITS(_ema_param, WMI_BEACON_TMPLT_TEMPLATE_INDEX_BITPOS, 8, value)
    WMI_SET_BITS(_ema_param, WMI_BEACON_TMPLT_TEMPLATE_INDEX_BITPOS, 8, _val)
#define WMI_BEACON_TMPLT_GET_TEMPLATE_INDEX(_ema_param) \
    WMI_GET_BITS(_ema_param, WMI_BEACON_TMPLT_TEMPLATE_INDEX_BITPOS, 8)
#define WMI_BEACON_TMPLT_FIRST_TEMPLATE_BITPOS  (16)
#define WMI_BEACON_TMPLT_FIRST_TEMPLATE_MASK    (0xff << WMI_BEACON_TMPLT_FIRST_TEMPLATE_BITPOS)
#define WMI_BEACON_TMPLT_SET_FIRST_TEMPLATE(_ema_param, _val) \
    WMI_SET_BITS(_ema_param, WMI_BEACON_TMPLT_FIRST_TEMPLATE_BITPOS, 8, value)
    WMI_SET_BITS(_ema_param, WMI_BEACON_TMPLT_FIRST_TEMPLATE_BITPOS, 8, _val)
#define WMI_BEACON_TMPLT_GET_FIRST_TEMPLATE(_ema_param) \
    WMI_GET_BITS(_ema_param, WMI_BEACON_TMPLT_FIRST_TEMPLATE_BITPOS, 8)
#define WMI_BEACON_TMPLT_LAST_TEMPLATE_BITPOS  (24)
#define WMI_BEACON_TMPLT_LAST_TEMPLATE_MASK    (0xff << WMI_BEACON_TMPLT_LAST_TEMPLATE_BITPOS)
#define WMI_BEACON_TMPLT_SET_LAST_TEMPLATE(_ema_param, _val) \
    WMI_SET_BITS(_ema_param, WMI_BEACON_TMPLT_LAST_TEMPLATE_BITPOS, 8, value)
    WMI_SET_BITS(_ema_param, WMI_BEACON_TMPLT_LAST_TEMPLATE_BITPOS, 8, _val)
#define WMI_BEACON_TMPLT_GET_LAST_TEMPLATE(_ema_param) \
    WMI_GET_BITS(_ema_param, WMI_BEACON_TMPLT_LAST_TEMPLATE_BITPOS, 8)
@@ -13384,6 +13403,20 @@ enum WMI_PEER_STA_TYPE {
#define WMI_PEER_STA_TYPE_GET(dword)        WMI_GET_BITS(dword, 0, 8)
#define WMI_PEER_STA_TYPE_SET(dword, value) WMI_SET_BITS(dword, 0, 8, value)
#define WMI_PEER_ASSOC_BSS_MAX_IDLE_OPTION_BITPOS  (0)
#define WMI_PEER_ASSOC_BSS_MAX_IDLE_OPTION_MASK    (0x1 << WMI_PEER_ASSOC_BSS_MAX_IDLE_OPTION_BITPOS)
#define WMI_PEER_ASSOC_SET_BSS_MAX_IDLE_OPTION(_dword, _val) \
    WMI_SET_BITS(_dword, WMI_PEER_ASSOC_BSS_MAX_IDLE_OPTION_BITPOS, 1, _val)
#define WMI_PEER_ASSOC_GET_BSS_MAX_IDLE_OPTION(_dword) \
    WMI_GET_BITS(_dword, WMI_PEER_ASSOC_BSS_MAX_IDLE_OPTION_BITPOS, 1)
#define WMI_PEER_ASSOC_BSS_MAX_IDLE_PERIOD_BITPOS  (16)
#define WMI_PEER_ASSOC_BSS_MAX_IDLE_PERIOD_MASK    (0xFFFF << WMI_PEER_ASSOC_BSS_MAX_IDLE_PERIOD_BITPOS)
#define WMI_PEER_ASSOC_SET_BSS_MAX_IDLE_PERIOD(_dword, _val) \
    WMI_SET_BITS(_dword, WMI_PEER_ASSOC_BSS_MAX_IDLE_PERIOD_BITPOS, 16, _val)
#define WMI_PEER_ASSOC_GET_BSS_MAX_IDLE_PERIOD(_dword) \
    WMI_GET_BITS(_dword, WMI_PEER_ASSOC_BSS_MAX_IDLE_PERIOD_BITPOS, 16)
typedef struct {
    A_UINT32 tlv_header; /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_peer_assoc_complete_cmd_fixed_param */
    /** peer MAC address */
@@ -13481,6 +13514,20 @@ typedef struct {
     */
    A_UINT32 sta_type;
    /*
     * @bss_max_idle_option - Parameters exchanged for BSS Max Idle capability.
     * bit 0       : If set, only a protected frame indicates activity.
     *               If cleared, either an unprotected or a protected frame
     *               indicates activity.
     *               Refer to the WMI_PEER_ASSOC_[SET,GET]_BSS_MAX_IDLE_OPTION
     *               macros.
     * bit [1:15]  : Reserved
     * bit [16:31] : Max idle period in units of 1000 TUs
     *               Refer to the WMI_PEER_ASSOC_[SET,GET]_BSS_MAX_IDLE_PERIOD
     *               macros.
     */
    A_UINT32 bss_max_idle_option;
/* Following this struct are the TLV's:
 *     A_UINT8 peer_legacy_rates[];
 *     A_UINT8 peer_ht_rates[];
@@ -13810,6 +13857,7 @@ typedef struct {
     * wmi_roam_earlystop_rssi_thres_param earlystop_param;
     * wmi_roam_dense_thres_param dense_param;
     * wmi_roam_bg_scan_roaming_param bg_scan_param;
     * wmi_roam_data_rssi_roaming_param data_rssi_param;
     */
} wmi_roam_scan_rssi_threshold_fixed_param;
@@ -14048,6 +14096,8 @@ typedef struct {
#define WMI_AP_PROFILE_FLAG_CRYPTO 0x2
/** looking for a PMF enabled AP */
#define WMI_AP_PROFILE_FLAG_PMF    0x4
/** If this flag is set roam to SAE_H2E (Hash to Element) enabled APs only */
#define WMI_AP_PROFILE_FLAG_SAE_H2E 0x8
/* the value used in wmi_roam_cnd_scoring_param->disable_bitmap */
#define WLAN_ROAM_SCORING_RSSI_DISABLE                  0x00000001
@@ -14298,6 +14348,12 @@ typedef struct {
     * Only used if oce_ap_subnet_id_weightage_pcnt != 0.
     */
    A_UINT32 oce_ap_subnet_id_weightage_pcnt;
    /*
     * Give weightage to SAE-PK (Simulataneous Authentication of Equals -
     * Public Key) enabled network APs.
     * Only used if sae_pk_ap_weightage_pcnt != 0.
     */
    A_UINT32 sae_pk_ap_weightage_pcnt;
} wmi_roam_cnd_scoring_param;
typedef struct {
@@ -14420,6 +14476,34 @@ typedef struct {
    A_UINT32 flags;
} wmi_roam_bg_scan_roaming_param;
/*
 * If there's rx activity during rx_inactivity_ms and avg of data_rssi
 * is better than roam_data_rssi_thres, then suppress low rssi roaming.
 */
#define WMI_ROAM_DATA_RSSI_FLAG_LOW_RSSI   0x00000001
/*
 * If there's no rx activity during rx_inactivity_ms or avg of data_rssi
 * is better than roam_data_rssi_thres, then suppress this background roaming.
 */
#define WMI_ROAM_DATA_RSSI_FLAG_BACKGROUND 0x00000002
typedef struct {
    /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_roam_data_rssi_roaming_param */
    A_UINT32 tlv_header;
    /* flags for when consider data_rssi,
     * valid values are OR operation of WMI_ROAM_DATA_RSSI_FLAG_ .
     * value 0 to disable the feature.
     */
    A_UINT32 flags;
    /**
     * RSSI threshold in dBm above which roaming scan will be supressed
     * during some roaming trigger.
     */
    A_INT32 roam_data_rssi_thres;
    /** rx inactivity time, in unit of milliseconds. */
    A_UINT32 rx_inactivity_ms;
} wmi_roam_data_rssi_roaming_param;
/** Beacon filter wmi command info */
#define BCN_FLT_MAX_SUPPORTED_IES    256
@@ -19209,6 +19293,13 @@ enum {
     * lower_thresh_degreeC.
     */
    WMI_THERMAL_MGMT_ACTION_NOTIFY_HOST = 2,
    /* CHAIN SCALING -
     * The target will switch tx chain mask from multi chains to single chain
     * if the temperature rises above upper_thresh_degreeC.
     * The target will switch tx chainmask back to multi chains if the
     * temperature drops below upper_thresh_degreeC.
     */
    WMI_THERMAL_MGMT_ACTION_CHAINSCALING = 3,
};
typedef struct {
@@ -26959,6 +27050,7 @@ static INLINE A_UINT8 *wmi_id_to_name(A_UINT32 wmi_command)
        WMI_RETURN_STRING(WMI_PDEV_GET_TPC_STATS_CMDID);
        WMI_RETURN_STRING(WMI_AUDIO_AGGR_SET_SCHED_METHOD_CMDID);
        WMI_RETURN_STRING(WMI_AUDIO_AGGR_GET_SCHED_METHOD_CMDID);
        WMI_RETURN_STRING(WMI_REQUEST_UNIFIED_LL_GET_STA_CMDID);
    }
    return "Invalid WMI cmd";
@@ -28869,6 +28961,7 @@ typedef enum {
    WMI_ROAM_CND_OCE_WAN_SCORING          = 0x00000400, /* FW considers OCE WAN metrics scoring */
    WMI_ROAM_CND_OCE_AP_TX_PWR_SCORING    = 0x00000800, /* FW considers OCE AP Tx power scoring */
    WMI_ROAM_CND_OCE_AP_SUBNET_ID_SCORING = 0x00001000, /* FW considers OCE AP subnet id scoring */
    WMI_ROAM_CND_SAE_PK_AP_SCORING        = 0x00002000, /* FW considers SAE-PK enabled AP scoring */
} WMI_ROAM_CND_SCORING_PARAMS;
typedef struct {
Loading