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

Commit 4ffcf256 authored by spuligil's avatar spuligil Committed by Gerrit - the friendly Code Review server
Browse files

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

Change-Id: Idabda8d7bed6d83ecd87caa36dc1becabb2d57a6
WMI: add framework for vendor-specific msg defs
CRs-Fixed: 2262693
parent 955f0c8f
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -1117,6 +1117,12 @@ typedef enum {
    WMITLV_TAG_STRUC_wmi_ctrl_path_mem_stats_struct,
    WMITLV_TAG_STRUC_wmi_twt_nudge_dialog_cmd_fixed_param,
    WMITLV_TAG_STRUC_wmi_twt_nudge_dialog_complete_event_fixed_param,
    WMITLV_TAG_STRUC_wmi_pdev_vendor_event_fixed_param,
    WMITLV_TAG_STRUC_wmi_pdev_vendor_cmd_fixed_param,
    WMITLV_TAG_STRUC_wmi_vdev_vendor_event_fixed_param,
    WMITLV_TAG_STRUC_wmi_vdev_vendor_cmd_fixed_param,
    WMITLV_TAG_STRUC_wmi_peer_vendor_event_fixed_param,
    WMITLV_TAG_STRUC_wmi_peer_vendor_cmd_fixed_param,
} WMITLV_TAG_ID;

/*
+130 −0
Original line number Diff line number Diff line
@@ -70,6 +70,11 @@ extern "C" {
#include <wlan_defs.h>
#include <wmi_services.h>
/*
 * Include the defs of vendor-specific messages (or possibly dummy defs
 * if there are no actual vendor-specific message defs).
 */
