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
This commit is contained in:
spuligil
2023-11-09 18:03:55 -08:00
committed by Ravindra Konda
parent 162905ef83
commit d8f38efca5
3 changed files with 78 additions and 2 deletions

View File

@@ -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,