summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gp10b/hal_gp10b.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/nvgpu/gp10b/hal_gp10b.c')
-rw-r--r--drivers/gpu/nvgpu/gp10b/hal_gp10b.c20
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
54static struct gpu_ops gp10b_ops = { 55static 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);