Back port AMD Seattle a0 4.1 NIC driver update

This commit is contained in:
Peter Robinson 2015-08-04 11:10:47 +01:00
parent eaf1286e94
commit 54bba1839d
2 changed files with 47 additions and 24 deletions

View File

@ -1,13 +1,11 @@
From b634bc924371a7df6459af04f37c91f65ac59df2 Mon Sep 17 00:00:00 2001
From: Tom Lendacky <thomas.lendacky@amd.com>
Date: Thu, 28 May 2015 16:38:57 -0400
Subject: [PATCH 1/2] amd-xgbe-a0: Add support for XGBE on A0
Date: Sat, 21 Feb 2015 12:25:12 -0500
Subject: [PATCH] amd-xgbe-a0: Add support for XGBE on A0
Add XGBE driver support for A0 hardware.
Signed-off-by: Tom Lendacky <thomas.lendacky@amd.com>
[fixup timespec -> timespec64]
[use device_dma_is_coherent]
Signed-off-by: Mark Salter <msalter@redhat.com>
---
drivers/net/ethernet/amd/Makefile | 1 +
@ -19,11 +17,11 @@ Signed-off-by: Mark Salter <msalter@redhat.com>
drivers/net/ethernet/amd/xgbe-a0/xgbe-dev.c | 2930 +++++++++++++++++++++++
drivers/net/ethernet/amd/xgbe-a0/xgbe-drv.c | 2218 +++++++++++++++++
drivers/net/ethernet/amd/xgbe-a0/xgbe-ethtool.c | 616 +++++
drivers/net/ethernet/amd/xgbe-a0/xgbe-main.c | 618 +++++
drivers/net/ethernet/amd/xgbe-a0/xgbe-main.c | 643 +++++
drivers/net/ethernet/amd/xgbe-a0/xgbe-mdio.c | 312 +++
drivers/net/ethernet/amd/xgbe-a0/xgbe-ptp.c | 278 +++
drivers/net/ethernet/amd/xgbe-a0/xgbe.h | 868 +++++++
13 files changed, 10269 insertions(+)
13 files changed, 10294 insertions(+)
create mode 100644 drivers/net/ethernet/amd/xgbe-a0/Makefile
create mode 100644 drivers/net/ethernet/amd/xgbe-a0/xgbe-common.h
create mode 100644 drivers/net/ethernet/amd/xgbe-a0/xgbe-dcb.c
@ -38,7 +36,7 @@ Signed-off-by: Mark Salter <msalter@redhat.com>
create mode 100644 drivers/net/ethernet/amd/xgbe-a0/xgbe.h
diff --git a/drivers/net/ethernet/amd/Makefile b/drivers/net/ethernet/amd/Makefile
index a38a2dc..bf0cf2f 100644
index a38a2dce3eb3..bf0cf2f8d2db 100644
--- a/drivers/net/ethernet/amd/Makefile
+++ b/drivers/net/ethernet/amd/Makefile
@@ -18,3 +18,4 @@ obj-$(CONFIG_PCNET32) += pcnet32.o
@ -48,7 +46,7 @@ index a38a2dc..bf0cf2f 100644
+obj-$(CONFIG_AMD_XGBE) += xgbe-a0/
diff --git a/drivers/net/ethernet/amd/xgbe-a0/Makefile b/drivers/net/ethernet/amd/xgbe-a0/Makefile
new file mode 100644
index 0000000..561116f
index 000000000000..561116faadae
--- /dev/null
+++ b/drivers/net/ethernet/amd/xgbe-a0/Makefile
@@ -0,0 +1,8 @@
@ -62,7 +60,7 @@ index 0000000..561116f
+amd-xgbe-a0-$(CONFIG_DEBUG_FS) += xgbe-debugfs.o
diff --git a/drivers/net/ethernet/amd/xgbe-a0/xgbe-common.h b/drivers/net/ethernet/amd/xgbe-a0/xgbe-common.h
new file mode 100644
index 0000000..75b08c6
index 000000000000..75b08c63d39f
--- /dev/null
+++ b/drivers/net/ethernet/amd/xgbe-a0/xgbe-common.h
@@ -0,0 +1,1142 @@
@ -1210,7 +1208,7 @@ index 0000000..75b08c6
+#endif
diff --git a/drivers/net/ethernet/amd/xgbe-a0/xgbe-dcb.c b/drivers/net/ethernet/amd/xgbe-a0/xgbe-dcb.c
new file mode 100644
index 0000000..343301c
index 000000000000..343301cbf7b4
--- /dev/null
+++ b/drivers/net/ethernet/amd/xgbe-a0/xgbe-dcb.c
@@ -0,0 +1,269 @@
@ -1485,7 +1483,7 @@ index 0000000..343301c
+}
diff --git a/drivers/net/ethernet/amd/xgbe-a0/xgbe-debugfs.c b/drivers/net/ethernet/amd/xgbe-a0/xgbe-debugfs.c
new file mode 100644
index 0000000..ecfa6f9
index 000000000000..ecfa6f91da22
--- /dev/null
+++ b/drivers/net/ethernet/amd/xgbe-a0/xgbe-debugfs.c
@@ -0,0 +1,373 @@
@ -1864,7 +1862,7 @@ index 0000000..ecfa6f9
+}
diff --git a/drivers/net/ethernet/amd/xgbe-a0/xgbe-desc.c b/drivers/net/ethernet/amd/xgbe-a0/xgbe-desc.c
new file mode 100644
index 0000000..5dd5777
index 000000000000..5dd57779c82c
--- /dev/null
+++ b/drivers/net/ethernet/amd/xgbe-a0/xgbe-desc.c
@@ -0,0 +1,636 @@
@ -2506,7 +2504,7 @@ index 0000000..5dd5777
+}
diff --git a/drivers/net/ethernet/amd/xgbe-a0/xgbe-dev.c b/drivers/net/ethernet/amd/xgbe-a0/xgbe-dev.c
new file mode 100644
index 0000000..2d88739
index 000000000000..2d88739de41c
--- /dev/null
+++ b/drivers/net/ethernet/amd/xgbe-a0/xgbe-dev.c
@@ -0,0 +1,2930 @@
@ -5442,7 +5440,7 @@ index 0000000..2d88739
+}
diff --git a/drivers/net/ethernet/amd/xgbe-a0/xgbe-drv.c b/drivers/net/ethernet/amd/xgbe-a0/xgbe-drv.c
new file mode 100644
index 0000000..ca4af9e
index 000000000000..ca4af9e508b8
--- /dev/null
+++ b/drivers/net/ethernet/amd/xgbe-a0/xgbe-drv.c
@@ -0,0 +1,2218 @@
@ -7666,7 +7664,7 @@ index 0000000..ca4af9e
+}
diff --git a/drivers/net/ethernet/amd/xgbe-a0/xgbe-ethtool.c b/drivers/net/ethernet/amd/xgbe-a0/xgbe-ethtool.c
new file mode 100644
index 0000000..165ff1c
index 000000000000..165ff1ceedcc
--- /dev/null
+++ b/drivers/net/ethernet/amd/xgbe-a0/xgbe-ethtool.c
@@ -0,0 +1,616 @@
@ -8288,10 +8286,10 @@ index 0000000..165ff1c
+}
diff --git a/drivers/net/ethernet/amd/xgbe-a0/xgbe-main.c b/drivers/net/ethernet/amd/xgbe-a0/xgbe-main.c
new file mode 100644
index 0000000..deb8551
index 000000000000..a85fb4965835
--- /dev/null
+++ b/drivers/net/ethernet/amd/xgbe-a0/xgbe-main.c
@@ -0,0 +1,618 @@
@@ -0,0 +1,643 @@
+/*
+ * AMD 10Gb Ethernet driver
+ *
@ -8478,8 +8476,13 @@ index 0000000..deb8551
+#ifdef CONFIG_ACPI
+static int xgbe_acpi_support(struct xgbe_prv_data *pdata)
+{
+ struct acpi_device *adev = pdata->adev;
+ struct device *dev = pdata->dev;
+ u32 property;
+ acpi_handle handle;
+ acpi_status status;
+ unsigned long long data;
+ int cca;
+ int ret;
+
+ /* Obtain the system clock setting */
@ -8500,6 +8503,24 @@ index 0000000..deb8551
+ }
+ pdata->ptpclk_rate = property;
+
+ /* Retrieve the device cache coherency value */
+ handle = adev->handle;
+ do {
+ status = acpi_evaluate_integer(handle, "_CCA", NULL, &data);
+ if (!ACPI_FAILURE(status)) {
+ cca = data;
+ break;
+ }
+
+ status = acpi_get_parent(handle, &handle);
+ } while (!ACPI_FAILURE(status));
+
+ if (ACPI_FAILURE(status)) {
+ dev_err(dev, "error obtaining acpi coherency value\n");
+ return -EINVAL;
+ }
+ pdata->coherent = !!cca;
+
+ return 0;
+}
+#else /* CONFIG_ACPI */
@ -8530,6 +8551,9 @@ index 0000000..deb8551
+ }
+ pdata->ptpclk_rate = clk_get_rate(pdata->ptpclk);
+
+ /* Retrieve the device cache coherency value */
+ pdata->coherent = of_dma_is_coherent(dev->of_node);
+
+ return 0;
+}
+#else /* CONFIG_OF */
@ -8648,7 +8672,6 @@ index 0000000..deb8551
+ goto err_io;
+
+ /* Set the DMA coherency values */
+ pdata->coherent = device_dma_is_coherent(pdata->dev);
+ if (pdata->coherent) {
+ pdata->axdomain = XGBE_DMA_OS_AXDOMAIN;
+ pdata->arcache = XGBE_DMA_OS_ARCACHE;
@ -8912,7 +8935,7 @@ index 0000000..deb8551
+module_platform_driver(xgbe_a0_driver);
diff --git a/drivers/net/ethernet/amd/xgbe-a0/xgbe-mdio.c b/drivers/net/ethernet/amd/xgbe-a0/xgbe-mdio.c
new file mode 100644
index 0000000..b84d048
index 000000000000..b84d0481bed8
--- /dev/null
+++ b/drivers/net/ethernet/amd/xgbe-a0/xgbe-mdio.c
@@ -0,0 +1,312 @@
@ -9230,7 +9253,7 @@ index 0000000..b84d048
+}
diff --git a/drivers/net/ethernet/amd/xgbe-a0/xgbe-ptp.c b/drivers/net/ethernet/amd/xgbe-a0/xgbe-ptp.c
new file mode 100644
index 0000000..1016aeb
index 000000000000..1016aeb96162
--- /dev/null
+++ b/drivers/net/ethernet/amd/xgbe-a0/xgbe-ptp.c
@@ -0,0 +1,278 @@
@ -9514,7 +9537,7 @@ index 0000000..1016aeb
+}
diff --git a/drivers/net/ethernet/amd/xgbe-a0/xgbe.h b/drivers/net/ethernet/amd/xgbe-a0/xgbe.h
new file mode 100644
index 0000000..04c00d2
index 000000000000..04c00d236c49
--- /dev/null
+++ b/drivers/net/ethernet/amd/xgbe-a0/xgbe.h
@@ -0,0 +1,868 @@
@ -10386,6 +10409,3 @@ index 0000000..04c00d2
+#endif
+
+#endif
--
2.4.5

View File

@ -2255,6 +2255,9 @@ fi
# ||----w |
# || ||
%changelog
* Tue Aug 4 2015 Peter Robinson <pbrobinson@fedoraproject.org>
- Back port AMD Seattle a0 4.1 NIC driver update
* Mon Aug 03 2015 Josh Boyer <jwboyer@fedoraproject.org> - 4.1.4-100
- Linux v4.1.4
- CVE-2015-5697 info leak in md driver (rhbz 1249011 1249013)