소스 검색

qcacmn: Extend multi_vdev_restart parameter-list

Extend the parameter-list of the multi_vdev_restart
command to add phymode.

Change-Id: I2d9a48e6721813817ae47e992f5569d379fe2923
Debasis Das 5 년 전
부모
커밋
40a60c5196

+ 6 - 2
umac/mlme/vdev_mgr/core/src/vdev_mgr_ops.c

@@ -483,6 +483,7 @@ static QDF_STATUS vdev_mgr_multiple_restart_param_update(
 				uint32_t disable_hw_ack,
 				uint32_t *vdev_ids,
 				uint32_t num_vdevs,
+				struct vdev_mlme_mvr_param *mvr_param,
 				struct multiple_vdev_restart_params *param)
 {
 	param->pdev_id = wlan_objmgr_pdev_get_pdev_id(pdev);
@@ -495,6 +496,8 @@ static QDF_STATUS vdev_mgr_multiple_restart_param_update(
 		     sizeof(uint32_t) * (param->num_vdevs));
 	qdf_mem_copy(&param->ch_param, chan,
 		     sizeof(struct mlme_channel_param));
+	qdf_mem_copy(param->mvr_param, mvr_param,
+		     sizeof(*mvr_param) * (param->num_vdevs));
 
 	return QDF_STATUS_SUCCESS;
 }
@@ -503,14 +506,15 @@ QDF_STATUS vdev_mgr_multiple_restart_send(struct wlan_objmgr_pdev *pdev,
 					  struct mlme_channel_param *chan,
 					  uint32_t disable_hw_ack,
 					  uint32_t *vdev_ids,
-					  uint32_t num_vdevs)
+					  uint32_t num_vdevs,
+					  struct vdev_mlme_mvr_param *mvr_param)
 {
 	struct multiple_vdev_restart_params param = {0};
 
 	vdev_mgr_multiple_restart_param_update(pdev, chan,
 					       disable_hw_ack,
 					       vdev_ids, num_vdevs,
-					       &param);
+					       mvr_param, &param);
 
 	return tgt_vdev_mgr_multiple_vdev_restart_send(pdev, &param);
 }

+ 9 - 6
umac/mlme/vdev_mgr/core/src/vdev_mgr_ops.h

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2019 The Linux Foundation. All rights reserved.
+ * Copyright (c) 2019-2020 The Linux Foundation. All rights reserved.
  *
  * Permission to use, copy, modify, and/or distribute this software for
  * any purpose with or without fee is hereby granted, provided that the
@@ -219,14 +219,17 @@ QDF_STATUS vdev_mgr_bcn_miss_offload_send(struct vdev_mlme_obj *mlme_obj);
  * @disable_hw_ack: ddisable hw ack value
  * @vdev_ids: pointer to list of vdev ids which require restart
  * @num_vdevs: number of vdevs in list
+ * @mvr_param: multiple vdev restart param
  *
  * Return: QDF_STATUS - Success or Failure
  */
-QDF_STATUS vdev_mgr_multiple_restart_send(struct wlan_objmgr_pdev *pdev,
-					  struct mlme_channel_param *chan,
-					  uint32_t disable_hw_ack,
-					  uint32_t *vdev_ids,
-					  uint32_t num_vdevs);
+QDF_STATUS vdev_mgr_multiple_restart_send(
+					struct wlan_objmgr_pdev *pdev,
+					struct mlme_channel_param *chan,
+					uint32_t disable_hw_ack,
+					uint32_t *vdev_ids,
+					uint32_t num_vdevs,
+					struct vdev_mlme_mvr_param *mvr_param);
 
 /**
  * vdev_mgr_peer_delete_all_send() – MLME API to send peer delete all request

+ 10 - 0
umac/mlme/vdev_mgr/dispatcher/inc/wlan_vdev_mgr_tgt_if_tx_defs.h

@@ -266,6 +266,14 @@ struct mlme_channel_param {
 	uint8_t  reg_class_id;
 };
 
+/**
+ * struct vdev_mlme_mvr_param - Multiple vdev restart params
+ * @phymode: phymode information
+ */
+struct vdev_mlme_mvr_param {
+	uint32_t phymode;
+};
+
 /**
  * struct multiple_vdev_restart_params - Multiple vdev restart cmd parameter
  * @pdev_id: Pdev identifier
@@ -275,6 +283,7 @@ struct mlme_channel_param {
  * @num_vdevs: No. of vdevs that need to be restarted
  * @ch_param: Pointer to channel_param
  * @vdev_ids: Pointer to array of vdev_ids
+ * @mvr_param: array holding multi vdev restart param
  */
 struct multiple_vdev_restart_params {
 	uint32_t pdev_id;
@@ -284,6 +293,7 @@ struct multiple_vdev_restart_params {
 	uint32_t num_vdevs;
 	struct mlme_channel_param ch_param;
 	uint32_t vdev_ids[WLAN_UMAC_PDEV_MAX_VDEVS];
+	struct vdev_mlme_mvr_param mvr_param[WLAN_UMAC_PDEV_MAX_VDEVS];
 };
 
 /**