|
@@ -770,6 +770,50 @@ cdp_ipa_ast_create(ol_txrx_soc_handle soc, qdf_ipa_ast_info_type_t *data)
|
|
|
}
|
|
|
#endif
|
|
|
|
|
|
+#ifdef IPA_OPT_WIFI_DP
|
|
|
+/*
|
|
|
+ * cdp_ipa_pcie_link_up() - Send request to hold PCIe link in L0
|
|
|
+ * @soc - cdp soc handle
|
|
|
+ *
|
|
|
+ * Return: 0 for success, negative for failure
|
|
|
+ */
|
|
|
+static inline int
|
|
|
+cdp_ipa_pcie_link_up(ol_txrx_soc_handle soc)
|
|
|
+{
|
|
|
+ if (!soc || !soc->ops || !soc->ops->ipa_ops) {
|
|
|
+ QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_FATAL,
|
|
|
+ "%s invalid instance", __func__);
|
|
|
+ return QDF_STATUS_E_FAILURE;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (soc->ops->ipa_ops->ipa_pcie_link_up)
|
|
|
+ return soc->ops->ipa_ops->ipa_pcie_link_up(soc);
|
|
|
+
|
|
|
+ return QDF_STATUS_SUCCESS;
|
|
|
+}
|
|
|
+
|
|
|
+/*
|
|
|
+ * cdp_ipa_pcie_link_down() - Release request to hold PCIe link in L0
|
|
|
+ * @soc - cdp soc handle
|
|
|
+ *
|
|
|
+ * Return: 0 for success, negative for failure
|
|
|
+ */
|
|
|
+static inline int
|
|
|
+cdp_ipa_pcie_link_down(ol_txrx_soc_handle soc)
|
|
|
+{
|
|
|
+ if (!soc || !soc->ops || !soc->ops->ipa_ops) {
|
|
|
+ QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_FATAL,
|
|
|
+ "%s invalid instance", __func__);
|
|
|
+ return QDF_STATUS_E_FAILURE;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (soc->ops->ipa_ops->ipa_pcie_link_down)
|
|
|
+ soc->ops->ipa_ops->ipa_pcie_link_down(soc);
|
|
|
+
|
|
|
+ return QDF_STATUS_SUCCESS;
|
|
|
+}
|
|
|
+#endif
|
|
|
+
|
|
|
/**
|
|
|
* cdp_ipa_update_peer_rx_stats() - update peer rx stats
|
|
|
* @soc: data path soc handle
|
|
@@ -895,5 +939,6 @@ cdp_ipa_opt_dp_enable_disable_low_power_mode(struct wlan_objmgr_pdev *pdev,
|
|
|
return status;
|
|
|
}
|
|
|
#endif /* IPA_OPT_WIFI_DP */
|
|
|
+
|
|
|
#endif /* IPA_OFFLOAD */
|
|
|
#endif /* _CDP_TXRX_IPA_H_ */
|