qcacmn: Send bridge peer flag to target
Add and send bridge peer flag to fw. Change-Id: I15ab04a8646975ad4cc85a66b632f85e359a9158 CRs-Fixed: 3554509
Cette révision appartient à :

révisé par
Rahul Choudhary

Parent
8911b3d9eb
révision
86ee88bd0d
@@ -190,6 +190,7 @@ struct wlan_objmgr_peer_objmgr {
|
||||
* @peer_lock: Lock for access/update peer contents
|
||||
* @mlo_peer_ctx: Reference to MLO Peer context
|
||||
* @mldaddr: Peer MLD MAC address
|
||||
* @mlo_bridge_peer: Indicates bridge peer
|
||||
* @peer_flags: QCN flag and 4 address mode flag
|
||||
*/
|
||||
struct wlan_objmgr_peer {
|
||||
@@ -210,6 +211,7 @@ struct wlan_objmgr_peer {
|
||||
struct wlan_mlo_peer_context *mlo_peer_ctx;
|
||||
uint8_t mldaddr[QDF_MAC_ADDR_SIZE];
|
||||
u_int32_t peer_flags;
|
||||
bool mlo_bridge_peer;
|
||||
#endif
|
||||
};
|
||||
|
||||
|
@@ -884,6 +884,7 @@ struct ml_rv_info {
|
||||
* @emlsr_support: indicate if eMLSR supported
|
||||
* @emlmr_support: indicate if eMLMR supported
|
||||
* @msd_cap_support: indicate if MSD supported
|
||||
* @mlo_bridge_peer: indicate if it is bridge peer
|
||||
* @unused: spare bits
|
||||
* @logical_link_index: Unique index for links of the mlo. Starts with Zero
|
||||
*/
|
||||
@@ -899,7 +900,8 @@ struct mlo_tgt_link_info {
|
||||
emlsr_support:1,
|
||||
emlmr_support:1,
|
||||
msd_cap_support:1,
|
||||
unused:23;
|
||||
mlo_bridge_peer:1,
|
||||
unused:22;
|
||||
uint32_t logical_link_index;
|
||||
|
||||
};
|
||||
|
@@ -1869,6 +1869,7 @@ void wlan_mlo_peer_get_links_info(struct wlan_objmgr_peer *peer,
|
||||
ml_links->link_info[ix].mlo_logical_link_index_valid = 1;
|
||||
ml_links->link_info[ix].emlsr_support = ml_emlcap->emlsr_supp;
|
||||
ml_links->link_info[ix].logical_link_index = idx - 1;
|
||||
ml_links->link_info[ix].mlo_bridge_peer = link_peer->mlo_bridge_peer;
|
||||
ml_links->num_partner_links++;
|
||||
}
|
||||
mlo_peer_lock_release(ml_peer);
|
||||
|
@@ -854,6 +854,7 @@ struct peer_set_params {
|
||||
* @peer_type: peer type
|
||||
* @vdev_id: vdev id
|
||||
* @mlo_enabled: Indicates MLO is enabled
|
||||
* @mlo_bridge_peer: Indicates bridge peer
|
||||
*/
|
||||
struct peer_create_params {
|
||||
const uint8_t *peer_addr;
|
||||
@@ -861,6 +862,7 @@ struct peer_create_params {
|
||||
uint32_t vdev_id;
|
||||
#ifdef WLAN_FEATURE_11BE_MLO
|
||||
bool mlo_enabled;
|
||||
bool mlo_bridge_peer;
|
||||
#endif
|
||||
};
|
||||
|
||||
@@ -1221,6 +1223,7 @@ struct wmi_host_link_state_params {
|
||||
* @nstr_bitmap_present: indicate if NSTR bitmap is present
|
||||
* @nstr_bitmap_size: Indicates size of NSTR bitmap,
|
||||
* as per the 802.11be specification
|
||||
* @mlo_bridge_peer: indicate if it is bridge peer
|
||||
* @unused: spare bits
|
||||
* @mld_mac: MLD mac address
|
||||
* @logical_link_index: Unique index for links of the mlo. Starts with Zero
|
||||
@@ -1253,7 +1256,8 @@ struct peer_assoc_mlo_params {
|
||||
msd_cap_support:1,
|
||||
nstr_bitmap_present:1,
|
||||
nstr_bitmap_size:1,
|
||||
unused:21;
|
||||
mlo_bridge_peer:1,
|
||||
unused:20;
|
||||
uint8_t mld_mac[QDF_MAC_ADDR_SIZE];
|
||||
uint32_t logical_link_index;
|
||||
uint32_t ml_peer_id;
|
||||
@@ -1287,6 +1291,7 @@ struct peer_assoc_mlo_params {
|
||||
* @emlsr_support: indicate if eMLSR supported
|
||||
* @emlmr_support: indicate if eMLMR supported
|
||||
* @msd_cap_support: indicate if MSD supported
|
||||
* @mlo_bridge_peer: indicate if peer is bridge peer
|
||||
* @unused: spare bits
|
||||
* @logical_link_index: Unique index for links of the mlo. Starts with Zero
|
||||
* @link_id: AP Link Id
|
||||
@@ -1306,7 +1311,8 @@ struct ml_partner_info {
|
||||
emlsr_support:1,
|
||||
emlmr_support:1,
|
||||
msd_cap_support:1,
|
||||
unused:23;
|
||||
mlo_bridge_peer:1,
|
||||
unused:22;
|
||||
uint32_t logical_link_index;
|
||||
uint32_t link_id;
|
||||
struct qdf_mac_addr bssid;
|
||||
|
@@ -234,6 +234,8 @@ uint8_t *peer_create_add_mlo_params(uint8_t *buf_ptr,
|
||||
mlo_params->mlo_flags.mlo_flags = 0;
|
||||
WMI_MLO_FLAGS_SET_ENABLED(mlo_params->mlo_flags.mlo_flags,
|
||||
req->mlo_enabled);
|
||||
WMI_MLO_FLAGS_SET_BRIDGE_PEER(mlo_params->mlo_flags.mlo_flags,
|
||||
req->mlo_bridge_peer);
|
||||
|
||||
return buf_ptr + sizeof(wmi_peer_create_mlo_params);
|
||||
}
|
||||
@@ -279,6 +281,8 @@ uint8_t *peer_assoc_add_mlo_params(uint8_t *buf_ptr,
|
||||
req->mlo_params.mlo_logical_link_index_valid);
|
||||
WMI_MLO_FLAGS_SET_PEER_ID_VALID(mlo_params->mlo_flags.mlo_flags,
|
||||
req->mlo_params.mlo_peer_id_valid);
|
||||
WMI_MLO_FLAGS_SET_BRIDGE_PEER(mlo_params->mlo_flags.mlo_flags,
|
||||
req->mlo_params.mlo_bridge_peer);
|
||||
mlo_params->mlo_flags.emlsr_support = req->mlo_params.emlsr_support;
|
||||
|
||||
mlo_params->mlo_flags.mlo_force_link_inactive =
|
||||
@@ -385,6 +389,8 @@ uint8_t *peer_assoc_add_ml_partner_links(uint8_t *buf_ptr,
|
||||
partner_info[i].mlo_primary_umac);
|
||||
WMI_MLO_FLAGS_SET_LINK_INDEX_VALID(ml_partner_link->mlo_flags.mlo_flags,
|
||||
partner_info[i].mlo_logical_link_index_valid);
|
||||
WMI_MLO_FLAGS_SET_BRIDGE_PEER(ml_partner_link->mlo_flags.mlo_flags,
|
||||
partner_info[i].mlo_bridge_peer);
|
||||
ml_partner_link->mlo_flags.emlsr_support = partner_info[i].emlsr_support;
|
||||
ml_partner_link->logical_link_index = partner_info[i].logical_link_index;
|
||||
ml_partner_link->ieee_link_id = partner_info[i].link_id;
|
||||
|
Référencer dans un nouveau ticket
Bloquer un utilisateur