summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gv11b/ce_gv11b.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/nvgpu/gv11b/ce_gv11b.c')
-rw-r--r--drivers/gpu/nvgpu/gv11b/ce_gv11b.c16
1 files changed, 15 insertions, 1 deletions
diff --git a/drivers/gpu/nvgpu/gv11b/ce_gv11b.c b/drivers/gpu/nvgpu/gv11b/ce_gv11b.c
index 2eea11df..035f2ef9 100644
--- a/drivers/gpu/nvgpu/gv11b/ce_gv11b.c
+++ b/drivers/gpu/nvgpu/gv11b/ce_gv11b.c
@@ -1,7 +1,7 @@
1/* 1/*
2 * Volta GPU series Copy Engine. 2 * Volta GPU series Copy Engine.
3 * 3 *
4 * Copyright (c) 2016-2018, NVIDIA CORPORATION. All rights reserved. 4 * Copyright (c) 2016-2019, NVIDIA CORPORATION. All rights reserved.
5 * 5 *
6 * Permission is hereby granted, free of charge, to any person obtaining a 6 * Permission is hereby granted, free of charge, to any person obtaining a
7 * copy of this software and associated documentation files (the "Software"), 7 * copy of this software and associated documentation files (the "Software"),
@@ -108,3 +108,17 @@ void gv11b_ce_mthd_buffer_fault_in_bar2_fault(struct gk20a *g)
108 } 108 }
109 } 109 }
110} 110}
111
112void gv11b_ce_init_prod_values(struct gk20a *g)
113{
114 u32 reg_val;
115 u32 num_lce, lce;
116
117 num_lce = gv11b_ce_get_num_lce(g);
118
119 for (lce = 0U; lce < num_lce; lce++) {
120 reg_val = nvgpu_readl(g, ce_lce_opt_r(lce));
121 reg_val |= ce_lce_opt_force_barriers_npl__prod_f();
122 nvgpu_writel(g, ce_lce_opt_r(lce), reg_val);
123 }
124}