]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
3.10-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 5 Dec 2014 18:00:54 +0000 (10:00 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 5 Dec 2014 18:00:54 +0000 (10:00 -0800)
added patches:
powerpc-powernv-honor-the-generic-no_64bit_msi-flag.patch

queue-3.10/powerpc-powernv-honor-the-generic-no_64bit_msi-flag.patch [new file with mode: 0644]
queue-3.10/series

diff --git a/queue-3.10/powerpc-powernv-honor-the-generic-no_64bit_msi-flag.patch b/queue-3.10/powerpc-powernv-honor-the-generic-no_64bit_msi-flag.patch
new file mode 100644 (file)
index 0000000..2ba0ec8
--- /dev/null
@@ -0,0 +1,57 @@
+From 360743814c4082515581aa23ab1d8e699e1fbe88 Mon Sep 17 00:00:00 2001
+From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
+Date: Tue, 7 Oct 2014 16:12:36 +1100
+Subject: powerpc/powernv: Honor the generic "no_64bit_msi" flag
+
+From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
+
+commit 360743814c4082515581aa23ab1d8e699e1fbe88 upstream.
+
+Instead of the arch specific quirk which we are deprecating
+and that drivers don't understand.
+
+Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ arch/powerpc/platforms/powernv/pci-ioda.c |    3 +--
+ arch/powerpc/platforms/powernv/pci.c      |    4 ++--
+ 2 files changed, 3 insertions(+), 4 deletions(-)
+
+--- a/arch/powerpc/platforms/powernv/pci-ioda.c
++++ b/arch/powerpc/platforms/powernv/pci-ioda.c
+@@ -789,7 +789,6 @@ static int pnv_pci_ioda_msi_setup(struct
+                                 unsigned int is_64, struct msi_msg *msg)
+ {
+       struct pnv_ioda_pe *pe = pnv_ioda_get_pe(dev);
+-      struct pci_dn *pdn = pci_get_pdn(dev);
+       struct irq_data *idata;
+       struct irq_chip *ichip;
+       unsigned int xive_num = hwirq - phb->msi_base;
+@@ -806,7 +805,7 @@ static int pnv_pci_ioda_msi_setup(struct
+               return -ENXIO;
+       /* Force 32-bit MSI on some broken devices */
+-      if (pdn && pdn->force_32bit_msi)
++      if (dev->no_64bit_msi)
+               is_64 = 0;
+       /* Assign XIVE to PE */
+--- a/arch/powerpc/platforms/powernv/pci.c
++++ b/arch/powerpc/platforms/powernv/pci.c
+@@ -1,3 +1,4 @@
++
+ /*
+  * Support PCI/PCIe on PowerNV platforms
+  *
+@@ -47,9 +48,8 @@ static int pnv_msi_check_device(struct p
+ {
+       struct pci_controller *hose = pci_bus_to_host(pdev->bus);
+       struct pnv_phb *phb = hose->private_data;
+-      struct pci_dn *pdn = pci_get_pdn(pdev);
+-      if (pdn && pdn->force_32bit_msi && !phb->msi32_support)
++      if (pdev->no_64bit_msi && !phb->msi32_support)
+               return -ENODEV;
+       return (phb && phb->msi_bmp.bitmap) ? 0 : -ENODEV;
index a5529b0a043e32d471da814c230580addf592689..261aabc6e394573e0b3b01c3f5ffb99d1034c4df 100644 (file)
@@ -41,3 +41,4 @@ rt2x00-do-not-align-payload-on-modern-h-w.patch
 nfsd-fix-slot-wake-up-race-in-the-nfsv4.1-callback-code.patch
 nfsd4-fix-leak-of-inode-reference-on-delegation-failure.patch
 bnx2fc-do-not-add-shared-skbs-to-the-fcoe_rx_list.patch
+powerpc-powernv-honor-the-generic-no_64bit_msi-flag.patch