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

Commit d8f38efc authored by spuligil's avatar spuligil Committed by Ravindra Konda
Browse files

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

WMI: add disallow_mode_param TLV in MLO_LINK_SET_ACTIVE_CMD msg
Change-Id: I30f0f806c0ebb9ddfef67ba0bcc5692966c0f860
CRs-Fixed: 2262693
parent 162905ef
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -1418,6 +1418,7 @@ typedef enum {
    WMITLV_TAG_STRUC_wmi_peer_multiple_reorder_queue_setup_cmd_fixed_param,
    WMITLV_TAG_STRUC_wmi_peer_per_reorder_q_setup_params_t,
    WMITLV_TAG_STRUC_wmi_coex_multiple_config_cmd_fixed_param,
    WMITLV_TAG_STRUC_wmi_disallowed_mlo_mode_bitmap_param,
} WMITLV_TAG_ID;
/*
 * IMPORTANT: Please add _ALL_ WMI Commands Here.
@@ -5194,7 +5195,8 @@ WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_ENABLE_DURATION_BASED_TX_MODE_SELECTION_CMDID
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_UINT32, A_UINT32, vdev_id_bitmap, WMITLV_SIZE_VAR) \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_UINT32, A_UINT32, vdev_id_bitmap2, WMITLV_SIZE_VAR) \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_UINT32, A_UINT32, ieee_link_id_bitmap, WMITLV_SIZE_VAR) \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_UINT32, A_UINT32, ieee_link_id_bitmap2, WMITLV_SIZE_VAR)
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_UINT32, A_UINT32, ieee_link_id_bitmap2, WMITLV_SIZE_VAR) \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_disallowed_mlo_mode_bitmap_param, disallow_mode_param,  WMITLV_SIZE_VAR)
WMITLV_CREATE_PARAM_STRUC(WMI_MLO_LINK_SET_ACTIVE_CMDID);

/* Request DPD Status */
+74 −0
Original line number Diff line number Diff line
@@ -44671,6 +44671,7 @@ typedef enum {
    WMI_MLO_LINK_FORCE_INACTIVE_LINK_NUM      = 4, /* Force inactive a number of links, firmware to decide which links to inactive */
    WMI_MLO_LINK_NO_FORCE                     = 5, /* Cancel the force operation of specific links, allow firmware to decide */
    WMI_MLO_LINK_FORCE_ACTIVE_INACTIVE        = 6, /* combination of force specific links active & force specific links inactive */
    WMI_MLO_LINK_NON_FORCE_UPDATE             = 7, /* Used when host wants to update other fields like disallow_mlo_mode_bmap */
} WMI_MLO_LINK_FORCE_MODE;
typedef enum {
@@ -44764,6 +44765,8 @@ typedef struct wmi_mlo_link_set_active_cmd
 *     For force mode WMI_MLO_LINK_FORCE_ACTIVE_INACTIVE ieee_link_id_bitmap2[]
 *     carry the inactive linkid bitmap.
 *     In other cases the length of the array should be 0.
 *---
 * wmi_disallowed_mlo_mode_bitmap_param_t disallow_mlo_mode_bmap[];
 */
} wmi_mlo_link_set_active_cmd_fixed_param;
@@ -44785,6 +44788,77 @@ typedef struct wmi_mlo_set_active_link_number_param
} wmi_mlo_set_active_link_number_param;
#define WMI_MLO_MODE_MLMR  0x1;
#define WMI_MLO_MODE_EMLSR 0x2;
#define WMI_MLO_IEEE_LINK_ID_COMB_GET_LINK_ID1(ieee_link_id_comb) WMI_GET_BITS(ieee_link_id_comb, 0, 8)
#define WMI_MLO_IEEE_LINK_ID_COMB_SET_LINK_ID1(ieee_link_id_comb, value) WMI_SET_BITS(ieee_link_id_comb, 0, 8, value)
#define WMI_MLO_IEEE_LINK_ID_COMB_GET_LINK_ID2(ieee_link_id_comb) WMI_GET_BITS(ieee_link_id_comb, 8, 8)
#define WMI_MLO_IEEE_LINK_ID_COMB_SET_LINK_ID2(ieee_link_id_comb, value) WMI_SET_BITS(ieee_link_id_comb, 8, 8, value)
#define WMI_MLO_IEEE_LINK_ID_COMB_GET_LINK_ID3(ieee_link_id_comb) WMI_GET_BITS(ieee_link_id_comb, 16, 8)
#define WMI_MLO_IEEE_LINK_ID_COMB_SET_LINK_ID3(ieee_link_id_comb, value) WMI_SET_BITS(ieee_link_id_comb, 16, 8, value)
#define WMI_MLO_IEEE_LINK_ID_COMB_GET_LINK_ID4(ieee_link_id_comb) WMI_GET_BITS(ieee_link_id_comb, 24, 8)
#define WMI_MLO_IEEE_LINK_ID_COMB_SET_LINK_ID4(ieee_link_id_comb, value) WMI_SET_BITS(ieee_link_id_comb, 24, 8, value)
typedef struct wmi_disallowed_mlo_mode_bitmap_param
{
    /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_disallowed_mlo_mode_bitmap_param */
    A_UINT32 tlv_header;
    /** disallowed_mode_bitmap:
     * Bitmap of MLO Modes like MLMR, eMLSR which are not allowed.
     * Refer to WMI_MLO_MODE_*
     * disallowed_mode_bitmap          Meaning
     * ======================          =================
     *   0x0                           No restriction
     *   0x1                           MLMR is not allowed
     *   0x2                           EMLSR is not allowed
     *   0x3                           MLMR and EMLSR are not allowed
     */
    A_UINT32 disallowed_mode_bitmap;
    /** ieee_link_id_comb:
     * Give combination of IEEE link IDs for which above disallowed_mode_bitmap
     * is applicable.
     * Each 8-bits in ieee_link_id_comb represents one link ID.
     * Use WMI_MLO_IEEE_LINK_ID_COMB_GET_LINK_ID* and _SET_LINK_ID* to get/set
     * link IDs in this field.
     */
    A_UINT32 ieee_link_id_comb;
    /** Example:
     * Say there are 3 MLO links with ieee link IDs as 1,2 and 32.
     * Say host wants to disallow MLMR between links with IDs 1 and 2,
     *                   disallow eMLSR between links with IDs 1 and 32,
     *                   disallow MLMR and eMLSR for links with IDs 2 and 32.
     * There will be 3 TLVs of type wmi_disallowed_mlo_mode_bitmap_param
     * like below.
     *
     *  wmi_disallowed_mlo_mode_bitmap_param[0]:
     *       disallowed_mode_bitmap = 0x1,
     *       ieee_link_id_comb = 0x00000201
     *          WMI_MLO_IEEE_LINK_ID_COMB_SET_LINK_ID1(ieee_link_id_comb, 0x1)
     *          WMI_MLO_IEEE_LINK_ID_COMB_SET_LINK_ID2(ieee_link_id_comb, 0x2)
     *
     *  wmi_disallowed_mlo_mode_bitmap_param[1]
     *       disallowed_mode_bitmap = 0x2,
     *       ieee_link_id_comb = 0x00002001
     *          WMI_MLO_IEEE_LINK_ID_COMB_SET_LINK_ID1(ieee_link_id_comb, 0x1)
     *          WMI_MLO_IEEE_LINK_ID_COMB_SET_LINK_ID2(ieee_link_id_comb, 0x20)
     *
     *  wmi_disallowed_mlo_mode_bitmap_param[2]
     *       disallowed_mode_bitmap = 0x3,
     *       ieee_link_id_comb = 0x00002002
     *          WMI_MLO_IEEE_LINK_ID_COMB_SET_LINK_ID1(ieee_link_id_comb, 0x2)
     *          WMI_MLO_IEEE_LINK_ID_COMB_SET_LINK_ID2(ieee_link_id_comb, 0x20)
     */
} wmi_disallowed_mlo_mode_bitmap_param;
typedef enum {
    WMI_MLO_LINK_SET_ACTIVE_STATUS_SUCCESS     = 0,
    WMI_MLO_LINK_SET_ACTIVE_STATUS_HOST_REJECT = 1,
+1 −1
Original line number Diff line number Diff line
@@ -37,7 +37,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_ 1415
#define __WMI_REVISION_ 1416

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