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

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

Merge 4e6dc0c6 on remote branch

Change-Id: I710e1d3651158b8f16e085b2c3f78ab105970846
parents fb0d2ef6 4e6dc0c6
Loading
Loading
Loading
Loading
+77 −5
Original line number Diff line number Diff line
@@ -206,9 +206,13 @@ typedef enum {
    /* NOTE:
     * The above service flags are delivered in the wmi_service_bitmap field
     * of the WMI_SERVICE_READY_EVENT message.
     * The below service flags are delivered in a WMI_SERVICE_AVAILABLE_EVENT
     * message rather than in the WMI_SERVICE_READY_EVENT message's
     * wmi_service_bitmap field.
     * The below service flags are not delivered in the
     * WMI_SERVICE_READY_EVENT message's wmi_service_bitmap field,
     * but instead are delivered in the
     *     fixed_param.wmi_service_segment_bitmap portion
     * of the WMI_SERVICE_AVAILABLE_EVENT message, with
     *     fixed_param.wmi_service_segment_offset
     * set to 128.
     * The WMI_SERVICE_AVAILABLE_EVENT message immediately precedes the
     * WMI_SERVICE_READY_EVENT message.
     */
@@ -432,17 +436,41 @@ typedef enum {
    WMI_SERVICE_NDI_NDI_STA_SUPPORT = 241, /* Indicates FW support for STA+NDI+NDI */
    WMI_SERVICE_BW_TRUE_160_SUPPORT = 242, /* Indicates FW supports true 160 BW */
    WMI_SERVICE_HOST_SCAN_STOP_VDEV_ALL_SUPPORT = 243, /* Indicates FW supports scan stop mode WMI_SCN_STOP_HOST_VAP_ALL */
    WMI_SERVICE_BEACON_PROTECTION_SUPPORT = 244, /* Indicates FW supports WPA3 Beacon protection */


    /******* ADD NEW SERVICES HERE *******/
    /******* ADD NEW SERVICES UP TO 256 HERE *******/

    WMI_MAX_EXT_SERVICE
    WMI_MAX_EXT_SERVICE = 256,

    /* NOTE:
     * The above service flags are delivered in the
     *     fixed_param.wmi_service_segment_bitmap portion
     * of the WMI_SERVICE_AVAILABLE_EVENT message, with
     *     fixed_param.wmi_service_segment_offset
     * set to 128.
     * The below service flags can be delivered in one of two ways:
     * 1.  The target can deliver a 2nd SERVICE_AVAILABLE message, with
     *         fixed_param.wmi_service_segment_offset
     *     set to 256.
     *     (This method is acceptable, but not recommended.)
     * 2.  The target can populate the wmi_service_ext_bitmap[] TLV array
     *     within the WMI_SERVICE_AVAILABLE_EVENT message.
     *     (This method is recommended.)
     */


    /******* ADD NEW SERVICES 256 AND BEYOND HERE *******/


    WMI_MAX_EXT2_SERVICE

} WMI_SERVICE;

#define WMI_SERVICE_BM_SIZE   ((WMI_MAX_SERVICE + sizeof(A_UINT32)- 1)/sizeof(A_UINT32))

#define WMI_NUM_EXT_SERVICES (WMI_MAX_EXT_SERVICE - WMI_MAX_SERVICE)
#define WMI_NUM_EXT2_SERVICES (WMI_MAX_EXT2_SERVICE - WMI_MAX_EXT_SERVICE)

/*
 * TEMPORARY WORKAROUND
@@ -510,6 +538,50 @@ typedef enum {
            (((pwmi_svc_ext_bmap)[((svc_id) - WMI_MAX_SERVICE) / 32] >> \
                ((svc_id) & 0x1f)) & 0x1))

#define WMI_SERVICE_EXT2_ENABLE( \
    pwmi_svc_bmap, pwmi_svc_ext_bmap, pwmi_svc_ext2_bmap, svc_id) \
    do { \
        if (svc_id < WMI_MAX_SERVICE) { \
            WMI_SERVICE_ENABLE(pwmi_svc_bmap, svc_id); \
        } else if (svc_id < WMI_MAX_EXT_SERVICE) { \
            WMI_SERVICE_EXT_ENABLE(pwmi_svc_bmap, pwmi_svc_ext_bmap, svc_id); \
        } else { \
            int word = ((svc_id) - WMI_MAX_EXT_SERVICE) / 32; \
            int bit = (svc_id) & 0x1f; /* svc_id mod 32 */ \
            (pwmi_svc_ext2_bmap)[word] |= (1 << bit); \
        } \
    } while (0)

