summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gv11b/hal_gv11b.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/nvgpu/gv11b/hal_gv11b.c')
-rw-r--r--drivers/gpu/nvgpu/gv11b/hal_gv11b.c24
1 files changed, 20 insertions, 4 deletions
diff --git a/drivers/gpu/nvgpu/gv11b/hal_gv11b.c b/drivers/gpu/nvgpu/gv11b/hal_gv11b.c
index 0cdb471b..35b1fdc5 100644
--- a/drivers/gpu/nvgpu/gv11b/hal_gv11b.c
+++ b/drivers/gpu/nvgpu/gv11b/hal_gv11b.c
@@ -25,8 +25,10 @@
25#include "gk20a/bus_gk20a.h" 25#include "gk20a/bus_gk20a.h"
26#include "gk20a/flcn_gk20a.h" 26#include "gk20a/flcn_gk20a.h"
27 27
28#include "gm20b/ltc_gm20b.h"
28#include "gm20b/gr_gm20b.h" 29#include "gm20b/gr_gm20b.h"
29 30
31#include "gp10b/ltc_gp10b.h"
30#include "gp10b/priv_ring_gp10b.h" 32#include "gp10b/priv_ring_gp10b.h"
31 33
32#include "hal_gv11b.h" 34#include "hal_gv11b.h"
@@ -50,9 +52,23 @@
50 52
51#include <nvgpu/hw/gv11b/hw_proj_gv11b.h> 53#include <nvgpu/hw/gv11b/hw_proj_gv11b.h>
52 54
53static struct gpu_ops gv11b_ops; 55static const struct gpu_ops gv11b_ops = {
54 56 .ltc = {
55static struct gpu_ops gv11b_ops = { 57 .determine_L2_size_bytes = gp10b_determine_L2_size_bytes,
58 .set_zbc_s_entry = gv11b_ltc_set_zbc_stencil_entry,
59 .set_zbc_color_entry = gm20b_ltc_set_zbc_color_entry,
60 .set_zbc_depth_entry = gm20b_ltc_set_zbc_depth_entry,
61 .init_cbc = NULL,
62 .init_fs_state = gv11b_ltc_init_fs_state,
63 .init_comptags = gp10b_ltc_init_comptags,
64 .cbc_ctrl = gm20b_ltc_cbc_ctrl,
65 .isr = gv11b_ltc_isr,
66 .cbc_fix_config = gv11b_ltc_cbc_fix_config,
67 .flush = gm20b_flush_ltc,
68#ifdef CONFIG_DEBUG_FS
69 .sync_debugfs = gp10b_ltc_sync_debugfs,
70#endif
71 },
56 .clock_gating = { 72 .clock_gating = {
57 .slcg_bus_load_gating_prod = 73 .slcg_bus_load_gating_prod =
58 gv11b_slcg_bus_load_gating_prod, 74 gv11b_slcg_bus_load_gating_prod,
@@ -187,6 +203,7 @@ int gv11b_init_hal(struct gk20a *g)
187 struct gpu_ops *gops = &g->ops; 203 struct gpu_ops *gops = &g->ops;
188 struct nvgpu_gpu_characteristics *c = &g->gpu_characteristics; 204 struct nvgpu_gpu_characteristics *c = &g->gpu_characteristics;
189 205
206 gops->ltc = gv11b_ops.ltc;
190 gops->clock_gating = gv11b_ops.clock_gating; 207 gops->clock_gating = gv11b_ops.clock_gating;
191 208
192 /* boot in non-secure modes for time beeing */ 209 /* boot in non-secure modes for time beeing */
@@ -196,7 +213,6 @@ int gv11b_init_hal(struct gk20a *g)
196 gv11b_init_bus(gops); 213 gv11b_init_bus(gops);
197 gv11b_init_mc(gops); 214 gv11b_init_mc(gops);
198 gp10b_init_priv_ring(gops); 215 gp10b_init_priv_ring(gops);
199 gv11b_init_ltc(gops);
200 gv11b_init_gr(gops); 216 gv11b_init_gr(gops);
201 gv11b_init_fecs_trace_ops(gops); 217 gv11b_init_fecs_trace_ops(gops);
202 gv11b_init_fb(gops); 218 gv11b_init_fb(gops);