瀏覽代碼

qcacmn: Fix compilation issues for FW header abstraction

fwhdr_abstrct: Fix compilation issues for WIN firmware header abstraction.

Change-Id: Id76a6f29fd41ae559cf377029428224d59bd03fb
CRs-Fixed: 2140921
Pratik Gandhi 7 年之前
父節點
當前提交
cf3b8b97c7
共有 3 個文件被更改,包括 13 次插入4 次删除
  1. 1 3
      wmi_unified.c
  2. 5 1
      wmi_unified_non_tlv.c
  3. 7 0
      wmi_unified_tlv.c

+ 1 - 3
wmi_unified.c

@@ -2369,8 +2369,6 @@ static int wmi_connect_pdev_htc_service(struct wmi_soc *soc,
 						uint32_t pdev_idx)
 {
 	int status;
-	uint32_t svc_id[] = {WMI_CONTROL_SVC, WMI_CONTROL_SVC_WMAC1,
-						WMI_CONTROL_SVC_WMAC2};
 	struct htc_service_connect_resp response;
 	struct htc_service_connect_req connect;
 
@@ -2391,7 +2389,7 @@ static int wmi_connect_pdev_htc_service(struct wmi_soc *soc,
 		wmi_htc_tx_complete /* ar6000_tx_queue_full */;
 
 	/* connect to control service */
-	connect.service_id = svc_id[pdev_idx];
+	connect.service_id = soc->svc_ids[pdev_idx];
 	status = htc_connect_service(soc->htc_handle, &connect,
 				&response);
 

+ 5 - 1
wmi_unified_non_tlv.c

@@ -32,7 +32,7 @@
 #if defined(WMI_NON_TLV_SUPPORT) || defined(WMI_TLV_AND_NON_TLV_SUPPORT)
 #include "wmi.h"
 #include "wmi_unified.h"
-
+#include <htc_services.h>
 
 /* pdev_id is used to distinguish the radio for which event
  * is recieved. Since non-tlv target has only one radio, setting
@@ -40,6 +40,9 @@
  */
 #define WMI_NON_TLV_DEFAULT_PDEV_ID WMI_HOST_PDEV_ID_0
 
+/* HTC service id for WMI */
+static const uint32_t svc_ids[] = {WMI_CONTROL_SVC};
+
 /**
  * send_vdev_create_cmd_non_tlv() - send VDEV create command to fw
  * @wmi_handle: wmi handle
@@ -9329,6 +9332,7 @@ void wmi_non_tlv_attach(struct wmi_unified *wmi_handle)
 {
 #if defined(WMI_NON_TLV_SUPPORT) || defined(WMI_TLV_AND_NON_TLV_SUPPORT)
 	wmi_handle->ops = &non_tlv_ops;
+	wmi_handle->soc->svc_ids = &svc_ids[0];
 	populate_non_tlv_service(wmi_handle->services);
 	populate_non_tlv_events_id(wmi_handle->wmi_events);
 	populate_pdev_param_non_tlv(wmi_handle->pdev_param);

+ 7 - 0
wmi_unified_tlv.c

@@ -31,6 +31,7 @@
 #include "wmi_unified_priv.h"
 #include "wmi_version_whitelist.h"
 #include <wlan_defs.h>
+#include <htc_services.h>
 
 #ifdef CONVERGED_P2P_ENABLE
 #include "wlan_p2p_public_struct.h"
@@ -47,6 +48,11 @@
 #include "nan_public_structs.h"
 #endif
 
+/* HTC service ids for WMI for multi-radio */
+static const uint32_t multi_svc_ids[] = {WMI_CONTROL_SVC,
+				WMI_CONTROL_SVC_WMAC1,
+				WMI_CONTROL_SVC_WMAC2};
+
 /* copy_vdev_create_pdev_id() - copy pdev from host params to target command
  *                              buffer.
  * @wmi_handle: pointer to wmi_handle
@@ -23773,6 +23779,7 @@ void wmi_tlv_attach(wmi_unified_t wmi_handle)
 {
 	wmi_handle->ops = &tlv_ops;
 	wmi_ocb_ut_attach(wmi_handle);
+	wmi_handle->soc->svc_ids = &multi_svc_ids[0];
 #ifdef WMI_INTERFACE_EVENT_LOGGING
 	/* Skip saving WMI_CMD_HDR and TLV HDR */
 	wmi_handle->log_info.buf_offset_command = 8;