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 à :
Shreedhar Parande
2023-06-20 18:05:10 +05:30
révisé par Rahul Choudhary
Parent 8911b3d9eb
révision 86ee88bd0d
5 fichiers modifiés avec 20 ajouts et 3 suppressions

Voir le fichier

@@ -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
};

Voir le fichier

@@ -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;
};

Voir le fichier

@@ -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);

Voir le fichier

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

Voir le fichier

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