diff options
Diffstat (limited to 'drivers/gpu/nvgpu/gv11b')
-rw-r--r-- | drivers/gpu/nvgpu/gv11b/ce_gv11b.c | 16 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/gv11b/ce_gv11b.h | 3 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/gv11b/hal_gv11b.c | 1 |
3 files changed, 18 insertions, 2 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 | |||
112 | void 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 | } | ||
diff --git a/drivers/gpu/nvgpu/gv11b/ce_gv11b.h b/drivers/gpu/nvgpu/gv11b/ce_gv11b.h index 43a891e6..985117f4 100644 --- a/drivers/gpu/nvgpu/gv11b/ce_gv11b.h +++ b/drivers/gpu/nvgpu/gv11b/ce_gv11b.h | |||
@@ -2,7 +2,7 @@ | |||
2 | * | 2 | * |
3 | * Volta GPU series copy engine | 3 | * Volta GPU series copy engine |
4 | * | 4 | * |
5 | * Copyright (c) 2016-2018, NVIDIA CORPORATION. All rights reserved. | 5 | * Copyright (c) 2016-2019, NVIDIA CORPORATION. All rights reserved. |
6 | * | 6 | * |
7 | * Permission is hereby granted, free of charge, to any person obtaining a | 7 | * Permission is hereby granted, free of charge, to any person obtaining a |
8 | * copy of this software and associated documentation files (the "Software"), | 8 | * copy of this software and associated documentation files (the "Software"), |
@@ -31,5 +31,6 @@ void gv11b_ce_mthd_buffer_fault_in_bar2_fault(struct gk20a *g); | |||
31 | u32 gv11b_ce_get_num_lce(struct gk20a *g); | 31 | u32 gv11b_ce_get_num_lce(struct gk20a *g); |
32 | u32 gv11b_ce_get_num_pce(struct gk20a *g); | 32 | u32 gv11b_ce_get_num_pce(struct gk20a *g); |
33 | void gv11b_ce_isr(struct gk20a *g, u32 inst_id, u32 pri_base); | 33 | void gv11b_ce_isr(struct gk20a *g, u32 inst_id, u32 pri_base); |
34 | void gv11b_ce_init_prod_values(struct gk20a *g); | ||
34 | 35 | ||
35 | #endif /* NVGPU_CE_GV11B_H */ | 36 | #endif /* NVGPU_CE_GV11B_H */ |
diff --git a/drivers/gpu/nvgpu/gv11b/hal_gv11b.c b/drivers/gpu/nvgpu/gv11b/hal_gv11b.c index 38f21bff..4f298133 100644 --- a/drivers/gpu/nvgpu/gv11b/hal_gv11b.c +++ b/drivers/gpu/nvgpu/gv11b/hal_gv11b.c | |||
@@ -278,6 +278,7 @@ static const struct gpu_ops gv11b_ops = { | |||
278 | .isr_stall = gv11b_ce_isr, | 278 | .isr_stall = gv11b_ce_isr, |
279 | .isr_nonstall = gp10b_ce_nonstall_isr, | 279 | .isr_nonstall = gp10b_ce_nonstall_isr, |
280 | .get_num_pce = gv11b_ce_get_num_pce, | 280 | .get_num_pce = gv11b_ce_get_num_pce, |
281 | .init_prod_values = gv11b_ce_init_prod_values, | ||
281 | }, | 282 | }, |
282 | .gr = { | 283 | .gr = { |
283 | .get_patch_slots = gr_gv100_get_patch_slots, | 284 | .get_patch_slots = gr_gv100_get_patch_slots, |