summaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorSami Kiminki <skiminki@nvidia.com>2018-02-08 16:29:41 -0500
committermobile promotions <svcmobile_promotions@nvidia.com>2018-02-09 11:51:48 -0500
commitff5b12fffd7563ce0704fadbc9c479caf851d68c (patch)
tree62f7b0840a88c523fd033f8f6393f9d292b4b115 /drivers
parent244a124ce2ae5daa10283f3129843a72bc36676e (diff)
gpu: nvgpu: gv11b: Fix CBC base calculus
On GV11B, CBC base is calculated in similar fashion than it's calculated on dGPUs. Thus, remove gv11b_ltc_cbc_fix_config() as it would incorrectly multiply the CBC base by the LTC count. Bug 2054860 Change-Id: Iaed717161547468c17e12236149d970c497885b3 Signed-off-by: Sami Kiminki <skiminki@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/1654506 Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/gpu/nvgpu/common/linux/vgpu/gv11b/vgpu_hal_gv11b.c1
-rw-r--r--drivers/gpu/nvgpu/gv11b/hal_gv11b.c1
-rw-r--r--drivers/gpu/nvgpu/gv11b/ltc_gv11b.c12
-rw-r--r--drivers/gpu/nvgpu/gv11b/ltc_gv11b.h1
4 files changed, 0 insertions, 15 deletions
diff --git a/drivers/gpu/nvgpu/common/linux/vgpu/gv11b/vgpu_hal_gv11b.c b/drivers/gpu/nvgpu/common/linux/vgpu/gv11b/vgpu_hal_gv11b.c
index b9e44b03..987dd186 100644
--- a/drivers/gpu/nvgpu/common/linux/vgpu/gv11b/vgpu_hal_gv11b.c
+++ b/drivers/gpu/nvgpu/common/linux/vgpu/gv11b/vgpu_hal_gv11b.c
@@ -95,7 +95,6 @@ static const struct gpu_ops vgpu_gv11b_ops = {
95 .init_comptags = vgpu_ltc_init_comptags, 95 .init_comptags = vgpu_ltc_init_comptags,
96 .cbc_ctrl = NULL, 96 .cbc_ctrl = NULL,
97 .isr = gv11b_ltc_isr, 97 .isr = gv11b_ltc_isr,
98 .cbc_fix_config = gv11b_ltc_cbc_fix_config,
99 .flush = gm20b_flush_ltc, 98 .flush = gm20b_flush_ltc,
100 .set_enabled = gp10b_ltc_set_enabled, 99 .set_enabled = gp10b_ltc_set_enabled,
101 }, 100 },
diff --git a/drivers/gpu/nvgpu/gv11b/hal_gv11b.c b/drivers/gpu/nvgpu/gv11b/hal_gv11b.c
index 72537b44..3ce557bc 100644
--- a/drivers/gpu/nvgpu/gv11b/hal_gv11b.c
+++ b/drivers/gpu/nvgpu/gv11b/hal_gv11b.c
@@ -236,7 +236,6 @@ static const struct gpu_ops gv11b_ops = {
236 .init_comptags = gp10b_ltc_init_comptags, 236 .init_comptags = gp10b_ltc_init_comptags,
237 .cbc_ctrl = gp10b_ltc_cbc_ctrl, 237 .cbc_ctrl = gp10b_ltc_cbc_ctrl,
238 .isr = gv11b_ltc_isr, 238 .isr = gv11b_ltc_isr,
239 .cbc_fix_config = gv11b_ltc_cbc_fix_config,
240 .flush = gm20b_flush_ltc, 239 .flush = gm20b_flush_ltc,
241 .set_enabled = gp10b_ltc_set_enabled, 240 .set_enabled = gp10b_ltc_set_enabled,
242 }, 241 },
diff --git a/drivers/gpu/nvgpu/gv11b/ltc_gv11b.c b/drivers/gpu/nvgpu/gv11b/ltc_gv11b.c
index a596c3b2..9bfefa9e 100644
--- a/drivers/gpu/nvgpu/gv11b/ltc_gv11b.c
+++ b/drivers/gpu/nvgpu/gv11b/ltc_gv11b.c
@@ -187,15 +187,3 @@ void gv11b_ltc_isr(struct gk20a *g)
187 /* fallback to other interrupts */ 187 /* fallback to other interrupts */
188 gp10b_ltc_isr(g); 188 gp10b_ltc_isr(g);
189} 189}
190
191u32 gv11b_ltc_cbc_fix_config(struct gk20a *g, int base)
192{
193 u32 val = gk20a_readl(g, ltc_ltcs_ltss_cbc_num_active_ltcs_r());
194
195 if (ltc_ltcs_ltss_cbc_num_active_ltcs__v(val) == 2)
196 return base * 2;
197 else if (ltc_ltcs_ltss_cbc_num_active_ltcs__v(val) != 1) {
198 nvgpu_err(g, "Invalid number of active ltcs: %08x", val);
199 }
200 return base;
201}
diff --git a/drivers/gpu/nvgpu/gv11b/ltc_gv11b.h b/drivers/gpu/nvgpu/gv11b/ltc_gv11b.h
index 9b46e74c..8309e662 100644
--- a/drivers/gpu/nvgpu/gv11b/ltc_gv11b.h
+++ b/drivers/gpu/nvgpu/gv11b/ltc_gv11b.h
@@ -29,6 +29,5 @@ void gv11b_ltc_set_zbc_stencil_entry(struct gk20a *g,
29 u32 index); 29 u32 index);
30void gv11b_ltc_init_fs_state(struct gk20a *g); 30void gv11b_ltc_init_fs_state(struct gk20a *g);
31void gv11b_ltc_isr(struct gk20a *g); 31void gv11b_ltc_isr(struct gk20a *g);
32u32 gv11b_ltc_cbc_fix_config(struct gk20a *g, int base);
33 32
34#endif 33#endif