qcacmn: Changes to support pdev_id in host from zero
pdev_id in FW starts from one. Zero is reserved for Soc. But host uses
pdev_id starting from zero. Make WMI changes to take care of this
difference and always provide and accept pdev_id starting from zero at
WMI. Use 0xFF for SoC on host.
Change-Id: I49f481e54bbaeea9359753bc7d3da9092fc9559a
CRs-Fixed: 2045125
diff --git a/wmi_unified_api.h b/wmi_unified_api.h
index 291606e..b5528e3 100644
--- a/wmi_unified_api.h
+++ b/wmi_unified_api.h
@@ -310,6 +310,15 @@
wmi_flush_endpoint(wmi_unified_t wmi_handle);
/**
+ * wmi_pdev_id_conversion_enable() - API to enable pdev_id conversion in WMI
+ * By default pdev_id conversion is not done in WMI.
+ * This API can be used enable conversion in WMI.
+ * @param wmi_handle : handle to WMI
+ * Return none
+ */
+void wmi_pdev_id_conversion_enable(wmi_unified_t wmi_handle);
+
+/**
* API to handle wmi rx event after UMAC has taken care of execution
* context
*
diff --git a/wmi_unified_param.h b/wmi_unified_param.h
index dc2137d..c950b97 100644
--- a/wmi_unified_param.h
+++ b/wmi_unified_param.h
@@ -7232,4 +7232,8 @@
uint32_t config_arg6;
};
+#define WMI_HOST_PDEV_ID_SOC 0xFF
+#define WMI_HOST_PDEV_ID_0 0
+#define WMI_HOST_PDEV_ID_1 1
+#define WMI_HOST_PDEV_ID_2 2
#endif /* _WMI_UNIFIED_PARAM_H_ */
diff --git a/wmi_unified_priv.h b/wmi_unified_priv.h
index 179ec73..8b9e64b 100644
--- a/wmi_unified_priv.h
+++ b/wmi_unified_priv.h
@@ -1313,9 +1313,12 @@
struct radar_found_info *radar_found,
uint32_t len);
#endif
-
QDF_STATUS (*send_set_country_cmd)(wmi_unified_t wmi_handle,
struct set_country *param);
+
+uint32_t (*convert_pdev_id_host_to_target)(uint32_t pdev_id);
+uint32_t (*convert_pdev_id_target_to_host)(uint32_t pdev_id);
+
};
struct target_abi_version {
@@ -1430,8 +1433,11 @@
/* ONLY_NON_TLV_TARGET:TLV attach dummy function defintion for case when
* driver supports only NON-TLV target (WIN mainline) */
#define wmi_tlv_attach(x) qdf_print("TLV Unavailable\n")
+#define wmi_tlv_pdev_id_conversion_enable(wmi_hdl) \
+ qdf_print("PDEV conversion Not Available")
#else
void wmi_tlv_attach(wmi_unified_t wmi_handle);
+void wmi_tlv_pdev_id_conversion_enable(wmi_unified_t wmi_handle);
#endif
void wmi_non_tlv_attach(wmi_unified_t wmi_handle);