lkml.org 
[lkml]   [2010]   [Dec]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Subject[PATCH 3/9] Revert "x86/PCI: allocate space from the end of a region, not the beginning"
From
Date

This reverts commit dc9887dc02e37bcf83f4e792aa14b07782ef54cf.

Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
---

arch/x86/pci/i386.c | 17 ++++++-----------
1 files changed, 6 insertions(+), 11 deletions(-)


diff --git a/arch/x86/pci/i386.c b/arch/x86/pci/i386.c
index c4bb261..8379c2c 100644
--- a/arch/x86/pci/i386.c
+++ b/arch/x86/pci/i386.c
@@ -65,21 +65,16 @@ pcibios_align_resource(void *data, const struct resource *res,
resource_size_t size, resource_size_t align)
{
struct pci_dev *dev = data;
- resource_size_t start = round_down(res->end - size + 1, align);
+ resource_size_t start = res->start;

if (res->flags & IORESOURCE_IO) {
-
- /*
- * If we're avoiding ISA aliases, the largest contiguous I/O
- * port space is 256 bytes. Clearing bits 9 and 10 preserves
- * all 256-byte and smaller alignments, so the result will
- * still be correctly aligned.
- */
- if (!skip_isa_ioresource_align(dev))
- start &= ~0x300;
+ if (skip_isa_ioresource_align(dev))
+ return start;
+ if (start & 0x300)
+ start = (start + 0x3ff) & ~0x3ff;
} else if (res->flags & IORESOURCE_MEM) {
if (start < BIOS_END)
- start = res->end; /* fail; no space */
+ start = BIOS_END;
}
return start;
}


\
 
 \ /
  Last update: 2010-12-16 18:41    [W:0.120 / U:0.432 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site