summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gk20a/gk20a_allocator.h
diff options
context:
space:
mode:
authorTerje Bergstrom <tbergstrom@nvidia.com>2014-10-07 08:02:35 -0400
committerDan Willemsen <dwillemsen@nvidia.com>2015-03-18 15:12:15 -0400
commit1d9fba8804fb811771eac0f68f334f51f101ed01 (patch)
tree0be143d6fd550db0e4aba15e2ae4d76117d37ad8 /drivers/gpu/nvgpu/gk20a/gk20a_allocator.h
parentc0668f05ea1e2429444d6aad2a40dda81aba7ec8 (diff)
gpu: nvgpu: Per-alloc alignment
Change-Id: I8b7e86afb68adf6dd33b05995d0978f42d57e7b7 Signed-off-by: Terje Bergstrom <tbergstrom@nvidia.com> Reviewed-on: http://git-master/r/554185 GVS: Gerrit_Virtual_Submit
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/gk20a_allocator.h')
-rw-r--r--drivers/gpu/nvgpu/gk20a/gk20a_allocator.h11
1 files changed, 5 insertions, 6 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/gk20a_allocator.h b/drivers/gpu/nvgpu/gk20a/gk20a_allocator.h
index 154f953a..69a227bd 100644
--- a/drivers/gpu/nvgpu/gk20a/gk20a_allocator.h
+++ b/drivers/gpu/nvgpu/gk20a/gk20a_allocator.h
@@ -31,7 +31,6 @@ struct gk20a_allocator {
31 31
32 u32 base; /* min value of this linear space */ 32 u32 base; /* min value of this linear space */
33 u32 limit; /* max value = limit - 1 */ 33 u32 limit; /* max value = limit - 1 */
34 u32 align; /* alignment size, power of 2 */
35 34
36 unsigned long *bitmap; /* bitmap */ 35 unsigned long *bitmap; /* bitmap */
37 36
@@ -58,21 +57,21 @@ struct gk20a_allocator {
58 } constraint; 57 } constraint;
59 58
60 int (*alloc)(struct gk20a_allocator *allocator, 59 int (*alloc)(struct gk20a_allocator *allocator,
61 u32 *addr, u32 len); 60 u32 *addr, u32 len, u32 align);
62 int (*free)(struct gk20a_allocator *allocator, 61 int (*free)(struct gk20a_allocator *allocator,
63 u32 addr, u32 len); 62 u32 addr, u32 len, u32 align);
64 63
65}; 64};
66 65
67int gk20a_allocator_init(struct gk20a_allocator *allocator, 66int gk20a_allocator_init(struct gk20a_allocator *allocator,
68 const char *name, u32 base, u32 size, u32 align); 67 const char *name, u32 base, u32 size);
69void gk20a_allocator_destroy(struct gk20a_allocator *allocator); 68void gk20a_allocator_destroy(struct gk20a_allocator *allocator);
70 69
71int gk20a_allocator_block_alloc(struct gk20a_allocator *allocator, 70int gk20a_allocator_block_alloc(struct gk20a_allocator *allocator,
72 u32 *addr, u32 len); 71 u32 *addr, u32 len, u32 align);
73 72
74int gk20a_allocator_block_free(struct gk20a_allocator *allocator, 73int gk20a_allocator_block_free(struct gk20a_allocator *allocator,
75 u32 addr, u32 len); 74 u32 addr, u32 len, u32 align);
76 75
77#if defined(ALLOCATOR_DEBUG) 76#if defined(ALLOCATOR_DEBUG)
78 77