|
@@ -214,6 +214,7 @@ struct wlan_beacon_process {
|
|
* @ref_cnt: Ref count
|
|
* @ref_cnt: Ref count
|
|
* @ref_id_dbg: Array to track Ref count
|
|
* @ref_id_dbg: Array to track Ref count
|
|
* @wlan_mlo_vdev_count: MLO VDEVs count
|
|
* @wlan_mlo_vdev_count: MLO VDEVs count
|
|
|
|
+ * @wlan_mlo_bridge_vdev_count: MLO bridge VDEVs count
|
|
* @bcn: Struct to keep track of beacon count
|
|
* @bcn: Struct to keep track of beacon count
|
|
*/
|
|
*/
|
|
struct wlan_objmgr_pdev_objmgr {
|
|
struct wlan_objmgr_pdev_objmgr {
|
|
@@ -231,6 +232,7 @@ struct wlan_objmgr_pdev_objmgr {
|
|
qdf_atomic_t ref_id_dbg[WLAN_REF_ID_MAX];
|
|
qdf_atomic_t ref_id_dbg[WLAN_REF_ID_MAX];
|
|
#ifdef WLAN_FEATURE_11BE_MLO
|
|
#ifdef WLAN_FEATURE_11BE_MLO
|
|
qdf_atomic_t wlan_mlo_vdev_count;
|
|
qdf_atomic_t wlan_mlo_vdev_count;
|
|
|
|
+ qdf_atomic_t wlan_mlo_bridge_vdev_count;
|
|
#endif
|
|
#endif
|
|
struct wlan_beacon_process bcn;
|
|
struct wlan_beacon_process bcn;
|
|
};
|
|
};
|
|
@@ -1397,6 +1399,66 @@ void wlan_pdev_dec_mlo_vdev_count(struct wlan_objmgr_pdev *pdev)
|
|
|
|
|
|
qdf_atomic_dec(&pdev->pdev_objmgr.wlan_mlo_vdev_count);
|
|
qdf_atomic_dec(&pdev->pdev_objmgr.wlan_mlo_vdev_count);
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+/**
|
|
|
|
+ * wlan_pdev_init_mlo_bridge_vdev_count() - Initialize PDEV MLO bridge
|
|
|
|
+ * vdev count
|
|
|
|
+ * @pdev: PDEV object
|
|
|
|
+ *
|
|
|
|
+ * API to initialize MLO bridge vdev count from PDEV
|
|
|
|
+ *
|
|
|
|
+ * Return: void
|
|
|
|
+ */
|
|
|
|
+static inline
|
|
|
|
+void wlan_pdev_init_mlo_bridge_vdev_count(struct wlan_objmgr_pdev *pdev)
|
|
|
|
+{
|
|
|
|
+ qdf_atomic_init(&pdev->pdev_objmgr.wlan_mlo_bridge_vdev_count);
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+/**
|
|
|
|
+ * wlan_pdev_get_mlo_bridge_vdev_count() - get PDEV MLO bridge vdev count
|
|
|
|
+ * @pdev: PDEV object
|
|
|
|
+ *
|
|
|
|
+ * API to get MLO bridge vdev count from PDEV
|
|
|
|
+ *
|
|
|
|
+ * Return: MLO vdev_count - pdev's MLO bridge vdev count
|
|
|
|
+ */
|
|
|
|
+static inline
|
|
|
|
+uint32_t wlan_pdev_get_mlo_bridge_vdev_count(struct wlan_objmgr_pdev *pdev)
|
|
|
|
+{
|
|
|
|
+ return qdf_atomic_read(&pdev->pdev_objmgr.wlan_mlo_bridge_vdev_count);
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+/**
|
|
|
|
+ * wlan_pdev_inc_mlo_bridge_vdev_count() - Increment PDEV MLO bridge vdev count
|
|
|
|
+ * @pdev: PDEV object
|
|
|
|
+ *
|
|
|
|
+ * API to increment MLO bridge vdev count from PDEV
|
|
|
|
+ *
|
|
|
|
+ * Return: void
|
|
|
|
+ */
|
|
|
|
+static inline
|
|
|
|
+void wlan_pdev_inc_mlo_bridge_vdev_count(struct wlan_objmgr_pdev *pdev)
|
|
|
|
+{
|
|
|
|
+ qdf_atomic_inc(&pdev->pdev_objmgr.wlan_mlo_bridge_vdev_count);
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+/**
|
|
|
|
+ * wlan_pdev_dec_mlo_bridge_vdev_count() - Decrement PDEV MLO bridge vdev count
|
|
|
|
+ * @pdev: PDEV object
|
|
|
|
+ *
|
|
|
|
+ * API to decrement MLO bridge vdev count from PDEV
|
|
|
|
+ *
|
|
|
|
+ * Return: void
|
|
|
|
+ */
|
|
|
|
+static inline
|
|
|
|
+void wlan_pdev_dec_mlo_bridge_vdev_count(struct wlan_objmgr_pdev *pdev)
|
|
|
|
+{
|
|
|
|
+ qdf_assert_always
|
|
|
|
+ (qdf_atomic_read(&pdev->pdev_objmgr.wlan_mlo_bridge_vdev_count));
|
|
|
|
+
|
|
|
|
+ qdf_atomic_dec(&pdev->pdev_objmgr.wlan_mlo_bridge_vdev_count);
|
|
|
|
+}
|
|
#else
|
|
#else
|
|
static inline
|
|
static inline
|
|
void wlan_pdev_init_mlo_vdev_count(struct wlan_objmgr_pdev *pdev)
|
|
void wlan_pdev_init_mlo_vdev_count(struct wlan_objmgr_pdev *pdev)
|
|
@@ -1418,6 +1480,27 @@ static inline
|
|
void wlan_pdev_dec_mlo_vdev_count(struct wlan_objmgr_pdev *pdev)
|
|
void wlan_pdev_dec_mlo_vdev_count(struct wlan_objmgr_pdev *pdev)
|
|
{
|
|
{
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+static inline
|
|
|
|
+void wlan_pdev_init_mlo_bridge_vdev_count(struct wlan_objmgr_pdev *pdev)
|
|
|
|
+{
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+static inline
|
|
|
|
+uint32_t wlan_pdev_get_mlo_bridge_vdev_count(struct wlan_objmgr_pdev *pdev)
|
|
|
|
+{
|
|
|
|
+ return 0;
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+static inline
|
|
|
|
+void wlan_pdev_inc_mlo_bridge_vdev_count(struct wlan_objmgr_pdev *pdev)
|
|
|
|
+{
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+static inline
|
|
|
|
+void wlan_pdev_dec_mlo_bridge_vdev_count(struct wlan_objmgr_pdev *pdev)
|
|
|
|
+{
|
|
|
|
+}
|
|
#endif /* WLAN_FEATURE_11BE_MLO */
|
|
#endif /* WLAN_FEATURE_11BE_MLO */
|
|
|
|
|
|
/**
|
|
/**
|