qcacmn: Handle link active_inactive command
Add code to handle new set link state command - MLO_LINK_FORCE_MODE_ACTIVE_INACTIVE. Change-Id: I4fad93e9e09309f7e8ac07f2e3c43a0aa6472a3a CRs-Fixed: 3352970
Cette révision appartient à :

révisé par
Madan Koyyalamudi

Parent
060f2a7ebc
révision
91f844bfce
@@ -745,6 +745,8 @@ struct mlo_mlme_ext_ops {
|
||||
* Force inactive a number of links, firmware to decide which links to inactive
|
||||
* @MLO_LINK_FORCE_MODE_NO_FORCE:
|
||||
* Cancel the force operation of specific links, allow firmware to decide
|
||||
* @MLO_LINK_FORCE_MODE_ACTIVE_INACTIVE: Force specific links active and
|
||||
* force specific links inactive
|
||||
*/
|
||||
enum mlo_link_force_mode {
|
||||
MLO_LINK_FORCE_MODE_ACTIVE = 1,
|
||||
@@ -752,6 +754,7 @@ enum mlo_link_force_mode {
|
||||
MLO_LINK_FORCE_MODE_ACTIVE_NUM = 3,
|
||||
MLO_LINK_FORCE_MODE_INACTIVE_NUM = 4,
|
||||
MLO_LINK_FORCE_MODE_NO_FORCE = 5,
|
||||
MLO_LINK_FORCE_MODE_ACTIVE_INACTIVE = 6,
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -760,10 +763,13 @@ enum mlo_link_force_mode {
|
||||
* Set force specific links because of new connection
|
||||
* @MLO_LINK_FORCE_REASON_DISCONNECT:
|
||||
* Set force specific links because of new dis-connection
|
||||
* @MLO_LINK_FORCE_REASON_LINK_REMOVAL:
|
||||
* Set force specific links because of AP side link removal
|
||||
*/
|
||||
enum mlo_link_force_reason {
|
||||
MLO_LINK_FORCE_REASON_CONNECT = 1,
|
||||
MLO_LINK_FORCE_REASON_DISCONNECT = 2,
|
||||
MLO_LINK_FORCE_REASON_LINK_REMOVAL = 3,
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -802,21 +808,31 @@ struct mlo_link_num_param {
|
||||
* @reason: reason for the operation (enum mlo_link_force_reason)
|
||||
* @num_link_entry: number of the valid entries for link_num
|
||||
* @num_vdev_bitmap: number of the valid entries for vdev_bitmap
|
||||
* @num_inactive_vdev_bitmap: number of the valid entries for
|
||||
* inactive_vdev_bitmap
|
||||
* @link_num: link number param array
|
||||
* It's present only when force_mode is MLO_LINK_FORCE_MODE_ACTIVE_NUM or
|
||||
* MLO_LINK_FORCE_MODE_INACTIVE_NUM
|
||||
* @vdev_bitmap: active/inactive vdev bitmap array
|
||||
* It will be present when force_mode is MLO_LINK_FORCE_MODE_ACTIVE,
|
||||
* MLO_LINK_FORCE_MODE_INACTIVE, MLO_LINK_FORCE_MODE_NO_FORCE,
|
||||
* MLO_LINK_FORCE_MODE_ACTIVE_NUM or MLO_LINK_FORCE_MODE_INACTIVE_NUM
|
||||
* MLO_LINK_FORCE_MODE_ACTIVE_NUM or MLO_LINK_FORCE_MODE_INACTIVE_NUM,
|
||||
* and MLO_LINK_FORCE_MODE_ACTIVE_INACTIVE.
|
||||
* For MLO_LINK_FORCE_MODE_ACTIVE_INACTIVE, it includes the active vdev
|
||||
* bitmaps
|
||||
* @inactive_vdev_bitmap: inactive vdev bitmap array
|
||||
* It will be present when force_mode is MLO_LINK_FORCE_MODE_ACTIVE_INACTIVE,
|
||||
* it includes the inactive vdev bitmaps
|
||||
*/
|
||||
struct mlo_link_set_active_param {
|
||||
uint32_t force_mode;
|
||||
uint32_t reason;
|
||||
uint32_t num_link_entry;
|
||||
uint32_t num_vdev_bitmap;
|
||||
uint32_t num_inactive_vdev_bitmap;
|
||||
struct mlo_link_num_param link_num[MLO_LINK_NUM_SZ];
|
||||
uint32_t vdev_bitmap[MLO_VDEV_BITMAP_SZ];
|
||||
uint32_t inactive_vdev_bitmap[MLO_VDEV_BITMAP_SZ];
|
||||
};
|
||||
|
||||
/**
|
||||
|
Référencer dans un nouveau ticket
Bloquer un utilisateur