浏览代码

qcacmn: Define restart bitmap using qdf_bitmap

Add change to define restart bitmap using the generalized bitmap
declaration. Also use generalized function to check if any of the
bits are set in the bitmap.

Change-Id: Ibfc48ef10fe9afcaefa16ef429ef9903343afe24
CRs-Fixed: 2674483
Santosh Anbu 5 年之前
父节点
当前提交
9e9e3c1719

+ 9 - 0
umac/cmn_services/utils/inc/wlan_utility.h

@@ -211,6 +211,15 @@ void wlan_util_change_map_index(unsigned long *map, uint8_t id, uint8_t set);
  */
 bool wlan_util_map_index_is_set(unsigned long *map, uint8_t id);
 
+/**
+ * wlan_util_map_is_any_index_set() - Check if any bit is set in given bitmap
+ * @map: bitmap
+ * @nbytes: number of bytes in bitmap
+ *
+ * Return: true, if any of the bit is set, otherwise false
+ */
+bool wlan_util_map_is_any_index_set(unsigned long *map, unsigned long nbytes);
+
 /**
  * wlan_pdev_chan_change_pending_vdevs() - function to test/set channel change
  *                                         pending flag

+ 5 - 0
umac/cmn_services/utils/src/wlan_utility.c

@@ -240,6 +240,11 @@ bool wlan_util_map_index_is_set(unsigned long *map, uint8_t id)
 	return qdf_test_bit(id, map);
 }
 
+bool wlan_util_map_is_any_index_set(unsigned long *map, unsigned long nbytes)
+{
+	return !qdf_bitmap_empty(map, QDF_CHAR_BIT * nbytes);
+}
+
 static void wlan_vdev_chan_change_pending(struct wlan_objmgr_pdev *pdev,
 					  void *object, void *arg)
 {

+ 3 - 3
umac/mlme/include/wlan_pdev_mlme.h

@@ -31,7 +31,7 @@
  */
 struct pdev_restart_attr {
 	struct wlan_objmgr_vdev *vdev;
-	unsigned long restart_bmap[2];
+	qdf_bitmap(restart_bmap, WLAN_UMAC_PSOC_MAX_VDEVS);
 };
 
 /**
@@ -51,8 +51,8 @@ struct pdev_mlme_obj {
 	QDF_STATUS (*mlme_register_ops)(struct vdev_mlme_obj *vdev_mlme);
 	qdf_spinlock_t vdev_restart_lock;
 	qdf_timer_t restart_req_timer;
-	unsigned long restart_pend_vdev_bmap[2];
-	unsigned long restart_send_vdev_bmap[2];
+	qdf_bitmap(restart_pend_vdev_bmap, WLAN_UMAC_PSOC_MAX_VDEVS);
+	qdf_bitmap(restart_send_vdev_bmap, WLAN_UMAC_PSOC_MAX_VDEVS);
 	unsigned long start_send_vdev_arr[2];
 	struct pdev_restart_attr pdev_restart;
 	qdf_atomic_t multivdev_restart_wait_cnt;