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

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

Merge 8e71e534 on remote branch

Change-Id: Iebaaf46dac0b46d4ef4e6a40a49f638267e6441c
parents 344bd277 8e71e534
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -816,6 +816,11 @@ typedef enum {
    HTT_STATS_PDEV_MLO_IPC_STATS_TAG               = 191, /* htt_pdev_mlo_ipc_stats_tlv */
    HTT_STATS_WHAL_WSI_TAG                         = 192, /* htt_stats_whal_wsi_tlv */
    HTT_STATS_LATENCY_PROF_CAL_DATA_TAG            = 193, /* htt_stats_latency_prof_cal_data_tlv */
    HTT_STATS_PDEV_RTT_RESP_STATS_TAG              = 194, /* htt_stats_pdev_rtt_resp_stats_tlv */
    HTT_STATS_PDEV_RTT_INIT_STATS_TAG              = 195, /* htt_stats_pdev_rtt_init_stats_tlv */
    HTT_STATS_PDEV_RTT_HW_STATS_TAG                 = 196, /* htt_stats_pdev_rtt_hw_stats_tlv */
    HTT_STATS_PDEV_RTT_TBR_SELFGEN_QUEUED_STATS_TAG = 197, /* htt_stats_pdev_rtt_tbr_selfgen_queued_stats_tlv */
    HTT_STATS_PDEV_RTT_TBR_CMD_RESULT_STATS_TAG     = 198, /* htt_stats_pdev_rtt_tbr_cmd_result_stats_tlv */
    HTT_STATS_MAX_TAG,
+41 −5
Original line number Diff line number Diff line
/*
 * Copyright (c) 2017-2021 The Linux Foundation. All rights reserved.
 * Copyright (c) 2021-2023 Qualcomm Innovation Center, Inc. All rights reserved.
 * Copyright (c) 2021-2024 Qualcomm Innovation Center, Inc. All rights reserved.
 *
 * Permission to use, copy, modify, and/or distribute this software for
 * any purpose with or without fee is hereby granted, provided that the
@@ -28,6 +28,42 @@
#include <htt_stats.h>
#include <htt_common.h> /* HTT_STATS_MAX_CHAINS */


/* HTT_PPDU_STATS_VAR_LEN_ARRAY1:
 * This macro is for converting the definition of existing variable-length
 * arrays within HTT PPDU stats structs of the form "type name[1];" to use
 * the form "type name[];" while ensuring that the length of the TLV struct
 * is unmodified by the conversion.
 * In general, any new variable-length structs should simply use
 * "type name[];" directly, rather than using HTT_PPDU_STATS_VAR_LEN_ARRAY1.
 * However, if there's a legitimate reason to make the new variable-length
 * struct appear to not have a variable length, HTT_PPDU_STATS_VAR_LEN_ARRAY1
 * can be used for this purpose.
 */
#if defined(ATH_TARGET) || defined(__WINDOWS__)
    #define HTT_PPDU_STATS_VAR_LEN_ARRAY1(type, name) type name[1]
#else
    /*
     * Certain build settings of the Linux kernel don't allow zero-element
     * arrays, and C++ doesn't allow zero-length empty structs.
     * Confirm that there's no build that combines kernel with C++.
     */
    #ifdef __cplusplus
        #error unsupported combination of kernel and C plus plus
    #endif
    #define HTT_PPDU_STATS_DUMMY_ZERO_LEN_FIELD struct {} dummy_zero_len_field

    #define HTT_PPDU_STATS_VAR_LEN_ARRAY1(type, name) \
        union { \
            type name ## __first_elem; \
            struct { \
                HTT_PPDU_STATS_DUMMY_ZERO_LEN_FIELD; \
                type name[]; \
            };  \
        }
#endif


#define HTT_STATS_NUM_SUPPORTED_BW_SMART_ANTENNA 4 /* 20, 40, 80, 160 MHz */

#define HTT_BA_64_BIT_MAP_SIZE_DWORDS 2
@@ -298,7 +334,7 @@ typedef struct {
         * The hw portion of this struct contains a scheduler_command_status
         * struct, whose definition is different for different target HW types.
         */
        A_UINT32 hw[1];
        HTT_PPDU_STATS_VAR_LEN_ARRAY1(A_UINT32, hw);
    };
} htt_ppdu_stats_sch_cmd_tlv_v;

@@ -2888,7 +2924,7 @@ typedef struct {
     * (in bytes) can be derived from the length in tlv parameters,
     * minus the 12 bytes of the above fields.
     */
    A_UINT32 payload[1];
    HTT_PPDU_STATS_VAR_LEN_ARRAY1(A_UINT32, payload);
} htt_ppdu_stats_tx_mgmtctrl_payload_tlv;

#define HTT_PPDU_STATS_RX_MGMTCTRL_TLV_FRAME_LENGTH_M     0x0000ffff
@@ -2930,7 +2966,7 @@ typedef struct {
     * (in bytes) can be derived from the length in tlv parameters,
     * minus the 12 bytes of the above fields.
     */
    A_UINT32 payload[1];
    HTT_PPDU_STATS_VAR_LEN_ARRAY1(A_UINT32, payload);
} htt_ppdu_stats_rx_mgmtctrl_payload_tlv;

