Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 79fcb005 authored by qctecmdr's avatar qctecmdr Committed by Gerrit - the friendly Code Review server
Browse files

Merge "net: aquantia: Detach SMMU during PCI device removal"

parents b45c4832 f4dc3ac7
Loading
Loading
Loading
Loading
+0 −16
Original line number Diff line number Diff line
@@ -29,20 +29,4 @@ config AQFWD

source "drivers/net/ethernet/aquantia/atlantic-fwd/Kconfig"

config AQFWD_QCOM
	bool "QTI MSM/MDM target support"
	depends on AQFWD
	depends on ARCH_QCOM
	help
	  Enable support for integration with Qualcomm Technologies, Inc. chipsets.

config AQFWD_QCOM_IPA
	bool "QTI IPA offload support"
	depends on IPA_ETH
	select AQFWD_QCOM
	select ATLFWD_FWD
	help
	  Enable support for Qualcomm Technologies, Inc. IPA (Internet Protocol Accelerator).
	  If unsure, say N.

endif # NET_VENDOR_AQUANTIA
+21 −0
Original line number Diff line number Diff line
@@ -42,3 +42,24 @@ config ATLFWD_FWD_TXBUF
	 API enabled, 0 otherwise.

endif

config AQFWD_QCOM
	bool "QTI MSM/MDM target support"
	depends on AQFWD
	depends on ARCH_QCOM
	help
	  Some older targets using Qualcomm Technologies, Inc. chipsets
	  require peripheral drivers to explicitly set IOMMU attributes
	  and perform IOMMU attach. Enable this option if your platform
	  is affected. Using this feature will also require the user to
	  provide SMMU configuration via PCI device tree.
	  If unsure, say N.

config AQFWD_QCOM_IPA
	bool "QTI IPA offload support"
	depends on IPA_ETH
	select AQFWD_QCOM
	select ATLFWD_FWD
	help
	  Enable support for Qualcomm Technologies, Inc. IPA (Internet Protocol Accelerator).
	  If unsure, say N.
+0 −2
Original line number Diff line number Diff line
@@ -40,8 +40,6 @@ atlantic-fwd-objs := atl_fw.o \

atlantic-fwd-$(CONFIG_ATLFWD_FWD) += atl_fwd.o

atlantic-fwd-$(CONFIG_OF) += atl_of.o

atlantic-fwd-$(CONFIG_AQFWD_QCOM) += atl_qcom.o
atlantic-fwd-$(CONFIG_AQFWD_QCOM_IPA) += atl_qcom_ipa.o

+2 −0
Original line number Diff line number Diff line
@@ -415,6 +415,8 @@ struct atl_fwd_ring *atl_fwd_request_ring(struct net_device *ndev,
		goto free_ring;
	}

	memset(hwring->descs, 0, hwring->size * sizeof(*hwring->descs));

	hwring->reg_base = dir_tx ? ATL_TX_RING(idx) : ATL_RX_RING(idx);

	ret = atl_fwd_alloc_bufs(ring, page_order);
+5 −11
Original line number Diff line number Diff line
@@ -13,9 +13,7 @@
#include <linux/etherdevice.h>
#include <linux/rtnetlink.h>

#include "atl_qcom_ipa.h"

#include "atl_of.h"
#include "atl_qcom.h"

const char atl_driver_name[] = "atlantic-fwd";

@@ -358,10 +356,6 @@ static int atl_probe(struct pci_dev *pdev, const struct pci_device_id *id)
	struct atl_hw *hw;
	int disable_needed;

	ret = atl_parse_dt(&pdev->dev);
	if (ret)
		return ret;

	ret = pci_enable_device_mem(pdev);
	if (ret)
		return ret;
@@ -704,9 +698,9 @@ static int __init atl_module_init(void)
		return -ENOMEM;
	}

	ret = atl_qcom_ipa_register(&atl_pci_ops);
	ret = atl_qcom_register(&atl_pci_ops);
	if (ret) {
		pr_err("%s: Failed to register driver with IPA\n",
		pr_err("%s: Failed to register driver with platform\n",
		       atl_driver_name);
		destroy_workqueue(atl_wq);
		return ret;
@@ -714,7 +708,7 @@ static int __init atl_module_init(void)

	ret = pci_register_driver(&atl_pci_ops);
	if (ret) {
		atl_qcom_ipa_unregister(&atl_pci_ops);
		atl_qcom_unregister(&atl_pci_ops);
		destroy_workqueue(atl_wq);
		return ret;
	}
@@ -727,7 +721,7 @@ static void __exit atl_module_exit(void)
{
	pci_unregister_driver(&atl_pci_ops);

	atl_qcom_ipa_unregister(&atl_pci_ops);
	atl_qcom_unregister(&atl_pci_ops);

	if (atl_wq) {
		destroy_workqueue(atl_wq);
Loading