#define WMI_SERVICE_EXT2_DISABLE( \
    pwmi_svc_bmap, pwmi_svc_ext_bmap, pwmi_svc_ext2_bmap, svc_id) \
    do { \
        if (svc_id < WMI_MAX_SERVICE) { \
            WMI_SERVICE_DISABLE(pwmi_svc_bmap, svc_id); \
        } else if (svc_id < WMI_MAX_EXT_SERVICE) { \
            WMI_SERVICE_DISABLE(pwmi_svc_bmap, pwmi_svc_ext_bmap, svc_id); \
        } else { \
            int word = ((svc_id) - WMI_MAX_EXT_SERVICE) / 32; \
            int bit = (svc_id) & 0x1f; /* svc_id mod 32 */ \
            (pwmi_svc_ext2_bmap)[word] &= ~(1 << bit); \
        } \
    } while (0)

#define WMI_SERVICE_EXT2_IS_ENABLED( \
    pwmi_svc_bmap, pwmi_svc_ext_bmap, pwmi_svc_ext2_bmap, svc_id) \
    /* If the service ID is beyond the known limit, treat it as disabled */ \
    ((svc_id) >= WMI_MAX_EXT2_SERVICE ? 0 : \
        /* If service ID is in the non-extension range, use the old check */ \
        (svc_id) < WMI_MAX_SERVICE ? \
            WMI_SERVICE_IS_ENABLED(pwmi_svc_bmap, svc_id) : \
            /* If service ID is in the 1st extended range, check ext_bmap */ \
            (svc_id) < WMI_MAX_EXT_SERVICE ? \
                WMI_SERVICE_EXT_IS_ENABLED( \
                    pwmi_svc_bmap, pwmi_svc_ext_bmap, svc_id) : \
                /* \
                 * If service ID is in the 2nd extended range, check ext2_bmap \
                 */ \
                (((pwmi_svc_ext2_bmap)[((svc_id) - WMI_MAX_EXT_SERVICE) / 32] >> \
                ((svc_id) & 0x1f)) & 0x1))

#ifdef __cplusplus
}
+21 −2
Original line number Diff line number Diff line
@@ -1051,6 +1051,10 @@ typedef enum {
    WMITLV_TAG_STRUC_wmi_nan_dmesg_event_fixed_param,
    WMITLV_TAG_STRUC_wmi_frame_inject_cmd_fixed_param,
    WMITLV_TAG_STRUC_wmi_smartant_event_fixed_param,
    WMITLV_TAG_STRUC_wmi_pdev_tbtt_offset_sync_cmd_fixed_param,
    WMITLV_TAG_STRUC_wmi_pdev_rnr_bss_tbtt_info,
    WMITLV_TAG_STRUC_WMI_MAC_PHY_CAPABILITIES_EXT,
    WMITLV_TAG_STRUC_WMI_HAL_REG_CAPABILITIES_EXT2,
} WMITLV_TAG_ID;

/*
@@ -1481,6 +1485,7 @@ typedef enum {
    OP(WMI_ROAM_GET_SCAN_CHANNEL_LIST_CMDID) \
    OP(WMI_VDEV_GET_BIG_DATA_CMDID) \
    OP(WMI_PDEV_FRAME_INJECT_CMDID) \
    OP(WMI_PDEV_TBTT_OFFSET_SYNC_CMDID) \
    /* add new CMD_LIST elements above this line */