#define HTT_PPDU_STATS_USERS_INFO_TLV_MAX_USERS_M   0x000000ff
@@ -2997,7 +3033,7 @@ typedef struct {
             win_size   : 8,
             reserved2  : 3;
    /* The number of elements in the ba_bitmap array depends on win_size. */
    A_UINT32 ba_bitmap[1];
    HTT_PPDU_STATS_VAR_LEN_ARRAY1(A_UINT32, ba_bitmap);
} htt_ppdu_stats_for_smu_tlv;

typedef struct {
+1146 −100

File changed.

Preview size limit exceeded, changes collapsed.

+3 −1
Original line number Diff line number Diff line
/*
 * Copyright (c) 2011-2021 The Linux Foundation. All rights reserved.
 * Copyright (c) 2021-2023 Qualcomm Innovation Center, Inc. All rights reserved.
 * Copyright (c) 2021-2024 Qualcomm Innovation Center, Inc. All rights reserved.
 *
 * Previously licensed under the ISC license by Qualcomm Atheros, Inc.
 *
@@ -653,6 +653,8 @@ typedef enum {
    WMI_SERVICE_WIFI_RADAR_SUPPORT = 400, /* FW supports wifi radar */
    WMI_SERVICE_P2P_DEVICE_UPDATE_MAC_ADDR_SUPPORT = 401, /* indicate FW support dynamic update mac address for P2P device */
    WMI_SERVICE_DCS_OBSS_INT_SUPPORT = 402, /* Indicates FW supports OBSS Interference detection */
    WMI_SERVICE_DYNAMIC_WSI_REMAP_SUPPORT = 403, /* WSI bypass remap is supported by Firmware */
    WMI_SERVICE_QMS_DLKM_SUPPORT = 404, /* FW code has qms_dlkm support enabled */


    WMI_MAX_EXT2_SERVICE
+13 −2
Original line number Diff line number Diff line
/*
 * Copyright (c) 2010-2021 The Linux Foundation. All rights reserved.
 * Copyright (c) 2021-2023 Qualcomm Innovation Center, Inc. All rights reserved.
 * Copyright (c) 2021-2024 Qualcomm Innovation Center, Inc. All rights reserved.
 *
 * Previously licensed under the ISC license by Qualcomm Atheros, Inc.
 *
@@ -2293,6 +2293,7 @@ typedef enum {
    OP(WMI_VDEV_OOB_CONNECTION_RESP_EVENTID) \
    OP(WMI_AUDIO_TRANSPORT_SWITCH_TYPE_EVENTID) \
    OP(WMI_PDEV_WIFI_RADAR_CAL_COMPLETION_STATUS_EVENTID) \
    OP(WMI_MLO_LINK_INFO_SYNC_EVENTID) \
    /* add new EVT_LIST elements above this line */


@@ -5630,7 +5631,7 @@ WMITLV_CREATE_PARAM_STRUC(WMI_SERVICE_READY_EXT_EVENTID);
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_aux_dev_capabilities, aux_dev_caps, WMITLV_SIZE_VAR) \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_enhanced_aoa_caps_param, aoa_caps_param, WMITLV_SIZE_VAR) \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_enhanced_aoa_per_band_caps_param, aoa_per_band_caps_param, WMITLV_SIZE_VAR) \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_sar_flags, wmi_sar_flag_tlv_param, sar_flags, WMITLV_SIZE_VAR)
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_sar_flag_tlv_param, sar_flags, WMITLV_SIZE_VAR)
WMITLV_CREATE_PARAM_STRUC(WMI_SERVICE_READY_EXT2_EVENTID);

#define WMITLV_TABLE_WMI_SPECTRAL_CAPABILITIES_EVENTID(id,op,buf,len) \
@@ -5856,6 +5857,16 @@ WMITLV_CREATE_PARAM_STRUC(WMI_MGMT_RX_EVENTID);
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_mgmt_rx_fw_consumed_hdr, wmi_mgmt_rx_fw_consumed_hdr, hdr, WMITLV_SIZE_FIX)
    WMITLV_CREATE_PARAM_STRUC(WMI_MGMT_RX_FW_CONSUMED_EVENTID);

/* Management MLO LINK Info Sync Event */
#define WMITLV_TABLE_WMI_MLO_LINK_INFO_SYNC_EVENTID(id,op,buf,len)                                                                                                 \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_mgmt_ml_info, ml_info, WMITLV_SIZE_VAR) \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_BYTE, A_UINT8, bpcc_bufp, WMITLV_SIZE_VAR) \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_is_my_mgmt_frame, my_frame, WMITLV_SIZE_VAR) \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_mlo_link_removal_tbtt_count, link_removal_tbtt_count, WMITLV_SIZE_VAR) \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_mlo_bcast_t2lm_info, mlo_bcast_t2lm_info, WMITLV_SIZE_VAR) \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_BYTE, A_UINT8, ie_data, WMITLV_SIZE_VAR)
WMITLV_CREATE_PARAM_STRUC(WMI_MLO_LINK_INFO_SYNC_EVENTID);

/* TBTT offset Event */
#define WMITLV_TABLE_WMI_TBTTOFFSET_UPDATE_EVENTID(id,op,buf,len)                                                         \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_tbtt_offset_event_fixed_param, wmi_tbtt_offset_event_fixed_param, fixed_param, WMITLV_SIZE_FIX) \
Loading