Browse Source

qcacmn: Indicate special vap type to FW

Special vap type is used by scan radio solutions.
Indicate special vap type to FW through
vdev create WMI command.

CRS-Fixed: 2746724
Change-Id: Ie5e4b059306c5c80d93dba0ebb4810b3e570878f
Edayilliam Jayadev 4 năm trước cách đây
mục cha
commit
c56100ad57

+ 2 - 0
umac/mlme/include/wlan_vdev_mlme.h

@@ -206,6 +206,7 @@ struct vdev_mlme_proto {
  * @disable_hw_ack: disable ha ack flag
  * @bssid: bssid
  * @phy_mode: phy mode
+ * @special_vdev_mode: indicates special vdev mode
  */
 struct vdev_mlme_mgmt_generic {
 	uint32_t rts_threshold;
@@ -231,6 +232,7 @@ struct vdev_mlme_mgmt_generic {
 	bool disable_hw_ack;
 	uint8_t bssid[QDF_MAC_ADDR_SIZE];
 	uint32_t phy_mode;
+	bool special_vdev_mode;
 };
 
 /**

+ 1 - 0
umac/mlme/vdev_mgr/core/src/vdev_mgr_ops.c

@@ -65,6 +65,7 @@ static QDF_STATUS vdev_mgr_create_param_update(
 	param->subtype = mlme_obj->mgmt.generic.subtype;
 	param->mbssid_flags = mbss->mbssid_flags;
 	param->vdevid_trans = mbss->vdevid_trans;
+	param->special_vdev_mode = mlme_obj->mgmt.generic.special_vdev_mode;
 
 	return QDF_STATUS_SUCCESS;
 }

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

@@ -491,6 +491,7 @@ struct vdev_set_params {
  * @pdev_id: pdev id on pdev for this vdev
  * @mbssid_flags: MBSS IE flags indicating vdev type
  * @vdevid_trans: id of transmitting vdev for MBSS IE
+ * @special_vdev_mode: indicates special vdev mode
  */
 struct vdev_create_params {
 	uint8_t vdev_id;
@@ -501,6 +502,7 @@ struct vdev_create_params {
 	uint32_t pdev_id;
 	uint32_t mbssid_flags;
 	uint8_t vdevid_trans;
+	bool special_vdev_mode;
 };
 
 /**

+ 1 - 0
wmi/src/wmi_unified_tlv.c

@@ -763,6 +763,7 @@ static QDF_STATUS send_vdev_create_cmd_tlv(wmi_unified_t wmi_handle,
 	cmd->vdev_type = param->type;
 	cmd->vdev_subtype = param->subtype;
 	cmd->flags = param->mbssid_flags;
+	cmd->flags |= (param->special_vdev_mode ? VDEV_FLAGS_SCAN_MODE_VAP : 0);
 	cmd->vdevid_trans = param->vdevid_trans;
 	cmd->num_cfg_txrx_streams = num_bands;
 	copy_vdev_create_pdev_id(wmi_handle, cmd, param);