diff options
author | Gregory Fong <[email protected]> | 2014-12-12 16:54:48 -0800 |
---|---|---|
committer | Linus Torvalds <[email protected]> | 2014-12-13 12:42:46 -0800 |
commit | b5be83e308f70e16c63c4e520ea7bb03ef57c46f (patch) | |
tree | 0828ee0c60cd16d172a815fc5a4adcbc67d034f6 /tools/perf/scripts/python | |
parent | 5e19b013f55a884c59a14391b22138899d1cc4cc (diff) |
mm: cma: align to physical address, not CMA region position
The alignment in cma_alloc() was done w.r.t. the bitmap. This is a
problem when, for example:
- a device requires 16M (order 12) alignment
- the CMA region is not 16 M aligned
In such a case, can result with the CMA region starting at, say,
0x2f800000 but any allocation you make from there will be aligned from
there. Requesting an allocation of 32 M with 16 M alignment will result
in an allocation from 0x2f800000 to 0x31800000, which doesn't work very
well if your strange device requires 16M alignment.
Change to use bitmap_find_next_zero_area_off() to account for the
difference in alignment at reserve-time and alloc-time.
Signed-off-by: Gregory Fong <[email protected]>
Acked-by: Michal Nazarewicz <[email protected]>
Cc: Marek Szyprowski <[email protected]>
Cc: Joonsoo Kim <[email protected]>
Cc: Kukjin Kim <[email protected]>
Cc: Laurent Pinchart <[email protected]>
Cc: Laura Abbott <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Diffstat (limited to 'tools/perf/scripts/python')
0 files changed, 0 insertions, 0 deletions