diff options
author | Greg Kroah-Hartman <gregkh@suse.de> | 2006-05-30 15:34:54 -0700 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2006-05-30 15:34:54 -0700 |
commit | 296ad66450ec0a4bc41b44d2b1bb86cbff182f2e (patch) | |
tree | 73992e13fa36f694219006bfca62ec18d3e08254 /pci | |
parent | e3e7920a4ec4c32af4c772be5e2cdb45798fcbea (diff) | |
download | patches-296ad66450ec0a4bc41b44d2b1bb86cbff182f2e.tar.gz |
more patches added
Diffstat (limited to 'pci')
-rw-r--r-- | pci/kconfigurable-resources-arch-dependent-changes-arch.patch | 2 | ||||
-rw-r--r-- | pci/pci-64-bit-resources-arch-powerpc-changes-update.patch | 46 |
2 files changed, 47 insertions, 1 deletions
diff --git a/pci/kconfigurable-resources-arch-dependent-changes-arch.patch b/pci/kconfigurable-resources-arch-dependent-changes-arch.patch index 8f75d64990582..1e7265506735e 100644 --- a/pci/kconfigurable-resources-arch-dependent-changes-arch.patch +++ b/pci/kconfigurable-resources-arch-dependent-changes-arch.patch @@ -212,7 +212,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> } if (start & 0x300) { -@@ -1756,7 +1756,7 @@ long sys_pciconfig_iobase(long which, un +@@ -1764,7 +1764,7 @@ long sys_pciconfig_iobase(long which, un void pci_resource_to_user(const struct pci_dev *dev, int bar, const struct resource *rsrc, diff --git a/pci/pci-64-bit-resources-arch-powerpc-changes-update.patch b/pci/pci-64-bit-resources-arch-powerpc-changes-update.patch new file mode 100644 index 0000000000000..83b1b9a60ccfa --- /dev/null +++ b/pci/pci-64-bit-resources-arch-powerpc-changes-update.patch @@ -0,0 +1,46 @@ +From akpm@osdl.org Mon May 29 15:50:49 2006 +Message-Id: <200605292250.k4TMoSCr020768@shell0.pdx.osdl.net> +From: Mel Gorman <mel@csn.ul.ie> +Subject: PCI: 64-bit-resources-arch-powerpc-changes update +To: mel@csn.ul.ie, greg@kroah.com, segher@kernel.crashing.org, + vgoyal@in.ibm.com, mm-commits@vger.kernel.org +Date: Mon, 29 May 2006 15:54:48 -0700 + +The 64-bit resource change ended up causing us to do a 64-bit divide and +ppc32 won't link (missing __udivdi3). + +The following patch has been successfully boot tested on the same +machine with 64 bit resource_size_t. Because the mask is assumed to be a +power-of-two - 1, I added a comment and a BUG_ON() to be sure. + +Signed-off-by: Mel Gorman <mel@csn.ul.ie> +Cc: Segher Boessenkool <segher@kernel.crashing.org> +Cc: Vivek Goyal <vgoyal@in.ibm.com> +Signed-off-by: Andrew Morton <akpm@osdl.org> +Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> + +--- + arch/powerpc/kernel/pci_32.c | 12 ++++++++++-- + 1 file changed, 10 insertions(+), 2 deletions(-) + +--- gregkh-2.6.orig/arch/powerpc/kernel/pci_32.c ++++ gregkh-2.6/arch/powerpc/kernel/pci_32.c +@@ -1114,8 +1114,16 @@ check_for_io_childs(struct pci_bus *bus, + int i; + int rc = 0; + +-#define push_end(res, size) do { unsigned long __sz = (size) ; \ +- res->end = ((res->end + __sz) / (__sz + 1)) * (__sz + 1) + __sz; \ ++ /* ++ * Assuming mask is a power of two - 1, push_end ++ * moves res->end to the end of the next ++ * mask-aligned boundary. ++ * e.g. res->end of 0x1fff moves to 0x2fff ++ */ ++#define push_end(res, mask) do { \ ++ BUG_ON(((mask+1) & mask) != 0); \ ++ res->end = -(-res->end & ~(unsigned long)mask); \ ++ res->end += mask; \ + } while (0) + + list_for_each_entry(dev, &bus->devices, bus_list) { |