diff options
Diffstat (limited to 'drivers/gpu/nvgpu/gp10b/hal_gp10b.c')
-rw-r--r-- | drivers/gpu/nvgpu/gp10b/hal_gp10b.c | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/drivers/gpu/nvgpu/gp10b/hal_gp10b.c b/drivers/gpu/nvgpu/gp10b/hal_gp10b.c index a1906a08..bf7a039c 100644 --- a/drivers/gpu/nvgpu/gp10b/hal_gp10b.c +++ b/drivers/gpu/nvgpu/gp10b/hal_gp10b.c | |||
@@ -36,6 +36,7 @@ | |||
36 | #include "gp10b/therm_gp10b.h" | 36 | #include "gp10b/therm_gp10b.h" |
37 | #include "gp10b/priv_ring_gp10b.h" | 37 | #include "gp10b/priv_ring_gp10b.h" |
38 | 38 | ||
39 | #include "gm20b/ltc_gm20b.h" | ||
39 | #include "gm20b/gr_gm20b.h" | 40 | #include "gm20b/gr_gm20b.h" |
40 | #include "gm20b/fifo_gm20b.h" | 41 | #include "gm20b/fifo_gm20b.h" |
41 | #include "gm20b/pmu_gm20b.h" | 42 | #include "gm20b/pmu_gm20b.h" |
@@ -51,7 +52,22 @@ | |||
51 | #include <nvgpu/hw/gp10b/hw_proj_gp10b.h> | 52 | #include <nvgpu/hw/gp10b/hw_proj_gp10b.h> |
52 | #include <nvgpu/hw/gp10b/hw_fuse_gp10b.h> | 53 | #include <nvgpu/hw/gp10b/hw_fuse_gp10b.h> |
53 | 54 | ||
54 | static struct gpu_ops gp10b_ops = { | 55 | static const struct gpu_ops gp10b_ops = { |
56 | .ltc = { | ||
57 | .determine_L2_size_bytes = gp10b_determine_L2_size_bytes, | ||
58 | .set_zbc_color_entry = gm20b_ltc_set_zbc_color_entry, | ||
59 | .set_zbc_depth_entry = gm20b_ltc_set_zbc_depth_entry, | ||
60 | .init_cbc = gm20b_ltc_init_cbc, | ||
61 | .init_fs_state = gp10b_ltc_init_fs_state, | ||
62 | .init_comptags = gp10b_ltc_init_comptags, | ||
63 | .cbc_ctrl = gm20b_ltc_cbc_ctrl, | ||
64 | .isr = gp10b_ltc_isr, | ||
65 | .cbc_fix_config = gm20b_ltc_cbc_fix_config, | ||
66 | .flush = gm20b_flush_ltc, | ||
67 | #ifdef CONFIG_DEBUG_FS | ||
68 | .sync_debugfs = gp10b_ltc_sync_debugfs, | ||
69 | #endif | ||
70 | }, | ||
55 | .clock_gating = { | 71 | .clock_gating = { |
56 | .slcg_bus_load_gating_prod = | 72 | .slcg_bus_load_gating_prod = |
57 | gp10b_slcg_bus_load_gating_prod, | 73 | gp10b_slcg_bus_load_gating_prod, |
@@ -196,6 +212,7 @@ int gp10b_init_hal(struct gk20a *g) | |||
196 | struct nvgpu_gpu_characteristics *c = &g->gpu_characteristics; | 212 | struct nvgpu_gpu_characteristics *c = &g->gpu_characteristics; |
197 | u32 val; | 213 | u32 val; |
198 | 214 | ||
215 | gops->ltc = gp10b_ops.ltc; | ||
199 | gops->clock_gating = gp10b_ops.clock_gating; | 216 | gops->clock_gating = gp10b_ops.clock_gating; |
200 | gops->pmupstate = false; | 217 | gops->pmupstate = false; |
201 | #ifdef CONFIG_TEGRA_ACR | 218 | #ifdef CONFIG_TEGRA_ACR |
@@ -240,7 +257,6 @@ int gp10b_init_hal(struct gk20a *g) | |||
240 | gp10b_init_priv_ring(gops); | 257 | gp10b_init_priv_ring(gops); |
241 | gp10b_init_gr(gops); | 258 | gp10b_init_gr(gops); |
242 | gp10b_init_fecs_trace_ops(gops); | 259 | gp10b_init_fecs_trace_ops(gops); |
243 | gp10b_init_ltc(gops); | ||
244 | gp10b_init_fb(gops); | 260 | gp10b_init_fb(gops); |
245 | gp10b_init_fifo(gops); | 261 | gp10b_init_fifo(gops); |
246 | gp10b_init_ce(gops); | 262 | gp10b_init_ce(gops); |