summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gp106/acr_gp106.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/nvgpu/gp106/acr_gp106.c')
-rw-r--r--drivers/gpu/nvgpu/gp106/acr_gp106.c23
1 files changed, 2 insertions, 21 deletions
diff --git a/drivers/gpu/nvgpu/gp106/acr_gp106.c b/drivers/gpu/nvgpu/gp106/acr_gp106.c
index 0b4b86f4..0e49214e 100644
--- a/drivers/gpu/nvgpu/gp106/acr_gp106.c
+++ b/drivers/gpu/nvgpu/gp106/acr_gp106.c
@@ -91,31 +91,12 @@ static void flcn64_set_dma(struct falc_u64 *dma_addr, u64 value)
91int gp106_alloc_blob_space(struct gk20a *g, 91int gp106_alloc_blob_space(struct gk20a *g,
92 size_t size, struct mem_desc *mem) 92 size_t size, struct mem_desc *mem)
93{ 93{
94 int err = 0;
95 struct wpr_carveout_info wpr_inf; 94 struct wpr_carveout_info wpr_inf;
96 95
97 g->ops.pmu.get_wpr(g, &wpr_inf); 96 g->ops.pmu.get_wpr(g, &wpr_inf);
98 97
99 mem->aperture = APERTURE_VIDMEM; 98 return gk20a_gmmu_alloc_attr_vid_at(g, 0, wpr_inf.size, mem,
100 mem->sgt = kzalloc(sizeof(*mem->sgt), GFP_KERNEL); 99 wpr_inf.nonwpr_base);
101 if (!mem->sgt) {
102 gk20a_err(dev_from_gk20a(g), "failed to allocate memory\n");
103 return -ENOMEM;
104 }
105
106 err = sg_alloc_table(mem->sgt, 1, GFP_KERNEL);
107 if (err) {
108 gk20a_err(dev_from_gk20a(g), "failed to allocate sg_table\n");
109 goto free_sgt;
110 }
111
112 sg_dma_address(mem->sgt->sgl) = wpr_inf.nonwpr_base;
113
114 return err;
115
116free_sgt:
117 gk20a_free_sgtable(&mem->sgt);
118 return err;
119} 100}
120 101
121void gp106_init_secure_pmu(struct gpu_ops *gops) 102void gp106_init_secure_pmu(struct gpu_ops *gops)