|
@@ -1111,6 +1111,35 @@ int pld_request_bus_bandwidth(struct device *dev, int bandwidth)
|
|
|
return ret;
|
|
|
}
|
|
|
|
|
|
+/**
|
|
|
+ * pld_is_direct_link_supported() - Get whether direct_link is supported
|
|
|
+ * by FW or not
|
|
|
+ * @dev: device
|
|
|
+ *
|
|
|
+ * Return: true if supported
|
|
|
+ * false on failure or if not supported
|
|
|
+ */
|
|
|
+bool pld_is_direct_link_supported(struct device *dev)
|
|
|
+{
|
|
|
+ bool ret = false;
|
|
|
+
|
|
|
+ switch (pld_get_bus_type(dev)) {
|
|
|
+ case PLD_BUS_TYPE_PCIE:
|
|
|
+ ret = pld_pcie_is_direct_link_supported(dev);
|
|
|
+ break;
|
|
|
+ case PLD_BUS_TYPE_PCIE_FW_SIM:
|
|
|
+ case PLD_BUS_TYPE_IPCI_FW_SIM:
|
|
|
+ case PLD_BUS_TYPE_SNOC_FW_SIM:
|
|
|
+ case PLD_BUS_TYPE_SNOC:
|
|
|
+ case PLD_BUS_TYPE_IPCI:
|
|
|
+ case PLD_BUS_TYPE_SDIO:
|
|
|
+ default:
|
|
|
+ break;
|
|
|
+ }
|
|
|
+
|
|
|
+ return ret;
|
|
|
+}
|
|
|
+
|
|
|
/**
|
|
|
* pld_get_platform_cap() - Get platform capabilities
|
|
|
* @dev: device
|