summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gk20a/gk20a_allocator_page.c
diff options
context:
space:
mode:
authorKonsta Holtta <kholtta@nvidia.com>2016-09-20 06:32:45 -0400
committermobile promotions <svcmobile_promotions@nvidia.com>2016-10-14 11:12:27 -0400
commit4d07572c8279f199c220e7c606cc9ffb73216d83 (patch)
tree78464a1176273b15de005b61ab758d97a111f1ec /drivers/gpu/nvgpu/gk20a/gk20a_allocator_page.c
parent6fb5481a6b64530474bb378f3a7b1e2b5516fc2c (diff)
gpu: nvgpu: add space query in page and buddy allocs
Amount of free space in the buddy allocator is computed from the complete capacity minus currently used bytes. The page allocator just queries its underlying allocator. Bug 1787771 Bug 200233138 Change-Id: I9b6f5ef90119236a13de14e14cd0a3ee72144a11 Signed-off-by: Konsta Holtta <kholtta@nvidia.com> Reviewed-on: http://git-master/r/1223761 (cherry picked from commit 0b324a60ebdf67e793ade869c252a8ddd56c04f8) Reviewed-on: http://git-master/r/1235979 GVS: Gerrit_Virtual_Submit Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/gk20a_allocator_page.c')
-rw-r--r--drivers/gpu/nvgpu/gk20a/gk20a_allocator_page.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/gk20a_allocator_page.c b/drivers/gpu/nvgpu/gk20a/gk20a_allocator_page.c
index 42eb9a14..2e5d46b9 100644
--- a/drivers/gpu/nvgpu/gk20a/gk20a_allocator_page.c
+++ b/drivers/gpu/nvgpu/gk20a/gk20a_allocator_page.c
@@ -57,6 +57,13 @@ static u64 gk20a_page_alloc_end(struct gk20a_allocator *a)
57 return gk20a_alloc_end(&va->source_allocator); 57 return gk20a_alloc_end(&va->source_allocator);
58} 58}
59 59
60static u64 gk20a_page_alloc_space(struct gk20a_allocator *a)
61{
62 struct gk20a_page_allocator *va = a->priv;
63
64 return gk20a_alloc_space(&va->source_allocator);
65}
66
60static int gk20a_page_reserve_co(struct gk20a_allocator *a, 67static int gk20a_page_reserve_co(struct gk20a_allocator *a,
61 struct gk20a_alloc_carveout *co) 68 struct gk20a_alloc_carveout *co)
62{ 69{
@@ -492,6 +499,7 @@ static const struct gk20a_allocator_ops page_ops = {
492 .length = gk20a_page_alloc_length, 499 .length = gk20a_page_alloc_length,
493 .end = gk20a_page_alloc_end, 500 .end = gk20a_page_alloc_end,
494 .inited = gk20a_page_alloc_inited, 501 .inited = gk20a_page_alloc_inited,
502 .space = gk20a_page_alloc_space,
495 503
496 .fini = gk20a_page_allocator_destroy, 504 .fini = gk20a_page_allocator_destroy,
497 505