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

Commit 0b117071 authored by derfelot's avatar derfelot
Browse files

drivers: staging: Update qcacld-3.0 to LA.UM.6.4.r1-10300-8x98.0

parent 48e9f2f3
Loading
Loading
Loading
Loading
+66 −1
Original line number Diff line number Diff line
@@ -166,9 +166,10 @@
 * 3.49 Add HTT_T2H_MSG_TYPE_MONITOR_MAC_HEADER_IND def
 * 3.50 Add learning_frame flag to htt_tx_msdu_desc_ext2_t
 * 3.51 Add SW peer ID and TID num to HTT TX WBM COMPLETION
 * 3.52 Add HTT_T2H FLOW_POOL_RESIZE msg def
 */
#define HTT_CURRENT_VERSION_MAJOR 3
#define HTT_CURRENT_VERSION_MINOR 51
#define HTT_CURRENT_VERSION_MINOR 52

#define HTT_NUM_TX_FRAG_DESC  1024

@@ -5564,6 +5565,7 @@ enum htt_t2h_msg_type {
    HTT_T2H_MSG_TYPE_PEER_MAP_V2              = 0x1e,
    HTT_T2H_MSG_TYPE_PEER_UNMAP_V2            = 0x1f,
    HTT_T2H_MSG_TYPE_MONITOR_MAC_HEADER_IND   = 0x20,
    HTT_T2H_MSG_TYPE_FLOW_POOL_RESIZE         = 0x21,

    HTT_T2H_MSG_TYPE_TEST,
    /* keep this last */
@@ -10474,5 +10476,68 @@ typedef struct {
    (((word) & HTT_T2H_MONITOR_MAC_HEADER_NUM_MPDU_M) >> \
    HTT_T2H_MONITOR_MAC_HEADER_NUM_MPDU_S)

/**
 * @brief HTT_T2H_MSG_TYPE_FLOW_POOL_RESIZE Message
 *
 * @details
 *  HTT_T2H_MSG_TYPE_FLOW_POOL_RESIZE message is sent by the target when
 *  the flow pool associated with the specified ID is resized
 *
 *  The message would appear as follows:
 *
 *     |31            24|23            16|15             8|7              0|
 *     |----------------+----------------+----------------+----------------|
 *     |               flow Pool ID      |  reserved0     | Msg type       |
 *     |-------------------------------------------------------------------|
 *     |               reserved1         |      flow pool new size         |
 *     |-------------------------------------------------------------------|
 *
 *  The message is interpreted as follows:
 *  b'0:7   - msg_type: This will be set to
 *            HTT_T2H_MSG_TYPE_FLOW_POOL_RESIZE
 *
 *  b'8:15  - flow pool ID: Existing flow pool ID
 *
 *  b'16:31 - flow pool new size: new pool size for exisiting flow pool ID
 *
 */

PREPACK struct htt_flow_pool_resize_t {
    A_UINT32 msg_type:8,
             reserved0:8,
             flow_pool_id:16;
    A_UINT32 flow_pool_new_size:16,
             reserved1:16;
} POSTPACK;

#define HTT_FLOW_POOL_RESIZE_SZ  (sizeof(struct htt_flow_pool_resize_t))

#define HTT_FLOW_POOL_RESIZE_FLOW_POOL_ID_M      0xffff0000
#define HTT_FLOW_POOL_RESIZE_FLOW_POOL_ID_S      16

#define HTT_FLOW_POOL_RESIZE_FLOW_POOL_NEW_SIZE_M    0x0000ffff
#define HTT_FLOW_POOL_RESIZE_FLOW_POOL_NEW_SIZE_S    0


#define HTT_FLOW_POOL_RESIZE_FLOW_POOL_ID_GET(_var)    \
    (((_var) & HTT_FLOW_POOL_RESIZE_FLOW_POOL_ID_M) >> \
            HTT_FLOW_POOL_RESIZE_FLOW_POOL_ID_S)

#define HTT_FLOW_POOL_RESIZE_FLOW_POOL_ID_SET(_var, _val)            \
    do {                                                            \
        HTT_CHECK_SET_VAL(HTT_FLOW_POOL_RESIZE_FLOW_POOL_ID, _val);  \
        ((_var) |= ((_val) << HTT_FLOW_POOL_RESIZE_FLOW_POOL_ID_S)); \
    } while (0)


#define HTT_FLOW_POOL_RESIZE_FLOW_POOL_NEW_SIZE_GET(_var)    \
        (((_var) & HTT_FLOW_POOL_RESIZE_FLOW_POOL_NEW_SIZE_M) >> \
                HTT_FLOW_POOL_RESIZE_FLOW_POOL_NEW_SIZE_S)

#define HTT_FLOW_POOL_RESIZE_FLOW_POOL_NEW_SIZE_SET(_var, _val)            \
    do {                                                            \
        HTT_CHECK_SET_VAL(HTT_FLOW_POOL_RESIZE_FLOW_POOL_NEW_SIZE, _val);  \
        ((_var) |= ((_val) << HTT_FLOW_POOL_RESIZE_FLOW_POOL_NEW_SIZE_S)); \
    } while (0)

#endif
+84 −73
Original line number Diff line number Diff line
/*
 * Copyright (c) 2011, 2014-2016 The Linux Foundation. All rights reserved.
 * Copyright (c) 2011-2018 The Linux Foundation. All rights reserved.
 *
 * Previously licensed under the ISC license by Qualcomm Atheros, Inc.
 *
@@ -100,6 +100,17 @@ typedef enum {
  WLAN_MODULE_P2P_LISTEN_OFFLOAD,       /* 0x42 */
  WLAN_MODULE_HALPHY,                   /* 0x43 */
  WAL_MODULE_ENQ,                       /* 0x44 */
  WLAN_MODULE_GNSS,                     /* 0x45 */
  WLAN_MODULE_WAL_MEM,                  /* 0x46 */
  WLAN_MODULE_SCHED_ALGO,               /* 0x47 */
  WLAN_MODULE_TX,                       /* 0x48 */
  WLAN_MODULE_RX,                       /* 0x49 */
  WLAN_MODULE_WLM,                      /* 0x4a */
  WLAN_MODULE_RU_ALLOCATOR,             /* 0x4b */
  WLAN_MODULE_11K_OFFLOAD,              /* 0x4c */
  WLAN_MODULE_STA_TWT,                  /* 0x4d */
  WLAN_MODULE_AP_TWT,                   /* 0x4e */
  WLAN_MODULE_UL_OFDMA,                 /* 0x4f */

  WLAN_MODULE_ID_MAX,
  WLAN_MODULE_ID_INVALID = WLAN_MODULE_ID_MAX,
+1 −0
Original line number Diff line number Diff line
@@ -254,6 +254,7 @@ typedef enum {
    WMI_SERVICE_DUAL_BEACON_ON_SINGLE_MAC_SCC_SUPPORT=158, /* Support dual beacon on same channel on single MAC */
    WMI_SERVICE_DUAL_BEACON_ON_SINGLE_MAC_MCC_SUPPORT=159, /* Support dual beacon on different channel on single MAC */
    WMI_SERVICE_MOTION_DET=160, /* support for motion detection config */
    WMI_SERVICE_INFRA_MBSSID=161, /* support infra multi-BSSID feature */


    /******* ADD NEW SERVICES HERE *******/
+157 −2
Original line number Diff line number Diff line
@@ -2315,6 +2315,11 @@ typedef struct {
     * is equal to or less than the target capability limit reported here.
     */
    A_UINT32 max_nlo_ssids;
    /* ref to section 8.4.2.48 Multiple BSSID element
     * The Max BSSID Indicator field contains a value assigned to n,
     * where 2^n is the maximum number of BSSIDs
     */
    A_UINT32 max_bssid_indicator;
} wmi_service_ready_ext_event_fixed_param;
typedef enum {
@@ -2880,6 +2885,12 @@ typedef struct {
     *  0 - fw chooses its default value: 'num_vdevs' of this structure.
     */
    A_UINT32 num_max_sta_vdevs;
    /* ref to section 8.4.2.48 Multiple BSSID element
     * The Max BSSID Indicator field contains a value assigned to n,
     * where 2^n is the maximum number of BSSIDs
     */
    A_UINT32 max_bssid_indicator;
} wmi_resource_config;
#define WMI_RSRC_CFG_FLAG_SET(word32, flag, value) \
@@ -3154,6 +3165,8 @@ typedef struct {
    A_UINT32 num_vendor_oui;
    /** Scan control flags extended **/
    A_UINT32 scan_ctrl_flags_ext;
    /** dwell time in msec on active 2G channels, if it's not zero */
    A_UINT32 dwell_time_active_2g;
/**
 * TLV (tag length value) parameters follow the scan_cmd
@@ -5060,6 +5073,12 @@ typedef enum {
     * Bit 3-5: "Xretry threshold" to use
     */
    WMI_PDEV_PARAM_SECONDARY_RETRY_ENABLE,            /* 0xA0 */
    /** Set global uplink triggered PPDU duration limit (usec). */
    WMI_PDEV_PARAM_SET_UL_PPDU_DURATION,              /* 0xA1 */
    /** Set target buffer status report trigger interval (ms) */
    WMI_PDEV_PARAM_SET_UL_BSR_TRIG_INTERVAL,          /* 0xA2 */
    /** Use simplified equal RU allocation for DL and UL OFDMA */
    WMI_PDEV_PARAM_EQUAL_RU_ALLOCATION_ENABLE,        /* 0xA3 */
} WMI_PDEV_PARAM;
typedef struct {
@@ -7031,6 +7050,11 @@ typedef struct {
 */
} wmi_per_chain_rssi_stats;
/* vdev control flags (per bits) */
#define VDEV_FLAGS_NON_MBSSID_AP      0x00000001   /* legacy AP */
#define VDEV_FLAGS_TRANSMIT_AP        0x00000002   /* indicate if this vdev is transmitting AP */
#define VDEV_FLAGS_NON_TRANSMIT_AP    0x00000004   /* explicitly indicate this vdev is non-transmitting AP */
typedef struct {
    A_UINT32 tlv_header; /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_vdev_create_cmd_fixed_param */
    /** unique id identifying the VDEV, generated by the caller */
@@ -7048,6 +7072,10 @@ typedef struct {
     * See macros starting with WMI_PDEV_ID_ for values.
     */
    A_UINT32 pdev_id;
    /** control flags for this vdev */
    A_UINT32 flags;
    /**  vdevid of transmitted AP (mbssid case) */
    A_UINT32 vdevid_trans;
/* This TLV is followed by another TLV of array of structures
 *   wmi_vdev_txrx_streams cfg_txrx_streams[];
 */
@@ -8496,6 +8524,104 @@ typedef enum {
     */
    WMI_VDEV_PARAM_RAW_IS_ENCRYPTED,                       /* 0x84 */
    /**
     * Dynamically enable/disable green tx (GTX) on supported rates.
     * Host will set this param to 1 for enabling GTX & 0 for disabling it.
     * Note: If GTX was already running (since the global GTX control
     * resides with default BDF setting) & host wants to disable GTX,
     * the VDEV does not exercise any more TPC changes on the GTX supported
     * rates & goes to a default GTX SM where all PPDU's sent on default TPC.
     * Whenever, host wants to reenable GTX, the enable command resumes the
     * GTX functionality & TPC convergence to lower power levels can be
     * attained as long as PER on GTX supported rates is within the pre-defined
     * PER margin configured through the BDF.
     */
    WMI_VDEV_PARAM_GTX_ENABLE,                             /* 0x85 */
    /*
     * Enable/Disable multicast buffer.
     * A FLAG to enable & disable buffering of multicast frames at AP
     * when stations are in Power Save mode.
     * Once AP disables buffering of multicast frame,
     * clients which goes into Power save mode will not receive these frames.
     * by default MCAST buffering will be enabled.
     * (CABQ = Content After Beacon Queue = multicast queue)
     * Host will send this VDEV param command,
     * With Value = 1 means fw will disable the MCAST buffering
     * With Value = 0 means fw will enable the MCAST buffering.
     */
    WMI_VDEV_PARAM_DISABLE_CABQ,                          /* 0x86 */
    /**
      * For SU and MU sounding
      * switch between su ac/ax sounding and mu ac/ax sounding
      * switch between triggered/ non-triggered on ax sounding enabled.
      * each bit toggles the corresponding modes by enabling/disabling
      *
      * Bit 1 doesn't carry any operation for now and may change later,
      * so reserved.
      *
      *-----------------------
      * bit(0)   |    mode
      *-----------------------
      *       0  |  AC
      *       1  |  AX
      *-----------------------
      *
      * bit(1)   |  Reserved
      *
      *-----------------------
      * bit(2)   |    mode
      *-----------------------
      *       0  |  SU
      *       1  |  MU
      *-----------------------
      * bit(3)   |    mode
      *-----------------------
      *       0  |  non -triggered
      *       1  |  triggered
      */
    WMI_VDEV_PARAM_SET_HE_SOUNDING_MODE,                  /* 0x87 */
    /** Fixed rate setting used in UL Trigger
     * The top nibble is used to select which format to use for encoding
     * the rate specification: 0xVXXXXXXX, V must be 1 for the UL
     * format.
     * If V == 0b0001: format is: 0x1000RRRR.
     *                 This will be output of WMI_ASSEMBLE_RATECODE_V1
     *
     * This parameter controls the UL OFDMA and UL MU-MIMO vdev fixed rate.
     */
    WMI_VDEV_PARAM_UL_FIXED_RATE,                         /* 0x88 */
    /**
     * Uplink MU-MIMO & OFDMA GI configuration used in UL Trigger
     * 11AX: GI =
     *     WMI_GI_400_NS, WMI_GI_800_NS, WMI_GI_1600_NS, or WMI_GI_3200_NS
     * 11N: SGI=WMI_GI_400_NS
     */
    WMI_VDEV_PARAM_UL_GI,                                 /* 0x89 */
    /** Enable/Disable LDPC in UL Trigger */
    WMI_VDEV_PARAM_UL_LDPC,                               /* 0x8A */
    /** Max NSS allowed in UL Trigger */
    WMI_VDEV_PARAM_UL_NSS,                                /* 0x8B */
    /** Enable/Disable STBC in UL Trigger */
    WMI_VDEV_PARAM_UL_STBC,                               /* 0x8C */
    /** specify the HE LTF setting that should be used for fixed rate
     * uplink transmissions.
     *
     * Expects values of WMI_HE_LTF_DEFAULT, WMI_HE_LTF_1X, WMI_HE_LTF_2X,
     * or WMI_HE_LTF_4X.
     */
    WMI_VDEV_PARAM_UL_HE_LTF,                             /* 0x8D */
    /** Uplink OFDMA PPDU bandwidth (0: 20MHz, 1: 40MHz, 2: 80Mhz, 3: 160MHz)*/
    WMI_VDEV_PARAM_UL_PPDU_BW,                            /* 0x8E */
    /*=== ADD NEW VDEV PARAM TYPES ABOVE THIS LINE ===
     * The below vdev param types are used for prototyping, and are
@@ -8556,6 +8682,10 @@ typedef enum {
#define WMI_VDEV_HE_ULMUMIMO_ENABLE(hemu_mode) WMI_SET_BITS(hemu_mode, 6, 1, 1)
#define WMI_VDEV_HE_ULMUMIMO_DISABLE(hemu_mode) WMI_SET_BITS(hemu_mode, 6, 1, 0)
#define WMI_VDEV_HE_AX_SOUNDING_IS_ENABLED(mode) WMI_GET_BITS(mode, 0, 1)
#define WMI_VDEV_HE_MU_SOUNDING_IS_ENABLED(mode) WMI_GET_BITS(mode, 2, 1)
#define WMI_VDEV_HE_AX_TRIG_SOUNDING_IS_ENABLED(mode) WMI_GET_BITS(mode, 3, 1)
/* vdev capabilities bit mask */
#define WMI_VDEV_BEACON_SUPPORT  0x1
#define WMI_VDEV_WDS_LRN_ENABLED 0x2
@@ -8860,6 +8990,8 @@ typedef struct {
     * is 0, 1, 4 and 5, set the bitmap to (0X80000033)
     */
    A_UINT32 csa_event_bitmap;
    /** offset (in octets/bytes) of MBSSID IE in beacon frame */
    A_UINT32 mbssid_ie_offset;
/*
 * The TLVs follows:
@@ -9849,6 +9981,15 @@ typedef struct {
#define WMI_PEER_PARAM_OFDMA_ENABLE                     0x19
/* Per peer 11ax/11ac MU enable or disable */
#define WMI_PEER_PARAM_MU_ENABLE                        0x1a
/** Set peer fixed rate used in UL Trigger
 * The top nibble is used to select which format to use for encoding
 * the rate specification: 0xVXXXXXXX, V must be 1 for this parameter.
 * If V == 0b0001: format is: 0x1000RRRR.
 *                 This will be output of WMI_ASSEMBLE_RATECODE_V1
 *
 * This parameter controls the UL OFDMA and UL MU-MIMO peer fixed rate.
 */
#define WMI_PEER_PARAM_UL_FIXED_RATE                    0x1b
/** mimo ps values for the parameter WMI_PEER_MIMO_PS_STATE  */
#define WMI_PEER_MIMO_PS_NONE                          0x0
@@ -10013,6 +10154,9 @@ typedef struct {
#define WMI_PEER_DYN_MIMOPS     0x00020000  /* Dynamic MIMO PS Enabled */
#define WMI_PEER_STATIC_MIMOPS  0x00040000  /* Static MIMO PS enabled */
#define WMI_PEER_SPATIAL_MUX    0x00200000  /* SM Enabled */
#define WMI_PEER_TWT_REQ        0x00400000  /* TWT Requester Support bit in Extended Capabilities element */
#define WMI_PEER_TWT_RESP       0x00800000  /* TWT Responder Support bit in Extended Capabilities element */
#define WMI_PEER_MULTI_BSSID    0x01000000  /* Multiple BSSID Support bit in Extended Capabilities element */
#define WMI_PEER_VHT            0x02000000  /* VHT Enabled */
#define WMI_PEER_80MHZ          0x04000000  /* 80MHz enabld */
#define WMI_PEER_PMF            0x08000000  /* Robust Management Frame Protection enabled */
@@ -13230,6 +13374,12 @@ typedef enum
    WMI_VENDOR_OUI_ACTION_CCKM_1X1 = 2,       /* TX (only) CCKM rates with 1 chain only */
    WMI_VENDOR_OUI_ACTION_ALT_ITO = 3, /* inactivity time-out */
    WMI_VENDOR_OUI_ACTION_SWITCH_TO_11N_MODE = 4, /* Switch from 11ac to 11n mode to avoid IOT issues with ONM frame */
    /* WMI_VENDOR_OUI_ACTION_CONNECTION_1X1_NUM_TX_RX_CHAINS_1
     * Connect in 1x1 only and Use only one chain for both Tx and Rx
     * to avoid IOT issues due to change in number of Tx and Rx chains
     */
    WMI_VENDOR_OUI_ACTION_CONNECTION_1X1_NUM_TX_RX_CHAINS_1 = 5,
    /* Add any action before this line */
    WMI_VENDOR_OUI_ACTION_MAX_ACTION_ID
} wmi_vendor_oui_action_id;
@@ -22306,9 +22456,13 @@ typedef enum {
#define WLM_FLAGS_ROAM_SUPPRESS  1
#define WLM_FLAGS_ALLOW_FINAL_BMISS_ROAM 2
/* bit 8-9: reserved for roaming */
/* bit 8: reserved for roaming */
/* bit 9-11 of flags is used for powersave operation */
/* bit 9: WLM_FLAGS_PS_DISABLE_BMPS, disable BMPS if bit is set */
#define WLM_FLAGS_PS_DISABLE_BMPS 1 /* disable BMPS */
/* bit 10-11 of flags is used for powersave operation */
/* bit 10: WLM_FLAGS_PS_DISABLE_CSS_COLLAPSE, disable css power collapse if bit is set */
#define WLM_FLAGS_PS_DISABLE_CSS_COLLAPSE  1  /* disable css power collapse */
@@ -22328,6 +22482,7 @@ typedef enum {
#define WLM_FLAGS_SCAN_SET_DWELL_TIME_POLICY(flag, val)   WMI_SET_BITS(flag, 2, 2, val)
#define WLM_FLAGS_ROAM_GET_POLICY(flag)                   WMI_GET_BITS(flag, 6, 2)
#define WLM_FLAGS_ROAM_SET_POLICY(flag, val)              WMI_SET_BITS(flag, 6, 2, val)
#define WLM_FLAGS_PS_IS_BMPS_DISABLED(flag)               WMI_GET_BITS(flag, 9, 1)
#define WLM_FLAGS_PS_IS_CSS_CLPS_DISABLED(flag)           WMI_GET_BITS(flag, 10, 1)
#define WLM_FLAGS_PS_SET_CSS_CLPS_DISABLE(flag, val)      WMI_SET_BITS(flag, 10, 1, val)
#define WLM_FLAGS_PS_IS_SYS_SLP_DISABLED(flag)            WMI_GET_BITS(flag, 11, 1)
+1 −1
Original line number Diff line number Diff line
@@ -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_ 542
#define __WMI_REVISION_ 551

/** The Version Namespace should not be normally changed. Only
 *  host and firmware of the same WMI namespace will work
Loading