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

Commit 35a68258 authored by spuligil's avatar spuligil
Browse files

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

Change-Id: I7e825108646078e2d47fee8238db82879a921d99
WMI: add AUDIO_ADDR CMD message defs
CRs-Fixed: 2262693
parent 4a2f1ab6
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -405,6 +405,7 @@ typedef enum {
    WMI_SERVICE_EXT2_MSG = 220, /* WMI_SERVICE_READY_EXT2 msg is sent by target */
    WMI_SERVICE_WPA3_SAE_ROAM_SUPPORT = 221, /* Indicates FW supports WPA3 SAE roaming */
    WMI_SERVICE_WPA3_OWE_ROAM_SUPPORT = 222, /* Indicates FW supports WPA3 OWE roaming */
    WMI_SERVICE_AUDIO_AGGR = 223, /* Indicates FW supports audio frame aggregation */

    /******* ADD NEW SERVICES HERE *******/

+34 −0
Original line number Diff line number Diff line
@@ -1002,6 +1002,12 @@ typedef enum {
    WMITLV_TAG_STRUC_wmi_get_elna_bypass_event_fixed_param,
    WMITLV_TAG_STRUC_wmi_roam_pmkid_request_event_fixed_param,
    WMITLV_TAG_STRUC_wmi_peer_cfr_capture_event_phase_fixed_param,
    WMITLV_TAG_STRUC_wmi_audio_aggr_enable_cmd_fixed_param,
    WMITLV_TAG_STRUC_audio_aggr_rate_set,
    WMITLV_TAG_STRUC_wmi_audio_aggr_add_group,
    WMITLV_TAG_STRUC_wmi_audio_aggr_del_group,
    WMITLV_TAG_STRUC_wmi_audio_aggr_set_group_rate,
    WMITLV_TAG_STRUC_wmi_audio_aggr_set_group_retry,
} WMITLV_TAG_ID;

/*
@@ -1409,6 +1415,11 @@ typedef enum {
    OP(WMI_ROAM_PREAUTH_STATUS_CMDID) \
    OP(WMI_SET_ELNA_BYPASS_CMDID) \
    OP(WMI_GET_ELNA_BYPASS_CMDID) \
    OP(WMI_AUDIO_AGGR_ENABLE_CMDID) \
    OP(WMI_AUDIO_AGGR_ADD_GROUP_CMDID) \
    OP(WMI_AUDIO_AGGR_DEL_GROUP_CMDID) \
    OP(WMI_AUDIO_AGGR_SET_GROUP_RATE_CMDID) \
    OP(WMI_AUDIO_AGGR_SET_GROUP_RETRY_CMDID) \
    /* add new CMD_LIST elements above this line */


@@ -4085,6 +4096,29 @@ WMITLV_CREATE_PARAM_STRUC(WMI_SET_ELNA_BYPASS_CMDID);
    WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_STRUC_wmi_get_elna_bypass_cmd_fixed_param, wmi_get_elna_bypass_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX)
WMITLV_CREATE_PARAM_STRUC(WMI_GET_ELNA_BYPASS_CMDID);

/* Audio aggr config cmd */
#define WMITLV_TABLE_WMI_AUDIO_AGGR_ENABLE_CMDID(id,op,buf,len) \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_audio_aggr_enable_cmd_fixed_param, wmi_audio_aggr_enable_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX)
WMITLV_CREATE_PARAM_STRUC(WMI_AUDIO_AGGR_ENABLE_CMDID);

#define WMITLV_TABLE_WMI_AUDIO_AGGR_ADD_GROUP_CMDID(id,op,buf,len) \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_audio_aggr_add_group,  wmi_audio_aggr_add_group_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_FIXED_STRUC, wmi_mac_addr, client_addr, WMITLV_SIZE_VAR)
WMITLV_CREATE_PARAM_STRUC(WMI_AUDIO_AGGR_ADD_GROUP_CMDID);

#define WMITLV_TABLE_WMI_AUDIO_AGGR_DEL_GROUP_CMDID(id,op,buf,len) \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_audio_aggr_del_group, wmi_audio_aggr_del_group_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX)
WMITLV_CREATE_PARAM_STRUC(WMI_AUDIO_AGGR_DEL_GROUP_CMDID);

#define WMITLV_TABLE_WMI_AUDIO_AGGR_SET_GROUP_RATE_CMDID(id,op,buf,len) \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_audio_aggr_set_group_rate, wmi_audio_aggr_set_group_rate_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, WMI_AUDIO_AGGR_RATE_SET_T, rate_set, WMITLV_SIZE_VAR)
WMITLV_CREATE_PARAM_STRUC(WMI_AUDIO_AGGR_SET_GROUP_RATE_CMDID);

