Home Home > GIT Browse
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2017-07-04 10:47:39 +0200
committerTakashi Iwai <tiwai@suse.de>2017-07-04 10:47:39 +0200
commit16ed942f26a5fe97fd9b16d77aa767c522a2afad (patch)
tree68d98ed1671c2d2fc7b3eecbb25109e2543dba29
parent3b227ef20df2eaed5ec21b9ee8c937784f77e3a6 (diff)
parent68ead15391865e2053dc5f6ff88cb1115ab33109 (diff)
Merge branch 'users/msuchanek/SLE12-SP3/for-next' into SLE12-SP3
Pull ibmvnic fixes from Michal Suchanek (bsc#1046589).
-rw-r--r--patches.arch/powerpc-Fix-proc-cpuinfo-revision-for-POWER9-DD2.patch51
-rw-r--r--patches.drivers/ibmvnic-a2-Fix-assignment-of-RX-TX-IRQ-s.patch67
-rw-r--r--series.conf3
3 files changed, 121 insertions, 0 deletions
diff --git a/patches.arch/powerpc-Fix-proc-cpuinfo-revision-for-POWER9-DD2.patch b/patches.arch/powerpc-Fix-proc-cpuinfo-revision-for-POWER9-DD2.patch
new file mode 100644
index 0000000000..e555f2c06e
--- /dev/null
+++ b/patches.arch/powerpc-Fix-proc-cpuinfo-revision-for-POWER9-DD2.patch
@@ -0,0 +1,51 @@
+From 64ebb9a208c6e66316329a6d9101815d1ee06fa9 Mon Sep 17 00:00:00 2001
+From: Michael Neuling <mikey@neuling.org>
+Date: Thu, 15 Jun 2017 11:53:16 +1000
+Subject: [PATCH] powerpc: Fix /proc/cpuinfo revision for POWER9 DD2
+
+References: bsc#1046789
+Patch-mainline: queued
+Git-repo: https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git
+Git-commit: 64ebb9a208c6e66316329a6d9101815d1ee06fa9
+
+The P9 PVR bits 12-15 don't indicate a revision but instead different
+chip configurations. From BookIV we have:
+ Bits Configuration
+ 0 : Scale out 12 cores
+ 1 : Scale out 24 cores
+ 2 : Scale up 12 cores
+ 3 : Scale up 24 cores
+
+DD1 doesn't use this but DD2 does. Linux will mostly use the "Scale
+out 24 core" configuration (ie. SMT4 not SMT8) which results in a PVR
+of 0x004e1200. The reported revision in /proc/cpuinfo is hence
+reported incorrectly as "18.0".
+
+This patch fixes this to mask off only the relevant bits for the major
+revision (ie. bits 8-11) for POWER9.
+
+Signed-off-by: Michael Neuling <mikey@neuling.org>
+Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
+Acked-by: Michal Suchanek <msuchanek@suse.de>
+---
+ arch/powerpc/kernel/setup-common.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/arch/powerpc/kernel/setup-common.c b/arch/powerpc/kernel/setup-common.c
+index 71dcda91755d..096dee58b9c1 100644
+--- a/arch/powerpc/kernel/setup-common.c
++++ b/arch/powerpc/kernel/setup-common.c
+@@ -335,6 +335,10 @@ static int show_cpuinfo(struct seq_file *m, void *v)
+ maj = ((pvr >> 8) & 0xFF) - 1;
+ min = pvr & 0xFF;
+ break;
++ case 0x004e: /* POWER9 bits 12-15 give chip type */
++ maj = (pvr >> 8) & 0x0F;
++ min = pvr & 0xFF;
++ break;
+ default:
+ maj = (pvr >> 8) & 0xFF;
+ min = pvr & 0xFF;
+--
+2.10.2
+
diff --git a/patches.drivers/ibmvnic-a2-Fix-assignment-of-RX-TX-IRQ-s.patch b/patches.drivers/ibmvnic-a2-Fix-assignment-of-RX-TX-IRQ-s.patch
new file mode 100644
index 0000000000..41c6d389f9
--- /dev/null
+++ b/patches.drivers/ibmvnic-a2-Fix-assignment-of-RX-TX-IRQ-s.patch
@@ -0,0 +1,67 @@
+From 5df969c3b0c6df03d72e0e7502c4adc7838442f9 Mon Sep 17 00:00:00 2001
+From: Thomas Falcon <tlfalcon@linux.vnet.ibm.com>
+Date: Wed, 28 Jun 2017 19:55:54 -0500
+Subject: [PATCH] ibmvnic: Fix assignment of RX/TX IRQ's
+
+References: bsc#1046589
+Patch-mainline: queued
+Git-repo: https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git
+Git-commit: 5df969c3b0c6df03d72e0e7502c4adc7838442f9
+
+The driver currently creates RX/TX queues during device probe, but
+assigns IRQ's to them during device open. On reset, however,
+IRQ's are assigned when resetting the queues. If there is a reset
+while the device is closed and the device is later opened, the driver will
+request IRQ's twice, causing the open to fail. This patch assigns
+the IRQ's in the ibmvnic_init function after the queues are reset or
+initialized, ensuring IRQ's are only requested once.
+
+Signed-off-by: Thomas Falcon <tlfalcon@linux.vnet.ibm.com>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+Acked-by: Michal Suchanek <msuchanek@suse.de>
+---
+ drivers/net/ethernet/ibm/ibmvnic.c | 14 +++++++-------
+ 1 file changed, 7 insertions(+), 7 deletions(-)
+
+diff --git a/drivers/net/ethernet/ibm/ibmvnic.c b/drivers/net/ethernet/ibm/ibmvnic.c
+index 87db1eb5cc44..a3e694679635 100644
+--- a/drivers/net/ethernet/ibm/ibmvnic.c
++++ b/drivers/net/ethernet/ibm/ibmvnic.c
+@@ -763,12 +763,6 @@ static int init_resources(struct ibmvnic_adapter *adapter)
+ if (rc)
+ return rc;
+
+- rc = init_sub_crq_irqs(adapter);
+- if (rc) {
+- netdev_err(netdev, "failed to initialize sub crq irqs\n");
+- return -1;
+- }
+-
+ rc = init_stats_token(adapter);
+ if (rc)
+ return rc;
+@@ -1803,7 +1797,6 @@ static int reset_sub_crq_queues(struct ibmvnic_adapter *adapter)
+ return rc;
+ }
+
+- rc = init_sub_crq_irqs(adapter);
+ return rc;
+ }
+
+@@ -3669,6 +3662,13 @@ static int ibmvnic_init(struct ibmvnic_adapter *adapter)
+ if (rc) {
+ dev_err(dev, "Initialization of sub crqs failed\n");
+ release_crq_queue(adapter);
++ return rc;
++ }
++
++ rc = init_sub_crq_irqs(adapter);
++ if (rc) {
++ dev_err(dev, "Failed to initialize sub crq irqs\n");
++ release_crq_queue(adapter);
+ }
+
+ return rc;
+--
+2.10.2
+
diff --git a/series.conf b/series.conf
index e085f8c38b..773603074e 100644
--- a/series.conf
+++ b/series.conf
@@ -1030,6 +1030,7 @@
patches.arch/powerpc-book3s-Add-a-cpu-table-entry-for-different-P.patch
patches.arch/powerpc-64s-Remove-ICSWX-feature-from-Power9.patch
patches.arch/powerpc-64s-Remove-SAO-feature-from-Power9-DD1.patch
+ patches.arch/powerpc-Fix-proc-cpuinfo-revision-for-POWER9-DD2.patch
# fate#322470
patches.arch/powerpc-bigmem-01-mm-slice-Fix-off-by-1-error-when-computing-s.patch
@@ -11155,6 +11156,8 @@
patches.drivers/ibmvnic-98-ibmvnic-Correct-return-code-checking-for-ibmvnic_init-during-probe.patch
patches.drivers/ibmvnic-a0-ibmvnic-Fix-incorrectly-defined-ibmvnic_request_map_rsp-structure.patch
patches.drivers/ibmvnic-a1-ibmvnic-Fix-error-handling-when-registering-long-term-mapped-buffers.patch
+ patches.drivers/ibmvnic-a2-Fix-assignment-of-RX-TX-IRQ-s.patch
+
patches.drivers/0002-hns-set-relation-between-hns_roce-and-hns_enet_drv.patch
patches.drivers/0005-RDMA-bnxt_re-Fixing-the-Control-path-command-and-res.patch
patches.drivers/0006-RDMA-bnxt_re-HW-workarounds-for-handling-specific-co.patch