#include <wmi_unified_vendor.h>
#define ATH_MAC_LEN             6               /**< length of MAC in bytes */
#define WMI_EVENT_STATUS_SUCCESS 0 /* Success return status to host */
@@ -260,6 +265,7 @@ typedef enum {
    WMI_GRP_AUDIO,          /* 0x43 */
    WMI_GRP_CFR_CAPTURE,    /* 0x44 */
    WMI_GRP_ATM,            /* 0x45 ATM (Air Time Management group) */
    WMI_GRP_VENDOR,         /* 0x46 vendor specific group */
} WMI_GRP_ID;
#define WMI_CMD_GRP_START_ID(grp_id) (((grp_id) << 12) | 0x1)
@@ -1338,6 +1344,12 @@ typedef enum {
    WMI_ATF_GROUP_WMM_AC_CONFIG_REQUEST_CMDID,
    /** ATF Peer Extended Request command */
    WMI_PEER_ATF_EXT_REQUEST_CMDID,
    /** Vendor Defined WMI commands **/
    WMI_VENDOR_PDEV_CMDID = WMI_CMD_GRP_START_ID(WMI_GRP_VENDOR),
    WMI_VENDOR_VDEV_CMDID,
    WMI_VENDOR_PEER_CMDID,
    /** Further vendor cmd IDs can be added below **/
} WMI_CMD_ID;
typedef enum {
@@ -2036,6 +2048,11 @@ typedef enum {
    WMI_AUDIO_AGGR_REPORT_STATISTICS_EVENTID = WMI_EVT_GRP_START_ID(WMI_GRP_AUDIO),
    WMI_AUDIO_AGGR_SCHED_METHOD_EVENTID,
    /** Vendor defined WMI events **/
    WMI_VENDOR_PDEV_EVENTID = WMI_EVT_GRP_START_ID(WMI_GRP_VENDOR),
    WMI_VENDOR_VDEV_EVENTID,
    WMI_VENDOR_PEER_EVENTID,
    /** Further vendor event IDs can be added below **/
} WMI_EVT_ID;
/* defines for OEM message sub-types */
@@ -32335,6 +32352,119 @@ typedef struct {
     */
} wmi_pdev_twt_session_stats_event_fixed_param;
typedef struct wmi_pdev_vendor_event
{
    /* type is WMI_PDEV_VENDOR_EVENTID */
    A_UINT32 tlv_header;
    /* pdev_id for identifying the MAC.  See macros starting with WMI_PDEV_ID_ for values. */
    A_UINT32 pdev_id;
    /* Any vendor specialization cases will need to add sub_type enum defs. */
    A_UINT32 sub_type;
    wmi_pdev_vendor_event_val evt;
    /* NOTE:
     * Future changes may increase the size of pdev_vendor_event.
     * Consequently, no fields can be added here after pdev_vendor_event,
     * because their offsets within wmi_pdev_vendor_event_fixed_param
     * would change, causing backwards incompatibilities.
     */
} wmi_pdev_vendor_event_fixed_param;
typedef struct wmi_vdev_vendor_event
{
    /* type is WMI_VDEV_VENDOR_EVENTID */
    A_UINT32 tlv_header;
    /* pdev_id for identifying the MAC.  See macros starting with WMI_PDEV_ID_ for values. */
    A_UINT32 pdev_id;
    /* unique id identifying the VDEV, generated by the caller */
    A_UINT32 vdev_id;
    /* Any vendor specialization cases will need to add sub_type enum defs. */
    A_UINT32 sub_type;
    wmi_vdev_vendor_event_val evt;
    /* NOTE:
     * Future changes may increase the size of vdev_vendor_event.
     * Consequently, no fields can be added here after vdev_vendor_event,
     * because their offsets within wmi_vdev_vendor_event_fixed_param
     * would change, causing backwards incompatibilities.
     */
} wmi_vdev_vendor_event_fixed_param;
typedef struct wmi_peer_vendor_event
{
    /* type is WMI_PEER_VENDOR_EVENTID */
    A_UINT32 tlv_header;
    /* pdev_id for identifying the MAC.  See macros starting with WMI_PDEV_ID_ for values. */
    A_UINT32 pdev_id;
    /* unique id identifying the VDEV, generated by the caller */
    A_UINT32 vdev_id;
    /* peer MAC address */
    wmi_mac_addr peer_macaddr;
    /* Any vendor specialization cases will need to add sub_type enum defs. */
    A_UINT32 sub_type;
    wmi_peer_vendor_event_val evt;
    /* NOTE:
     * Future changes may increase the size of peer_vendor_event.
     * Consequently, no fields can be added here after peer_vendor_event,
     * because their offsets within wmi_peer_vendor_event_fixed_param
     * would change, causing backwards incompatibilities.
     */
} wmi_peer_vendor_event_fixed_param;
typedef struct wmi_pdev_vendor_cmd
{
    /* type is WMI_PDEV_VENDOR_CMDID */
    A_UINT32 tlv_header;
    /* pdev_id for identifying the MAC.  See macros starting with WMI_PDEV_ID_ for values. */
    A_UINT32 pdev_id;
    /* Any vendor specialization cases will need to add sub_type enum defs. */
    A_UINT32 sub_type;
    wmi_pdev_vendor_cmd_val cmd;
    /* NOTE:
     * Future changes may increase the size of pdev_vendor_cmd.
     * Consequently, no fields can be added here after pdev_vendor_cmd,
     * because their offsets within wmi_pdev_vendor_cmd_fixed_param
     * would change, causing backwards incompatibilities.
     */
} wmi_pdev_vendor_cmd_fixed_param;
typedef struct wmi_vdev_vendor_cmd
{
    /* type is WMI_VDEV_VENDOR_CMDID */
    A_UINT32 tlv_header;
    /* pdev_id for identifying the MAC.  See macros starting with WMI_PDEV_ID_ for values. */
    A_UINT32 pdev_id;
    /* unique id identifying the VDEV, generated by the caller */
    A_UINT32 vdev_id;
    /* Any vendor specialization cases will need to add sub_type enum defs. */
    A_UINT32 sub_type;
    wmi_vdev_vendor_cmd_val cmd;
    /* NOTE:
     * Future changes may increase the size of vdev_vendor_cmd.
     * Consequently, no fields can be added here after vdev_vendor_cmd,
     * because their offsets within wmi_vdev_vendor_cmd_fixed_param
     * would change, causing backwards incompatibilities.
     */
} wmi_vdev_vendor_cmd_fixed_param;
typedef struct wmi_peer_vendor_cmd
{
    /* type is WMI_PEER_VENDOR_CMDID */
    A_UINT32 tlv_header;
    /* pdev_id for identifying the MAC.  See macros starting with WMI_PDEV_ID_ for values. */
    A_UINT32 pdev_id;
    /* unique id identifying the VDEV, generated by the caller */
    A_UINT32 vdev_id;
    /* peer MAC address */
    wmi_mac_addr peer_macaddr;
    /* Any vendor specialization cases will need to add sub_type enum defs. */
    A_UINT32 sub_type;
    wmi_peer_vendor_cmd_val cmd;
    /* NOTE:
     * Future changes may increase the size of peer_vendor_cmd.
     * Consequently, no fields can be added here after peer_vendor_cmd,
     * because their offsets within wmi_peer_vendor_cmd_fixed_param
     * would change, causing backwards incompatibilities.
     */
} wmi_peer_vendor_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_ 912
#define __WMI_REVISION_ 913

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