diff options
Diffstat (limited to 'drivers/gpu/nvgpu/common/ltc.c')
-rw-r--r-- | drivers/gpu/nvgpu/common/ltc.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/common/ltc.c b/drivers/gpu/nvgpu/common/ltc.c index 4fbdbe2e..006e2ed2 100644 --- a/drivers/gpu/nvgpu/common/ltc.c +++ b/drivers/gpu/nvgpu/common/ltc.c | |||
@@ -21,8 +21,10 @@ | |||
21 | */ | 21 | */ |
22 | 22 | ||
23 | #include <nvgpu/ltc.h> | 23 | #include <nvgpu/ltc.h> |
24 | #include <nvgpu/dma.h> | ||
24 | 25 | ||
25 | #include "gk20a/gk20a.h" | 26 | #include "gk20a/gk20a.h" |
27 | #include "gk20a/gr_gk20a.h" | ||
26 | 28 | ||
27 | int nvgpu_init_ltc_support(struct gk20a *g) | 29 | int nvgpu_init_ltc_support(struct gk20a *g) |
28 | { | 30 | { |
@@ -46,3 +48,17 @@ void nvgpu_ltc_sync_enabled(struct gk20a *g) | |||
46 | } | 48 | } |
47 | nvgpu_spinlock_release(&g->ltc_enabled_lock); | 49 | nvgpu_spinlock_release(&g->ltc_enabled_lock); |
48 | } | 50 | } |
51 | |||
52 | int nvgpu_ltc_alloc_cbc(struct gk20a *g, size_t compbit_backing_size) | ||
53 | { | ||
54 | struct gr_gk20a *gr = &g->gr; | ||
55 | unsigned long flags = 0; | ||
56 | |||
57 | if (!nvgpu_iommuable(g)) | ||
58 | flags = NVGPU_DMA_FORCE_CONTIGUOUS; | ||
59 | |||
60 | return nvgpu_dma_alloc_flags_sys(g, | ||
61 | flags, | ||
62 | compbit_backing_size, | ||
63 | &gr->compbit_store.mem); | ||
64 | } | ||