Ver Fonte

qcacmn: Add API to check if STA vdev is mlo assoc or link vdev

Add API to check if STA vdev is mlo assoc or link vdev

Change-Id: If5d5fab4c423939d272156e1dea4fae5d1d8d80a
Himanshu Batra há 3 anos atrás
pai
commit
06f52d9da2
1 ficheiros alterados com 52 adições e 3 exclusões
  1. 52 3
      umac/cmn_services/obj_mgr/inc/wlan_objmgr_vdev_obj.h

+ 52 - 3
umac/cmn_services/obj_mgr/inc/wlan_objmgr_vdev_obj.h

@@ -1384,7 +1384,7 @@ static inline bool wlan_vdev_mlme_is_mlo_ap(struct wlan_objmgr_vdev *vdev)
  * wlan_vdev_mlme_is_mlo_vdev() - whether it is mlo vdev or not
  * @vdev: VDEV object
  *
- * Return: True if it is mlo ap, otherwise false.
+ * Return: True if it is mlo, otherwise false.
  */
 static inline
 bool wlan_vdev_mlme_is_mlo_vdev(struct wlan_objmgr_vdev *vdev)
@@ -1393,10 +1393,10 @@ bool wlan_vdev_mlme_is_mlo_vdev(struct wlan_objmgr_vdev *vdev)
 }
 
 /**
- * wlan_vdev_mlme_is_mlo_vdev() - whether it is mlo vdev or not
+ * wlan_vdev_mlme_is_mlo_vdev() - whether it is mlo sta link vdev or not
  * @vdev: VDEV object
  *
- * Return: True if it is mlo ap, otherwise false.
+ * Return: True if it is mlo sta link, otherwise false.
  */
 static inline
 bool wlan_vdev_mlme_is_mlo_link_vdev(struct wlan_objmgr_vdev *vdev)
@@ -1405,6 +1405,43 @@ bool wlan_vdev_mlme_is_mlo_link_vdev(struct wlan_objmgr_vdev *vdev)
 						WLAN_VDEV_FEXT2_MLO_STA_LINK);
 }
 
+/**
+ * wlan_vdev_mlme_is_assoc_sta_vdev() - whether it is mlo sta assoc vdev or not
+ * @vdev: VDEV object
+ *
+ * Return: True if it is mlo sta assoc vdev, otherwise false.
+ */
+static inline
+bool wlan_vdev_mlme_is_assoc_sta_vdev(struct wlan_objmgr_vdev *vdev)
+{
+	if (!(wlan_vdev_mlme_get_opmode(vdev) == QDF_STA_MODE) ||
+	    !wlan_vdev_mlme_is_mlo_vdev(vdev))
+		return false;
+
+	if (!wlan_vdev_mlme_is_mlo_link_vdev(vdev))
+		return true;
+
+	return false;
+}
+
+/**
+ * wlan_vdev_mlme_is_link_sta_vdev() - whether it is mlo sta link vdev or not
+ * @vdev: VDEV object
+ *
+ * Return: True if it is mlo sta link vdev, otherwise false.
+ */
+static inline
+bool wlan_vdev_mlme_is_link_sta_vdev(struct wlan_objmgr_vdev *vdev)
+{
+	if (!(wlan_vdev_mlme_get_opmode(vdev) == QDF_STA_MODE) ||
+	    !wlan_vdev_mlme_is_mlo_vdev(vdev))
+		return false;
+
+	if (wlan_vdev_mlme_is_mlo_link_vdev(vdev))
+		return true;
+
+	return false;
+}
 #else
 
 static inline
@@ -1418,6 +1455,18 @@ bool wlan_vdev_mlme_is_mlo_link_vdev(struct wlan_objmgr_vdev *vdev)
 {
 	return false;
 }
+
+static inline
+bool wlan_vdev_mlme_is_assoc_sta_vdev(struct wlan_objmgr_vdev *vdev)
+{
+	return false;
+}
+
+static inline
+bool wlan_vdev_mlme_is_link_sta_vdev(struct wlan_objmgr_vdev *vdev)
+{
+	return false;
+}
 #endif
 
 /**