#define WMITLV_TABLE_WMI_AUDIO_AGGR_SET_GROUP_RETRY_CMDID(id,op,buf,len) \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_audio_aggr_set_group_retry, wmi_audio_aggr_set_group_retry_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX)
WMITLV_CREATE_PARAM_STRUC(WMI_AUDIO_AGGR_SET_GROUP_RETRY_CMDID);


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

+53 −0
Original line number Diff line number Diff line
@@ -257,6 +257,7 @@ typedef enum {
    WMI_GRP_SPATIAL_REUSE,  /* 0x40 */
    WMI_GRP_ESP,            /* 0x41 Estimate Service Parameters (802.11mc) */
    WMI_GRP_HPCS_PULSE,     /* 0x42 */
    WMI_GRP_AUDIO,          /* 0x43 */
} WMI_GRP_ID;
#define WMI_CMD_GRP_START_ID(grp_id) (((grp_id) << 12) | 0x1)
@@ -1241,6 +1242,13 @@ typedef enum {
    /** WMI commands related to High Precision Clock Synchronization feature **/
    WMI_HPCS_PULSE_START_CMDID = WMI_CMD_GRP_START_ID(WMI_GRP_HPCS_PULSE),
    /** WMI commands related to Audio Frame aggregation feature **/
    WMI_AUDIO_AGGR_ENABLE_CMDID = WMI_CMD_GRP_START_ID(WMI_GRP_AUDIO),
    WMI_AUDIO_AGGR_ADD_GROUP_CMDID,
    WMI_AUDIO_AGGR_DEL_GROUP_CMDID,
    WMI_AUDIO_AGGR_SET_GROUP_RATE_CMDID,
    WMI_AUDIO_AGGR_SET_GROUP_RETRY_CMDID,
} WMI_CMD_ID;
typedef enum {
@@ -24484,6 +24492,11 @@ static INLINE A_UINT8 *wmi_id_to_name(A_UINT32 wmi_command)
        WMI_RETURN_STRING(WMI_ROAM_PREAUTH_STATUS_CMDID);
        WMI_RETURN_STRING(WMI_SET_ELNA_BYPASS_CMDID);
        WMI_RETURN_STRING(WMI_GET_ELNA_BYPASS_CMDID);
        WMI_RETURN_STRING(WMI_AUDIO_AGGR_ENABLE_CMDID);
        WMI_RETURN_STRING(WMI_AUDIO_AGGR_ADD_GROUP_CMDID);
        WMI_RETURN_STRING(WMI_AUDIO_AGGR_DEL_GROUP_CMDID);
        WMI_RETURN_STRING(WMI_AUDIO_AGGR_SET_GROUP_RATE_CMDID);
        WMI_RETURN_STRING(WMI_AUDIO_AGGR_SET_GROUP_RETRY_CMDID);
    }
    return "Invalid WMI cmd";
@@ -27562,6 +27575,46 @@ typedef struct {
    A_UINT32 en_dis;
} wmi_get_elna_bypass_event_fixed_param;
/* This command is to specify to enable/disable audio frame aggr */
typedef struct {
    A_UINT32 tlv_header; /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_audio_aggr_enable_cmd_fixed_param */
    A_UINT32 aggr_enable; /* enable aggregation for audio frame */
    A_UINT32 tbd_enable;  /* enable time_based discarding for audio frame */
} wmi_audio_aggr_enable_cmd_fixed_param;
typedef struct wmi_audio_aggr_rate_set_s {
    A_UINT32 tlv_header; /** TLV tag and len; tag equals WMITLV_TAG_STRUC_audio_aggr_rate_set */
    A_UINT32 mcs;
    A_UINT32 bandwidth; /* 0 for 20M, 1 for 40M and 2 for 80M, etc. */
} WMI_AUDIO_AGGR_RATE_SET_T;
typedef struct {
    A_UINT32 tlv_header; /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_audio_aggr_add_group */
    A_UINT32 group_id;      /* id of audio group */
    wmi_mac_addr multicast_addr; /* multicast address of audio group */
} wmi_audio_aggr_add_group_cmd_fixed_param;
typedef struct {
    A_UINT32 tlv_header; /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_audio_aggr_del_group */
    A_UINT32 group_id;
} wmi_audio_aggr_del_group_cmd_fixed_param;
typedef struct {
    A_UINT32 tlv_header; /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_audio_aggr_set_group_rate */
    A_UINT32 group_id;
    /**
     * TLV (tag length value) parameters follow the
     * structure. The TLV's are:
     * WMI_AUDIO_AGGR_RATE_SET_T rate_set[];
     **/
} wmi_audio_aggr_set_group_rate_cmd_fixed_param;
typedef struct {
    A_UINT32 tlv_header; /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_audio_aggr_set_group_retry */
    A_UINT32 group_id;
    A_UINT32 retry_thresh;
} wmi_audio_aggr_set_group_retry_cmd_fixed_param;
/* ADD NEW DEFS HERE */
+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_ 712
#define __WMI_REVISION_ 713

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