diff options
-rw-r--r-- | drivers/gpu/nvgpu/gp106/hw_pbdma_gp106.h | 8 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/gp106/hw_ram_gp106.h | 4 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/gp10b/fifo_gp10b.c | 8 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/gp10b/hw_pbdma_gp10b.h | 8 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/gp10b/hw_ram_gp10b.h | 4 |
5 files changed, 32 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/gp106/hw_pbdma_gp106.h b/drivers/gpu/nvgpu/gp106/hw_pbdma_gp106.h index a5406672..1e299bae 100644 --- a/drivers/gpu/nvgpu/gp106/hw_pbdma_gp106.h +++ b/drivers/gpu/nvgpu/gp106/hw_pbdma_gp106.h | |||
@@ -322,6 +322,14 @@ static inline u32 pbdma_userd_hi_addr_f(u32 v) | |||
322 | { | 322 | { |
323 | return (v & 0xff) << 0; | 323 | return (v & 0xff) << 0; |
324 | } | 324 | } |
325 | static inline u32 pbdma_config_r(u32 i) | ||
326 | { | ||
327 | return 0x000400f4 + i*8192; | ||
328 | } | ||
329 | static inline u32 pbdma_config_auth_level_privileged_f(void) | ||
330 | { | ||
331 | return 0x100; | ||
332 | } | ||
325 | static inline u32 pbdma_hce_ctrl_r(u32 i) | 333 | static inline u32 pbdma_hce_ctrl_r(u32 i) |
326 | { | 334 | { |
327 | return 0x000400e4 + i*8192; | 335 | return 0x000400e4 + i*8192; |
diff --git a/drivers/gpu/nvgpu/gp106/hw_ram_gp106.h b/drivers/gpu/nvgpu/gp106/hw_ram_gp106.h index b325affc..eb02ac28 100644 --- a/drivers/gpu/nvgpu/gp106/hw_ram_gp106.h +++ b/drivers/gpu/nvgpu/gp106/hw_ram_gp106.h | |||
@@ -370,6 +370,10 @@ static inline u32 ram_fc_chid_id_w(void) | |||
370 | { | 370 | { |
371 | return 0; | 371 | return 0; |
372 | } | 372 | } |
373 | static inline u32 ram_fc_config_w(void) | ||
374 | { | ||
375 | return 61; | ||
376 | } | ||
373 | static inline u32 ram_fc_runlist_timeslice_w(void) | 377 | static inline u32 ram_fc_runlist_timeslice_w(void) |
374 | { | 378 | { |
375 | return 62; | 379 | return 62; |
diff --git a/drivers/gpu/nvgpu/gp10b/fifo_gp10b.c b/drivers/gpu/nvgpu/gp10b/fifo_gp10b.c index 0aa6e29e..349f25fc 100644 --- a/drivers/gpu/nvgpu/gp10b/fifo_gp10b.c +++ b/drivers/gpu/nvgpu/gp10b/fifo_gp10b.c | |||
@@ -132,6 +132,14 @@ static int channel_gp10b_setup_ramfc(struct channel_gk20a *c, | |||
132 | 132 | ||
133 | gk20a_mem_wr32(g, mem, ram_fc_chid_w(), ram_fc_chid_id_f(c->hw_chid)); | 133 | gk20a_mem_wr32(g, mem, ram_fc_chid_w(), ram_fc_chid_id_f(c->hw_chid)); |
134 | 134 | ||
135 | if (c->is_privileged_channel) { | ||
136 | /* Set privilege level for channel */ | ||
137 | gk20a_mem_wr32(g, mem, ram_fc_config_w(), | ||
138 | pbdma_config_auth_level_privileged_f()); | ||
139 | |||
140 | gk20a_channel_setup_ramfc_for_privileged_channel(c); | ||
141 | } | ||
142 | |||
135 | return channel_gp10b_commit_userd(c); | 143 | return channel_gp10b_commit_userd(c); |
136 | } | 144 | } |
137 | 145 | ||
diff --git a/drivers/gpu/nvgpu/gp10b/hw_pbdma_gp10b.h b/drivers/gpu/nvgpu/gp10b/hw_pbdma_gp10b.h index 0caffb22..65aedccd 100644 --- a/drivers/gpu/nvgpu/gp10b/hw_pbdma_gp10b.h +++ b/drivers/gpu/nvgpu/gp10b/hw_pbdma_gp10b.h | |||
@@ -342,6 +342,14 @@ static inline u32 pbdma_userd_hi_addr_f(u32 v) | |||
342 | { | 342 | { |
343 | return (v & 0xff) << 0; | 343 | return (v & 0xff) << 0; |
344 | } | 344 | } |
345 | static inline u32 pbdma_config_r(u32 i) | ||
346 | { | ||
347 | return 0x000400f4 + i*8192; | ||
348 | } | ||
349 | static inline u32 pbdma_config_auth_level_privileged_f(void) | ||
350 | { | ||
351 | return 0x100; | ||
352 | } | ||
345 | static inline u32 pbdma_hce_ctrl_r(u32 i) | 353 | static inline u32 pbdma_hce_ctrl_r(u32 i) |
346 | { | 354 | { |
347 | return 0x000400e4 + i*8192; | 355 | return 0x000400e4 + i*8192; |
diff --git a/drivers/gpu/nvgpu/gp10b/hw_ram_gp10b.h b/drivers/gpu/nvgpu/gp10b/hw_ram_gp10b.h index 55323579..89dfbc21 100644 --- a/drivers/gpu/nvgpu/gp10b/hw_ram_gp10b.h +++ b/drivers/gpu/nvgpu/gp10b/hw_ram_gp10b.h | |||
@@ -382,6 +382,10 @@ static inline u32 ram_fc_chid_id_w(void) | |||
382 | { | 382 | { |
383 | return 0; | 383 | return 0; |
384 | } | 384 | } |
385 | static inline u32 ram_fc_config_w(void) | ||
386 | { | ||
387 | return 61; | ||
388 | } | ||
385 | static inline u32 ram_fc_runlist_timeslice_w(void) | 389 | static inline u32 ram_fc_runlist_timeslice_w(void) |
386 | { | 390 | { |
387 | return 62; | 391 | return 62; |