Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 324232
b: refs/heads/master
c: c121504
h: refs/heads/master
v: v3
  • Loading branch information
Gavin Shan authored and Bjorn Helgaas committed Sep 11, 2012
1 parent 1a9eac1 commit 6b2be6f
Show file tree
Hide file tree
Showing 2 changed files with 24 additions and 14 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 462d93030628a598bc440dcd35c89fb7fc63f58c
refs/heads/master: c121504e899c19f7e25b4894f616475073876361
36 changes: 23 additions & 13 deletions trunk/drivers/pci/setup-bus.c
Original file line number Diff line number Diff line change
Expand Up @@ -812,6 +812,28 @@ static void pbus_size_io(struct pci_bus *bus, resource_size_t min_size,
}
}

static inline resource_size_t calculate_mem_align(resource_size_t *aligns,
int max_order)
{
resource_size_t align = 0;
resource_size_t min_align = 0;
int order;

for (order = 0; order <= max_order; order++) {
resource_size_t align1 = 1;

align1 <<= (order + 20);

if (!align)
min_align = align1;
else if (ALIGN(align + min_align, min_align) < align1)
min_align = align1 >> 1;
align += aligns[order];
}

return min_align;
}

/**
* pbus_size_mem() - size the memory window of a given bus
*
Expand Down Expand Up @@ -891,20 +913,8 @@ static int pbus_size_mem(struct pci_bus *bus, unsigned long mask,
children_add_size += get_res_add_size(realloc_head, r);
}
}
align = 0;
min_align = 0;
for (order = 0; order <= max_order; order++) {
resource_size_t align1 = 1;

align1 <<= (order + 20);

if (!align)
min_align = align1;
else if (ALIGN(align + min_align, min_align) < align1)
min_align = align1 >> 1;
align += aligns[order];
}

min_align = calculate_mem_align(aligns, max_order);
min_align = max(min_align, window_alignment(bus, b_res->flags & mask));
size0 = calculate_memsize(size, min_size, 0, resource_size(b_res), min_align);
if (children_add_size > add_size)
Expand Down

0 comments on commit 6b2be6f

Please sign in to comment.