@@ -4302,6 +4307,12 @@ WMITLV_CREATE_PARAM_STRUC(WMI_VDEV_GET_BIG_DATA_CMDID);
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_BYTE, A_UINT8, bufp, WMITLV_SIZE_VAR)
WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_FRAME_INJECT_CMDID);

/* Get / Set RNR TBTT offset info */
#define WMITLV_TABLE_WMI_PDEV_TBTT_OFFSET_SYNC_CMDID(id,op,buf,len) \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_pdev_tbtt_offset_sync_cmd_fixed_param, wmi_pdev_tbtt_offset_sync_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_pdev_rnr_bss_tbtt_info, rnr_tbtt_info, WMITLV_SIZE_VAR)
WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_TBTT_OFFSET_SYNC_CMDID);


/************************** TLV definitions of WMI events *******************************/

@@ -4316,7 +4327,12 @@ WMITLV_CREATE_PARAM_STRUC(WMI_SERVICE_READY_EVENTID);

/* service available event */
#define WMITLV_TABLE_WMI_SERVICE_AVAILABLE_EVENTID(id,op,buf,len) \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_service_available_event_fixed_param, wmi_service_available_event_fixed_param, fixed_param, WMITLV_SIZE_FIX)
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_service_available_event_fixed_param, wmi_service_available_event_fixed_param, fixed_param, WMITLV_SIZE_FIX) \
    /* \
     * The wmi_service_ext_bitmap covers WMI service bits beyond the range \
     * of the fixed_param.wmi_service_segment_bitmap[]. \
     */ \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_UINT32, A_UINT32, wmi_service_ext_bitmap, WMITLV_SIZE_VAR)
WMITLV_CREATE_PARAM_STRUC(WMI_SERVICE_AVAILABLE_EVENTID);

/* Service Ready Extension event */
@@ -4340,7 +4356,9 @@ WMITLV_CREATE_PARAM_STRUC(WMI_SERVICE_READY_EXT_EVENTID);
#define WMITLV_TABLE_WMI_SERVICE_READY_EXT2_EVENTID(id,op,buf,len) \
     WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_service_ready_ext2_event_fixed_param, wmi_service_ready_ext2_event_fixed_param, fixed_param, WMITLV_SIZE_FIX) \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, WMI_DMA_RING_CAPABILITIES, dma_ring_caps, WMITLV_SIZE_VAR) \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_spectral_bin_scaling_params, wmi_bin_scaling_params, WMITLV_SIZE_VAR)
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_spectral_bin_scaling_params, wmi_bin_scaling_params, WMITLV_SIZE_VAR) \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, WMI_MAC_PHY_CAPABILITIES_EXT, mac_phy_caps, WMITLV_SIZE_VAR) \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, WMI_HAL_REG_CAPABILITIES_EXT2, hal_reg_caps, WMITLV_SIZE_VAR)
WMITLV_CREATE_PARAM_STRUC(WMI_SERVICE_READY_EXT2_EVENTID);

#define WMITLV_TABLE_WMI_CHAN_RF_CHARACTERIZATION_INFO_EVENTID(id,op,buf,len) \
@@ -5797,6 +5815,7 @@ WMITLV_CREATE_PARAM_STRUC(WMI_VDEV_SEND_BIG_DATA_EVENTID);
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_BYTE, A_UINT8, msg, WMITLV_SIZE_VAR)
WMITLV_CREATE_PARAM_STRUC(WMI_NAN_DMESG_EVENTID);


#ifdef __cplusplus
}
#endif
+251 −4

File changed.

Preview size limit exceeded, changes collapsed.

+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_ 788
#define __WMI_REVISION_ 801

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

File changed.

Preview size limit exceeded, changes collapsed.

Loading