]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
sparc/PCI: Add IORESOURCE_MEM_64 for 64-bit resource in OF parsing
authorYinghai Lu <yinghai@kernel.org>
Thu, 8 Oct 2015 21:38:24 +0000 (14:38 -0700)
committerSantosh Shilimkar <santosh.shilimkar@oracle.com>
Mon, 19 Oct 2015 20:41:07 +0000 (13:41 -0700)
For device resource PREF bit setting under bridge 64-bit pref resource,
we need to make sure only set PREF for 64bit resource, so set
IORESOUCE_MEM_64 for 64bit resource during of device resource flags
parsing.

Link: https://bugzilla.kernel.org/show_bug.cgi?id=96261
Link: https://bugzilla.kernel.org/show_bug.cgi?id=96241
Signed-off-by: Yinghai Lu <yinghai@kernel.org>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: sparclinux@vger.kernel.org
Orabug: 21826746

Signed-off-by: Khalid Aziz <khalid.aziz@oracle.com>
(cherry picked from commit 16323876c6b2b5437c6c1ada805e22d4f63bbc5f)

arch/sparc/kernel/of_device_32.c
arch/sparc/kernel/of_device_64.c

index 185aa96fa5be442922d6f1259af4f5493def8f57..3e9f27309643ff1f52f7dd35a36bfea09679fd6e 100644 (file)
@@ -83,11 +83,12 @@ static unsigned long of_bus_pci_get_flags(const u32 *addr, unsigned long flags)
        case 0x01:
                flags |= IORESOURCE_IO;
                break;
-
        case 0x02: /* 32 bits */
-       case 0x03: /* 64 bits */
                flags |= IORESOURCE_MEM;
                break;
+       case 0x03: /* 64 bits */
+               flags |= IORESOURCE_MEM | IORESOURCE_MEM_64;
+               break;
        }
        if (w & 0x40000000)
                flags |= IORESOURCE_PREFETCH;
index 7bbdc26d95126e6ca56c946c8b4f1b59eb7ea256..defee61c27e695cf8b776b97efbe22b4276af8e5 100644 (file)
@@ -146,11 +146,12 @@ static unsigned long of_bus_pci_get_flags(const u32 *addr, unsigned long flags)
        case 0x01:
                flags |= IORESOURCE_IO;
                break;
-
        case 0x02: /* 32 bits */
-       case 0x03: /* 64 bits */
                flags |= IORESOURCE_MEM;
                break;
+       case 0x03: /* 64 bits */
+               flags |= IORESOURCE_MEM | IORESOURCE_MEM_64;
+               break;
        }
        if (w & 0x40000000)
                flags |= IORESOURCE_PREFETCH;