From e628e23d598a83550149fa3b9ee74ebe26df19a7 Mon Sep 17 00:00:00 2001
From: dt
Date: Tue, 20 Jul 2021 19:13:51 +0000
Subject: [PATCH] gpu: nvgpu: nvgpu-next: Fixup for false ltc tag tracking
This is clearing the write-through behavior of CE and ROP writes.
Bug 200601972
Change-Id: I269d2b994be13f5e15090c520c129d36489df3c1
Signed-off-by: dt
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvgpu/+/2561967
Reviewed-by: Vaibhav Kachore
Reviewed-by: mobile promotions
Tested-by: mobile promotions
GVS: Gerrit_Virtual_Submit
---
drivers/gpu/nvgpu/common/ltc/ltc.c | 4 ++++
drivers/gpu/nvgpu/include/nvgpu/gops/ltc.h | 2 +-
2 files changed, 5 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/nvgpu/common/ltc/ltc.c b/drivers/gpu/nvgpu/common/ltc/ltc.c
index bb8dce3ad..d5ccc69af 100644
--- a/drivers/gpu/nvgpu/common/ltc/ltc.c
+++ b/drivers/gpu/nvgpu/common/ltc/ltc.c
@@ -73,6 +73,10 @@ int nvgpu_init_ltc_support(struct gk20a *g)
}
}
+ if (g->ops.ltc.ltc_lts_set_mgmt_setup != NULL) {
+ g->ops.ltc.ltc_lts_set_mgmt_setup(g);
+ }
+
if (g->ops.ltc.intr.configure != NULL) {
nvgpu_cic_mon_intr_stall_unit_config(g, NVGPU_CIC_INTR_UNIT_LTC,
NVGPU_CIC_INTR_ENABLE);
diff --git a/drivers/gpu/nvgpu/include/nvgpu/gops/ltc.h b/drivers/gpu/nvgpu/include/nvgpu/gops/ltc.h
index e5a7bc884..431703d59 100644
--- a/drivers/gpu/nvgpu/include/nvgpu/gops/ltc.h
+++ b/drivers/gpu/nvgpu/include/nvgpu/gops/ltc.h
@@ -137,6 +137,7 @@ struct gops_ltc {
void (*init_fs_state)(struct gk20a *g);
void (*set_enabled)(struct gk20a *g, bool enabled);
+ void (*ltc_lts_set_mgmt_setup)(struct gk20a *g);
#ifdef CONFIG_NVGPU_GRAPHICS
void (*set_zbc_color_entry)(struct gk20a *g,
u32 *color_val_l2, u32 index);
@@ -164,7 +165,6 @@ struct gops_ltc {
u32 policy);
#if defined(CONFIG_NVGPU_HAL_NON_FUSA)
u32 (*pri_shared_addr)(struct gk20a *g, u32 addr);
- void (*ltc_lts_set_mgmt_setup)(struct gk20a *g);
#endif
#endif
/** @endcond DOXYGEN_SHOULD_SKIP_THIS */