drivers: dma-removed: align size first
Align size first and then find required number of bits and order out of it. Change-Id: I9b12fb45e5c1ff79e24fe7584cd23923b1a88c87 Signed-off-by: Shiraz Hashim <shashim@codeaurora.org>
This commit is contained in:
parent
ce7a052ffc
commit
dd0ab21370
1 changed files with 6 additions and 4 deletions
|
@ -79,17 +79,19 @@ void *removed_alloc(struct device *dev, size_t size, dma_addr_t *handle,
|
||||||
attrs);
|
attrs);
|
||||||
bool skip_zeroing = dma_get_attr(DMA_ATTR_SKIP_ZEROING, attrs);
|
bool skip_zeroing = dma_get_attr(DMA_ATTR_SKIP_ZEROING, attrs);
|
||||||
int pageno;
|
int pageno;
|
||||||
unsigned long order = get_order(size);
|
unsigned long order;
|
||||||
void *addr = NULL;
|
void *addr = NULL;
|
||||||
struct removed_region *dma_mem = dev->removed_mem;
|
struct removed_region *dma_mem = dev->removed_mem;
|
||||||
int nbits = size >> PAGE_SHIFT;
|
int nbits;
|
||||||
unsigned int align;
|
unsigned int align;
|
||||||
|
|
||||||
size = PAGE_ALIGN(size);
|
|
||||||
|
|
||||||
if (!(gfp & __GFP_WAIT))
|
if (!(gfp & __GFP_WAIT))
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
|
size = PAGE_ALIGN(size);
|
||||||
|
nbits = size >> PAGE_SHIFT;
|
||||||
|
order = get_order(size);
|
||||||
|
|
||||||
if (order > get_order(SZ_1M))
|
if (order > get_order(SZ_1M))
|
||||||
order = get_order(SZ_1M);
|
order = get_order(SZ_1M);
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue