summaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
Diffstat (limited to 'drivers')
-rw-r--r--drivers/gpu/nvgpu/gk20a/gk20a_allocator_page.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/gk20a_allocator_page.c b/drivers/gpu/nvgpu/gk20a/gk20a_allocator_page.c
index 07e3d823..42eb9a14 100644
--- a/drivers/gpu/nvgpu/gk20a/gk20a_allocator_page.c
+++ b/drivers/gpu/nvgpu/gk20a/gk20a_allocator_page.c
@@ -57,6 +57,22 @@ 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 int gk20a_page_reserve_co(struct gk20a_allocator *a,
61 struct gk20a_alloc_carveout *co)
62{
63 struct gk20a_page_allocator *va = a->priv;
64
65 return gk20a_alloc_reserve_carveout(&va->source_allocator, co);
66}
67
68static void gk20a_page_release_co(struct gk20a_allocator *a,
69 struct gk20a_alloc_carveout *co)
70{
71 struct gk20a_page_allocator *va = a->priv;
72
73 gk20a_alloc_release_carveout(&va->source_allocator, co);
74}
75
60static int __insert_page_alloc(struct gk20a_page_allocator *a, 76static int __insert_page_alloc(struct gk20a_page_allocator *a,
61 struct gk20a_page_alloc *alloc) 77 struct gk20a_page_alloc *alloc)
62{ 78{
@@ -469,6 +485,9 @@ static const struct gk20a_allocator_ops page_ops = {
469 .alloc_fixed = gk20a_page_alloc_fixed, 485 .alloc_fixed = gk20a_page_alloc_fixed,
470 .free_fixed = gk20a_page_free_fixed, 486 .free_fixed = gk20a_page_free_fixed,
471 487
488 .reserve_carveout = gk20a_page_reserve_co,
489 .release_carveout = gk20a_page_release_co,
490
472 .base = gk20a_page_alloc_base, 491 .base = gk20a_page_alloc_base,
473 .length = gk20a_page_alloc_length, 492 .length = gk20a_page_alloc_length,
474 .end = gk20a_page_alloc_end, 493 .end = gk20a_page_alloc_end,