Quellcode durchsuchen

qcacmn: Send roam param by QMI

If found rx link speed change from good to poor, or poor to good, need send
to F/W. It may happen frequently. To avoid power side effect, send to F/W
by QMI instead of WMI.

Change-Id: I2e7ddd3ae539257c6b195cb13da221f886debbba
CRs-Fixed: 3255042
Jianmin Zhu vor 2 Jahren
Ursprung
Commit
3b39d67856
2 geänderte Dateien mit 6 neuen und 2 gelöschten Zeilen
  1. 2 0
      wmi/inc/wmi_unified_param.h
  2. 4 2
      wmi/src/wmi_unified_tlv.c

+ 2 - 0
wmi/inc/wmi_unified_param.h

@@ -5763,6 +5763,8 @@ typedef enum {
 	wmi_service_tdls_wideband_support,
 #endif
 	wmi_service_is_my_mgmt_frame,
+	wmi_service_linkspeed_roam_trigger_support,
+
 	wmi_services_max,
 } wmi_conv_service_ids;
 #define WMI_SERVICE_UNAVAILABLE 0xFFFF

+ 4 - 2
wmi/src/wmi_unified_tlv.c

@@ -17557,8 +17557,8 @@ send_roam_set_param_cmd_tlv(wmi_unified_t wmi_handle,
 	wmi_debug("Setting vdev %d roam_param = %x, value = %u",
 		  cmd->vdev_id, cmd->param_id, cmd->param_value);
 	wmi_mtrace(WMI_ROAM_SET_PARAM_CMDID, cmd->vdev_id, 0);
-	ret = wmi_unified_cmd_send(wmi_handle, buf, len,
-				   WMI_ROAM_SET_PARAM_CMDID);
+	ret = wmi_unified_cmd_send_over_qmi(wmi_handle, buf, len,
+					    WMI_ROAM_SET_PARAM_CMDID);
 	if (QDF_IS_STATUS_ERROR(ret)) {
 		wmi_err("Failed to send roam set param command, ret = %d", ret);
 		wmi_buf_free(buf);
@@ -19948,6 +19948,8 @@ static void populate_tlv_service(uint32_t *wmi_service)
 	wmi_service[wmi_service_configure_vendor_handoff_control_support] =
 				WMI_SERVICE_FW_INI_PARSE_SUPPORT;
 #endif
+	wmi_service[wmi_service_linkspeed_roam_trigger_support] =
+		WMI_SERVICE_LINKSPEED_ROAM_TRIGGER_SUPPORT;
 }
 
 /**