summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gp106/hal_gp106.c
diff options
context:
space:
mode:
authorMahantesh Kumbar <mkumbar@nvidia.com>2016-06-08 10:27:15 -0400
committerDeepak Nibade <dnibade@nvidia.com>2016-12-27 04:56:17 -0500
commitca2c4ce83a846bbab953e91af37c762efaa975e6 (patch)
treecd1f8269c1646f5a106fd57700a0357dc6ff7075 /drivers/gpu/nvgpu/gp106/hal_gp106.c
parentee6be7beca896e8fbb324c164c6382fe8d695971 (diff)
gpu: nvgpu: Enable GP10x GPMU secure boot
Build support & enable GPMU secure boot for GP10x JIRA DNVGPU-34 Change-Id: Id1316677ed44790aa150e0ada8ff39daf0ef1d0c Signed-off-by: Mahantesh Kumbar <mkumbar@nvidia.com> Reviewed-on: http://git-master/r/1161174 GVS: Gerrit_Virtual_Submit Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/gp106/hal_gp106.c')
-rw-r--r--drivers/gpu/nvgpu/gp106/hal_gp106.c18
1 files changed, 15 insertions, 3 deletions
diff --git a/drivers/gpu/nvgpu/gp106/hal_gp106.c b/drivers/gpu/nvgpu/gp106/hal_gp106.c
index 7ef72d72..1b22547d 100644
--- a/drivers/gpu/nvgpu/gp106/hal_gp106.c
+++ b/drivers/gpu/nvgpu/gp106/hal_gp106.c
@@ -180,13 +180,14 @@ int gp106_init_hal(struct gk20a *g)
180{ 180{
181 struct gpu_ops *gops = &g->ops; 181 struct gpu_ops *gops = &g->ops;
182 struct nvgpu_gpu_characteristics *c = &g->gpu_characteristics; 182 struct nvgpu_gpu_characteristics *c = &g->gpu_characteristics;
183 u32 ver = g->gpu_characteristics.arch + g->gpu_characteristics.impl;
183 184
184 gk20a_dbg_fn(""); 185 gk20a_dbg_fn("");
185 186
186 *gops = gp106_ops; 187 *gops = gp106_ops;
187 188
188 gops->privsecurity = 0; 189 gops->privsecurity = 1;
189 gops->securegpccs = 0; 190 gops->securegpccs = 1;
190 191
191 gp10b_init_mc(gops); 192 gp10b_init_mc(gops);
192 gp106_init_gr(gops); 193 gp106_init_gr(gops);
@@ -202,9 +203,20 @@ int gp106_init_hal(struct gk20a *g)
202 gp10b_init_cde_ops(gops); 203 gp10b_init_cde_ops(gops);
203 gp10b_init_therm_ops(gops); 204 gp10b_init_therm_ops(gops);
204 gm206_init_bios(gops); 205 gm206_init_bios(gops);
205 gops->name = "gp106"; 206 switch(ver){
207 case NVGPU_GPUID_GP106:
208 gops->name = "gp106";
209 break;
210 case NVGPU_GPUID_GP104:
211 gops->name = "gp104";
212 break;
213 default:
214 gk20a_err(g->dev, "no support for %x", ver);
215 BUG();
216 }
206 gops->get_litter_value = gp106_get_litter_value; 217 gops->get_litter_value = gp106_get_litter_value;
207 gops->chip_init_gpu_characteristics = gk20a_init_gpu_characteristics; 218 gops->chip_init_gpu_characteristics = gk20a_init_gpu_characteristics;
219 gops->gr_ctx.use_dma_for_fw_bootstrap = true;
208 220
209 c->twod_class = FERMI_TWOD_A; 221 c->twod_class = FERMI_TWOD_A;
210 c->threed_class = PASCAL_B; 222 c->threed_class = PASCAL_B;