gpu: nvgpu: Avoid 64 bit division

Avoid doing 64bit division in the page allocator. This causes problems
on 32 bit platforms.

Bug 1799159

Change-Id: I5166a71a4e84454686cce6d6cdca678a862a7ae7
Signed-off-by: Alex Waterman <alexw@nvidia.com>
Reviewed-on: http://git-master/r/1236799
(cherry picked from commit 21c091d1c00433acb9965c3d348d16fbb4c50c1a)
Reviewed-on: http://git-master/r/1236195
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
This commit is contained in:
Alex Waterman
2016-10-13 13:37:46 -07:00
committed by mobile promotions
parent fc4f0ddddb
commit ba3dbc452c

View File

@@ -229,7 +229,7 @@ static struct page_alloc_slab_page *alloc_slab_page(
INIT_LIST_HEAD(&slab_page->list_entry);
slab_page->slab_size = slab->slab_size;
slab_page->nr_objects = a->page_size / slab->slab_size;
slab_page->nr_objects = (u32)a->page_size / slab->slab_size;
slab_page->nr_objects_alloced = 0;
slab_page->owner = slab;
slab_page->state = SP_NONE;
@@ -389,7 +389,7 @@ static void __gk20a_free_slab(struct gk20a_page_allocator *a,
enum slab_page_state new_state;
int offs;
offs = (alloc->base - slab_page->page_addr) / slab_page->slab_size;
offs = (u32)(alloc->base - slab_page->page_addr) / slab_page->slab_size;
bitmap_clear(&slab_page->bitmap, offs, 1);
slab_page->nr_objects_alloced--;