Commit 06e0dcae authored by Colin Cross's avatar Colin Cross Committed by Greg Kroah-Hartman

ion: convert sg_dma_len(sg) to sg->length

ion is always dealing with the allocation and not the mapping,
so it should always be using sg->length and not sg->dma_length.
Signed-off-by: default avatarColin Cross <ccross@android.com>
Signed-off-by: default avatarJohn Stultz <john.stultz@linaro.org>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent e946b209
...@@ -224,7 +224,7 @@ static struct ion_buffer *ion_buffer_create(struct ion_heap *heap, ...@@ -224,7 +224,7 @@ static struct ion_buffer *ion_buffer_create(struct ion_heap *heap,
for_each_sg(table->sgl, sg, table->nents, i) { for_each_sg(table->sgl, sg, table->nents, i) {
struct page *page = sg_page(sg); struct page *page = sg_page(sg);
for (j = 0; j < sg_dma_len(sg) / PAGE_SIZE; j++) for (j = 0; j < sg->length / PAGE_SIZE; j++)
buffer->pages[k++] = page++; buffer->pages[k++] = page++;
} }
......
...@@ -84,7 +84,7 @@ static int ion_chunk_heap_allocate(struct ion_heap *heap, ...@@ -84,7 +84,7 @@ static int ion_chunk_heap_allocate(struct ion_heap *heap,
sg = table->sgl; sg = table->sgl;
for (i -= 1; i >= 0; i--) { for (i -= 1; i >= 0; i--) {
gen_pool_free(chunk_heap->pool, page_to_phys(sg_page(sg)), gen_pool_free(chunk_heap->pool, page_to_phys(sg_page(sg)),
sg_dma_len(sg)); sg->length);
sg = sg_next(sg); sg = sg_next(sg);
} }
sg_free_table(table); sg_free_table(table);
...@@ -112,7 +112,7 @@ static void ion_chunk_heap_free(struct ion_buffer *buffer) ...@@ -112,7 +112,7 @@ static void ion_chunk_heap_free(struct ion_buffer *buffer)
for_each_sg(table->sgl, sg, table->nents, i) { for_each_sg(table->sgl, sg, table->nents, i) {
gen_pool_free(chunk_heap->pool, page_to_phys(sg_page(sg)), gen_pool_free(chunk_heap->pool, page_to_phys(sg_page(sg)),
sg_dma_len(sg)); sg->length);
} }
chunk_heap->allocated -= allocated_size; chunk_heap->allocated -= allocated_size;
sg_free_table(table); sg_free_table(table);
......
...@@ -46,7 +46,7 @@ void *ion_heap_map_kernel(struct ion_heap *heap, ...@@ -46,7 +46,7 @@ void *ion_heap_map_kernel(struct ion_heap *heap,
pgprot = pgprot_writecombine(PAGE_KERNEL); pgprot = pgprot_writecombine(PAGE_KERNEL);
for_each_sg(table->sgl, sg, table->nents, i) { for_each_sg(table->sgl, sg, table->nents, i) {
int npages_this_entry = PAGE_ALIGN(sg_dma_len(sg)) / PAGE_SIZE; int npages_this_entry = PAGE_ALIGN(sg->length) / PAGE_SIZE;
struct page *page = sg_page(sg); struct page *page = sg_page(sg);
BUG_ON(i >= npages); BUG_ON(i >= npages);
for (j = 0; j < npages_this_entry; j++) { for (j = 0; j < npages_this_entry; j++) {
...@@ -80,14 +80,14 @@ int ion_heap_map_user(struct ion_heap *heap, struct ion_buffer *buffer, ...@@ -80,14 +80,14 @@ int ion_heap_map_user(struct ion_heap *heap, struct ion_buffer *buffer,
for_each_sg(table->sgl, sg, table->nents, i) { for_each_sg(table->sgl, sg, table->nents, i) {
struct page *page = sg_page(sg); struct page *page = sg_page(sg);
unsigned long remainder = vma->vm_end - addr; unsigned long remainder = vma->vm_end - addr;
unsigned long len = sg_dma_len(sg); unsigned long len = sg->length;
if (offset >= sg_dma_len(sg)) { if (offset >= sg->length) {
offset -= sg_dma_len(sg); offset -= sg->length;
continue; continue;
} else if (offset) { } else if (offset) {
page += offset / PAGE_SIZE; page += offset / PAGE_SIZE;
len = sg_dma_len(sg) - offset; len = sg->length - offset;
offset = 0; offset = 0;
} }
len = min(len, remainder); len = min(len, remainder);
...@@ -119,7 +119,7 @@ int ion_heap_buffer_zero(struct ion_buffer *buffer) ...@@ -119,7 +119,7 @@ int ion_heap_buffer_zero(struct ion_buffer *buffer)
for_each_sg(table->sgl, sg, table->nents, i) { for_each_sg(table->sgl, sg, table->nents, i) {
struct page *page = sg_page(sg); struct page *page = sg_page(sg);
unsigned long len = sg_dma_len(sg); unsigned long len = sg->length;
for (j = 0; j < len / PAGE_SIZE; j++) { for (j = 0; j < len / PAGE_SIZE; j++) {
struct page *sub_page = page + j; struct page *sub_page = page + j;
......
...@@ -209,7 +209,7 @@ void ion_system_heap_free(struct ion_buffer *buffer) ...@@ -209,7 +209,7 @@ void ion_system_heap_free(struct ion_buffer *buffer)
for_each_sg(table->sgl, sg, table->nents, i) for_each_sg(table->sgl, sg, table->nents, i)
free_buffer_page(sys_heap, buffer, sg_page(sg), free_buffer_page(sys_heap, buffer, sg_page(sg),
get_order(sg_dma_len(sg))); get_order(sg->length));
sg_free_table(table); sg_free_table(table);
kfree(table); kfree(table);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment