summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorseshendra Gadagottu <sgadagottu@nvidia.com>2018-01-18 14:02:08 -0500
committermobile promotions <svcmobile_promotions@nvidia.com>2018-01-22 18:29:54 -0500
commit193a2ed38ca51d898ac811820ab86237c84e18eb (patch)
treeda672582c2322fc91c7b5c600deb5a60f3068a8d
parentf6d898656a6d7c197aa27ee53f5f0151fb6dfcf5 (diff)
gpu: nvgpu: add sw method for SET_BES_CROP_DEBUG4
Added sw method support for SET_BES_CROP_DEBUG4. In this sw method: CLAMP_FP_BLEND_TO_MAXVAL forces overflow and CLAMP_FP_BLEND_TO_INF blend results to clamp to FP maxval. Added support for this sw method in gp10b/gp106/gv11b and gv100. Bug 2046636 Change-Id: I3a9e97587aca76718f7f504ea3b853f87409092a Signed-off-by: seshendra Gadagottu <sgadagottu@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/1641529 Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
-rw-r--r--drivers/gpu/nvgpu/common/linux/vgpu/gp10b/vgpu_hal_gp10b.c1
-rw-r--r--drivers/gpu/nvgpu/common/linux/vgpu/gv11b/vgpu_hal_gv11b.c1
-rw-r--r--drivers/gpu/nvgpu/gk20a/gk20a.h1
-rw-r--r--drivers/gpu/nvgpu/gp106/gr_gp106.c3
-rw-r--r--drivers/gpu/nvgpu/gp106/hal_gp106.c1
-rw-r--r--drivers/gpu/nvgpu/gp10b/gr_gp10b.c27
-rw-r--r--drivers/gpu/nvgpu/gp10b/gr_gp10b.h5
-rw-r--r--drivers/gpu/nvgpu/gv100/hal_gv100.c1
-rw-r--r--drivers/gpu/nvgpu/gv11b/gr_gv11b.c3
-rw-r--r--drivers/gpu/nvgpu/gv11b/gr_gv11b.h1
-rw-r--r--drivers/gpu/nvgpu/gv11b/hal_gv11b.c1
-rw-r--r--drivers/gpu/nvgpu/include/nvgpu/hw/gp106/hw_gr_gp106.h18
-rw-r--r--drivers/gpu/nvgpu/include/nvgpu/hw/gp10b/hw_gr_gp10b.h18
-rw-r--r--drivers/gpu/nvgpu/include/nvgpu/hw/gv100/hw_gr_gv100.h16
-rw-r--r--drivers/gpu/nvgpu/include/nvgpu/hw/gv11b/hw_gr_gv11b.h16
15 files changed, 111 insertions, 2 deletions
diff --git a/drivers/gpu/nvgpu/common/linux/vgpu/gp10b/vgpu_hal_gp10b.c b/drivers/gpu/nvgpu/common/linux/vgpu/gp10b/vgpu_hal_gp10b.c
index 5b8307e5..164ac3d2 100644
--- a/drivers/gpu/nvgpu/common/linux/vgpu/gp10b/vgpu_hal_gp10b.c
+++ b/drivers/gpu/nvgpu/common/linux/vgpu/gp10b/vgpu_hal_gp10b.c
@@ -204,6 +204,7 @@ static const struct gpu_ops vgpu_gp10b_ops = {
204 .init_preemption_state = gr_gp10b_init_preemption_state, 204 .init_preemption_state = gr_gp10b_init_preemption_state,
205 .update_boosted_ctx = NULL, 205 .update_boosted_ctx = NULL,
206 .set_bes_crop_debug3 = gr_gp10b_set_bes_crop_debug3, 206 .set_bes_crop_debug3 = gr_gp10b_set_bes_crop_debug3,
207 .set_bes_crop_debug4 = gr_gp10b_set_bes_crop_debug4,
207 .create_gr_sysfs = gr_gp10b_create_sysfs, 208 .create_gr_sysfs = gr_gp10b_create_sysfs,
208 .set_ctxsw_preemption_mode = 209 .set_ctxsw_preemption_mode =
209 vgpu_gr_gp10b_set_ctxsw_preemption_mode, 210 vgpu_gr_gp10b_set_ctxsw_preemption_mode,
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 0813ad75..d205f039 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
@@ -222,6 +222,7 @@ static const struct gpu_ops vgpu_gv11b_ops = {
222 .init_preemption_state = NULL, 222 .init_preemption_state = NULL,
223 .update_boosted_ctx = NULL, 223 .update_boosted_ctx = NULL,
224 .set_bes_crop_debug3 = gr_gp10b_set_bes_crop_debug3, 224 .set_bes_crop_debug3 = gr_gp10b_set_bes_crop_debug3,
225 .set_bes_crop_debug4 = gr_gp10b_set_bes_crop_debug4,
225 .create_gr_sysfs = gr_gv11b_create_sysfs, 226 .create_gr_sysfs = gr_gv11b_create_sysfs,
226 .set_ctxsw_preemption_mode = vgpu_gr_gp10b_set_ctxsw_preemption_mode, 227 .set_ctxsw_preemption_mode = vgpu_gr_gp10b_set_ctxsw_preemption_mode,
227 .is_etpc_addr = gv11b_gr_pri_is_etpc_addr, 228 .is_etpc_addr = gv11b_gr_pri_is_etpc_addr,
diff --git a/drivers/gpu/nvgpu/gk20a/gk20a.h b/drivers/gpu/nvgpu/gk20a/gk20a.h
index 31855250..50f827a9 100644
--- a/drivers/gpu/nvgpu/gk20a/gk20a.h
+++ b/drivers/gpu/nvgpu/gk20a/gk20a.h
@@ -205,6 +205,7 @@ struct gpu_ops {
205 u32 data); 205 u32 data);
206 void (*set_circular_buffer_size)(struct gk20a *g, u32 data); 206 void (*set_circular_buffer_size)(struct gk20a *g, u32 data);
207 void (*set_bes_crop_debug3)(struct gk20a *g, u32 data); 207 void (*set_bes_crop_debug3)(struct gk20a *g, u32 data);
208 void (*set_bes_crop_debug4)(struct gk20a *g, u32 data);
208 void (*enable_hww_exceptions)(struct gk20a *g); 209 void (*enable_hww_exceptions)(struct gk20a *g);
209 bool (*is_valid_class)(struct gk20a *g, u32 class_num); 210 bool (*is_valid_class)(struct gk20a *g, u32 class_num);
210 bool (*is_valid_gfx_class)(struct gk20a *g, u32 class_num); 211 bool (*is_valid_gfx_class)(struct gk20a *g, u32 class_num);
diff --git a/drivers/gpu/nvgpu/gp106/gr_gp106.c b/drivers/gpu/nvgpu/gp106/gr_gp106.c
index 02cecf53..1bd24b45 100644
--- a/drivers/gpu/nvgpu/gp106/gr_gp106.c
+++ b/drivers/gpu/nvgpu/gp106/gr_gp106.c
@@ -110,6 +110,9 @@ int gr_gp106_handle_sw_method(struct gk20a *g, u32 addr,
110 case NVC097_SET_BES_CROP_DEBUG3: 110 case NVC097_SET_BES_CROP_DEBUG3:
111 g->ops.gr.set_bes_crop_debug3(g, data); 111 g->ops.gr.set_bes_crop_debug3(g, data);
112 break; 112 break;
113 case NVC097_SET_BES_CROP_DEBUG4:
114 g->ops.gr.set_bes_crop_debug4(g, data);
115 break;
113 default: 116 default:
114 goto fail; 117 goto fail;
115 } 118 }
diff --git a/drivers/gpu/nvgpu/gp106/hal_gp106.c b/drivers/gpu/nvgpu/gp106/hal_gp106.c
index bd02f914..68562955 100644
--- a/drivers/gpu/nvgpu/gp106/hal_gp106.c
+++ b/drivers/gpu/nvgpu/gp106/hal_gp106.c
@@ -368,6 +368,7 @@ static const struct gpu_ops gp106_ops = {
368 .init_preemption_state = NULL, 368 .init_preemption_state = NULL,
369 .update_boosted_ctx = NULL, 369 .update_boosted_ctx = NULL,
370 .set_bes_crop_debug3 = gr_gp10b_set_bes_crop_debug3, 370 .set_bes_crop_debug3 = gr_gp10b_set_bes_crop_debug3,
371 .set_bes_crop_debug4 = gr_gp10b_set_bes_crop_debug4,
371 .create_gr_sysfs = NULL, 372 .create_gr_sysfs = NULL,
372 .set_ctxsw_preemption_mode = gr_gp106_set_ctxsw_preemption_mode, 373 .set_ctxsw_preemption_mode = gr_gp106_set_ctxsw_preemption_mode,
373 .load_ctxsw_ucode = gr_gm20b_load_ctxsw_ucode 374 .load_ctxsw_ucode = gr_gm20b_load_ctxsw_ucode
diff --git a/drivers/gpu/nvgpu/gp10b/gr_gp10b.c b/drivers/gpu/nvgpu/gp10b/gr_gp10b.c
index 549a4da4..17685f59 100644
--- a/drivers/gpu/nvgpu/gp10b/gr_gp10b.c
+++ b/drivers/gpu/nvgpu/gp10b/gr_gp10b.c
@@ -695,6 +695,30 @@ void gr_gp10b_set_bes_crop_debug3(struct gk20a *g, u32 data)
695 gk20a_writel(g, gr_bes_crop_debug3_r(), val); 695 gk20a_writel(g, gr_bes_crop_debug3_r(), val);
696} 696}
697 697
698void gr_gp10b_set_bes_crop_debug4(struct gk20a *g, u32 data)
699{
700 u32 val;
701
702 nvgpu_log_fn(g, " ");
703
704 val = gk20a_readl(g, gr_bes_crop_debug4_r());
705 if (data & NVC097_BES_CROP_DEBUG4_CLAMP_FP_BLEND_TO_MAXVAL) {
706 val = set_field(val,
707 gr_bes_crop_debug4_clamp_fp_blend_m(),
708 gr_bes_crop_debug4_clamp_fp_blend_to_maxval_f());
709 } else if (data & NVC097_BES_CROP_DEBUG4_CLAMP_FP_BLEND_TO_INF) {
710 val = set_field(val,
711 gr_bes_crop_debug4_clamp_fp_blend_m(),
712 gr_bes_crop_debug4_clamp_fp_blend_to_inf_f());
713 } else {
714 nvgpu_warn(g,
715 "gr_gp10b_set_bes_crop_debug4: wrong data sent!");
716 return;
717 }
718 gk20a_writel(g, gr_bes_crop_debug4_r(), val);
719}
720
721
698int gr_gp10b_handle_sw_method(struct gk20a *g, u32 addr, 722int gr_gp10b_handle_sw_method(struct gk20a *g, u32 addr,
699 u32 class_num, u32 offset, u32 data) 723 u32 class_num, u32 offset, u32 data)
700{ 724{
@@ -736,6 +760,9 @@ int gr_gp10b_handle_sw_method(struct gk20a *g, u32 addr,
736 case NVC097_SET_BES_CROP_DEBUG3: 760 case NVC097_SET_BES_CROP_DEBUG3:
737 g->ops.gr.set_bes_crop_debug3(g, data); 761 g->ops.gr.set_bes_crop_debug3(g, data);
738 break; 762 break;
763 case NVC097_SET_BES_CROP_DEBUG4:
764 g->ops.gr.set_bes_crop_debug4(g, data);
765 break;
739 default: 766 default:
740 goto fail; 767 goto fail;
741 } 768 }
diff --git a/drivers/gpu/nvgpu/gp10b/gr_gp10b.h b/drivers/gpu/nvgpu/gp10b/gr_gp10b.h
index 8d553d37..8f1ebb16 100644
--- a/drivers/gpu/nvgpu/gp10b/gr_gp10b.h
+++ b/drivers/gpu/nvgpu/gp10b/gr_gp10b.h
@@ -49,9 +49,13 @@ enum {
49#define NVC097_SET_CIRCULAR_BUFFER_SIZE 0x1280 49#define NVC097_SET_CIRCULAR_BUFFER_SIZE 0x1280
50#define NVC097_SET_SHADER_EXCEPTIONS 0x1528 50#define NVC097_SET_SHADER_EXCEPTIONS 0x1528
51#define NVC097_SET_BES_CROP_DEBUG3 0x10c4 51#define NVC097_SET_BES_CROP_DEBUG3 0x10c4
52#define NVC097_SET_BES_CROP_DEBUG4 0x10b0
52#define NVC0C0_SET_SHADER_EXCEPTIONS 0x1528 53#define NVC0C0_SET_SHADER_EXCEPTIONS 0x1528
53#define NVC0C0_SET_RD_COALESCE 0x0228 54#define NVC0C0_SET_RD_COALESCE 0x0228
54 55
56#define NVC097_BES_CROP_DEBUG4_CLAMP_FP_BLEND_TO_INF 0x0
57#define NVC097_BES_CROP_DEBUG4_CLAMP_FP_BLEND_TO_MAXVAL 0x1
58
55int gr_gp10b_init_fs_state(struct gk20a *g); 59int gr_gp10b_init_fs_state(struct gk20a *g);
56int gr_gp10b_alloc_buffer(struct vm_gk20a *vm, size_t size, 60int gr_gp10b_alloc_buffer(struct vm_gk20a *vm, size_t size,
57 struct nvgpu_mem *mem); 61 struct nvgpu_mem *mem);
@@ -85,6 +89,7 @@ int gr_gp10b_add_zbc_depth(struct gk20a *g, struct gr_gk20a *gr,
85u32 gr_gp10b_pagepool_default_size(struct gk20a *g); 89u32 gr_gp10b_pagepool_default_size(struct gk20a *g);
86int gr_gp10b_calc_global_ctx_buffer_size(struct gk20a *g); 90int gr_gp10b_calc_global_ctx_buffer_size(struct gk20a *g);
87void gr_gp10b_set_bes_crop_debug3(struct gk20a *g, u32 data); 91void gr_gp10b_set_bes_crop_debug3(struct gk20a *g, u32 data);
92void gr_gp10b_set_bes_crop_debug4(struct gk20a *g, u32 data);
88int gr_gp10b_handle_sw_method(struct gk20a *g, u32 addr, 93int gr_gp10b_handle_sw_method(struct gk20a *g, u32 addr,
89 u32 class_num, u32 offset, u32 data); 94 u32 class_num, u32 offset, u32 data);
90void gr_gp10b_cb_size_default(struct gk20a *g); 95void gr_gp10b_cb_size_default(struct gk20a *g);
diff --git a/drivers/gpu/nvgpu/gv100/hal_gv100.c b/drivers/gpu/nvgpu/gv100/hal_gv100.c
index 0768ed0c..ca41a90b 100644
--- a/drivers/gpu/nvgpu/gv100/hal_gv100.c
+++ b/drivers/gpu/nvgpu/gv100/hal_gv100.c
@@ -400,6 +400,7 @@ static const struct gpu_ops gv100_ops = {
400 .init_preemption_state = NULL, 400 .init_preemption_state = NULL,
401 .update_boosted_ctx = gr_gp10b_update_boosted_ctx, 401 .update_boosted_ctx = gr_gp10b_update_boosted_ctx,
402 .set_bes_crop_debug3 = gr_gp10b_set_bes_crop_debug3, 402 .set_bes_crop_debug3 = gr_gp10b_set_bes_crop_debug3,
403 .set_bes_crop_debug4 = gr_gp10b_set_bes_crop_debug4,
403 .create_gr_sysfs = gr_gv11b_create_sysfs, 404 .create_gr_sysfs = gr_gv11b_create_sysfs,
404 .set_ctxsw_preemption_mode = gr_gp10b_set_ctxsw_preemption_mode, 405 .set_ctxsw_preemption_mode = gr_gp10b_set_ctxsw_preemption_mode,
405 .is_etpc_addr = gv11b_gr_pri_is_etpc_addr, 406 .is_etpc_addr = gv11b_gr_pri_is_etpc_addr,
diff --git a/drivers/gpu/nvgpu/gv11b/gr_gv11b.c b/drivers/gpu/nvgpu/gv11b/gr_gv11b.c
index 3030def8..9c79b29b 100644
--- a/drivers/gpu/nvgpu/gv11b/gr_gv11b.c
+++ b/drivers/gpu/nvgpu/gv11b/gr_gv11b.c
@@ -1193,6 +1193,9 @@ int gr_gv11b_handle_sw_method(struct gk20a *g, u32 addr,
1193 case NVC397_SET_BES_CROP_DEBUG3: 1193 case NVC397_SET_BES_CROP_DEBUG3:
1194 g->ops.gr.set_bes_crop_debug3(g, data); 1194 g->ops.gr.set_bes_crop_debug3(g, data);
1195 break; 1195 break;
1196 case NVC397_SET_BES_CROP_DEBUG4:
1197 g->ops.gr.set_bes_crop_debug4(g, data);
1198 break;
1196 default: 1199 default:
1197 goto fail; 1200 goto fail;
1198 } 1201 }
diff --git a/drivers/gpu/nvgpu/gv11b/gr_gv11b.h b/drivers/gpu/nvgpu/gv11b/gr_gv11b.h
index 022a7698..f8f80df3 100644
--- a/drivers/gpu/nvgpu/gv11b/gr_gv11b.h
+++ b/drivers/gpu/nvgpu/gv11b/gr_gv11b.h
@@ -65,6 +65,7 @@ enum {
65#define NVC397_SET_TEX_IN_DBG 0x10bc 65#define NVC397_SET_TEX_IN_DBG 0x10bc
66#define NVC397_SET_SKEDCHECK 0x10c0 66#define NVC397_SET_SKEDCHECK 0x10c0
67#define NVC397_SET_BES_CROP_DEBUG3 0x10c4 67#define NVC397_SET_BES_CROP_DEBUG3 0x10c4
68#define NVC397_SET_BES_CROP_DEBUG4 0x10b0
68 69
69#define NVC397_SET_TEX_IN_DBG_TSL1_RVCH_INVALIDATE 0x1 70#define NVC397_SET_TEX_IN_DBG_TSL1_RVCH_INVALIDATE 0x1
70#define NVC397_SET_TEX_IN_DBG_SM_L1TAG_CTRL_CACHE_SURFACE_LD 0x2 71#define NVC397_SET_TEX_IN_DBG_SM_L1TAG_CTRL_CACHE_SURFACE_LD 0x2
diff --git a/drivers/gpu/nvgpu/gv11b/hal_gv11b.c b/drivers/gpu/nvgpu/gv11b/hal_gv11b.c
index 482c1eec..93f819e4 100644
--- a/drivers/gpu/nvgpu/gv11b/hal_gv11b.c
+++ b/drivers/gpu/nvgpu/gv11b/hal_gv11b.c
@@ -367,6 +367,7 @@ static const struct gpu_ops gv11b_ops = {
367 .init_preemption_state = gr_gv11b_init_preemption_state, 367 .init_preemption_state = gr_gv11b_init_preemption_state,
368 .update_boosted_ctx = gr_gp10b_update_boosted_ctx, 368 .update_boosted_ctx = gr_gp10b_update_boosted_ctx,
369 .set_bes_crop_debug3 = gr_gp10b_set_bes_crop_debug3, 369 .set_bes_crop_debug3 = gr_gp10b_set_bes_crop_debug3,
370 .set_bes_crop_debug4 = gr_gp10b_set_bes_crop_debug4,
370 .create_gr_sysfs = gr_gv11b_create_sysfs, 371 .create_gr_sysfs = gr_gv11b_create_sysfs,
371 .set_ctxsw_preemption_mode = gr_gv11b_set_ctxsw_preemption_mode, 372 .set_ctxsw_preemption_mode = gr_gv11b_set_ctxsw_preemption_mode,
372 .is_etpc_addr = gv11b_gr_pri_is_etpc_addr, 373 .is_etpc_addr = gv11b_gr_pri_is_etpc_addr,
diff --git a/drivers/gpu/nvgpu/include/nvgpu/hw/gp106/hw_gr_gp106.h b/drivers/gpu/nvgpu/include/nvgpu/hw/gp106/hw_gr_gp106.h
index 2da3ec41..7630bda2 100644
--- a/drivers/gpu/nvgpu/include/nvgpu/hw/gp106/hw_gr_gp106.h
+++ b/drivers/gpu/nvgpu/include/nvgpu/hw/gp106/hw_gr_gp106.h
@@ -1,5 +1,5 @@
1/* 1/*
2 * Copyright (c) 2016-2017, NVIDIA CORPORATION. All rights reserved. 2 * Copyright (c) 2016-2018, NVIDIA CORPORATION. All rights reserved.
3 * 3 *
4 * Permission is hereby granted, free of charge, to any person obtaining a 4 * Permission is hereby granted, free of charge, to any person obtaining a
5 * copy of this software and associated documentation files (the "Software"), 5 * copy of this software and associated documentation files (the "Software"),
@@ -3792,6 +3792,22 @@ static inline u32 gr_bes_crop_debug3_blendopt_fill_override_enabled_f(void)
3792{ 3792{
3793 return 0x4U; 3793 return 0x4U;
3794} 3794}
3795static inline u32 gr_bes_crop_debug4_r(void)
3796{
3797 return 0x0040894cU;
3798}
3799static inline u32 gr_bes_crop_debug4_clamp_fp_blend_m(void)
3800{
3801 return 0x1U << 18U;
3802}
3803static inline u32 gr_bes_crop_debug4_clamp_fp_blend_to_inf_f(void)
3804{
3805 return 0x0U;
3806}
3807static inline u32 gr_bes_crop_debug4_clamp_fp_blend_to_maxval_f(void)
3808{
3809 return 0x40000U;
3810}
3795static inline u32 gr_bes_crop_settings_r(void) 3811static inline u32 gr_bes_crop_settings_r(void)
3796{ 3812{
3797 return 0x00408958U; 3813 return 0x00408958U;
diff --git a/drivers/gpu/nvgpu/include/nvgpu/hw/gp10b/hw_gr_gp10b.h b/drivers/gpu/nvgpu/include/nvgpu/hw/gp10b/hw_gr_gp10b.h
index 51809112..dca75004 100644
--- a/drivers/gpu/nvgpu/include/nvgpu/hw/gp10b/hw_gr_gp10b.h
+++ b/drivers/gpu/nvgpu/include/nvgpu/hw/gp10b/hw_gr_gp10b.h
@@ -1,5 +1,5 @@
1/* 1/*
2 * Copyright (c) 2014-2017, NVIDIA CORPORATION. All rights reserved. 2 * Copyright (c) 2014-2018, NVIDIA CORPORATION. All rights reserved.
3 * 3 *
4 * Permission is hereby granted, free of charge, to any person obtaining a 4 * Permission is hereby granted, free of charge, to any person obtaining a
5 * copy of this software and associated documentation files (the "Software"), 5 * copy of this software and associated documentation files (the "Software"),
@@ -3996,6 +3996,22 @@ static inline u32 gr_bes_crop_debug3_blendopt_fill_override_enabled_f(void)
3996{ 3996{
3997 return 0x4U; 3997 return 0x4U;
3998} 3998}
3999static inline u32 gr_bes_crop_debug4_r(void)
4000{
4001 return 0x0040894cU;
4002}
4003static inline u32 gr_bes_crop_debug4_clamp_fp_blend_m(void)
4004{
4005 return 0x1U << 18U;
4006}
4007static inline u32 gr_bes_crop_debug4_clamp_fp_blend_to_inf_f(void)
4008{
4009 return 0x0U;
4010}
4011static inline u32 gr_bes_crop_debug4_clamp_fp_blend_to_maxval_f(void)
4012{
4013 return 0x40000U;
4014}
3999static inline u32 gr_bes_crop_settings_r(void) 4015static inline u32 gr_bes_crop_settings_r(void)
4000{ 4016{
4001 return 0x00408958U; 4017 return 0x00408958U;
diff --git a/drivers/gpu/nvgpu/include/nvgpu/hw/gv100/hw_gr_gv100.h b/drivers/gpu/nvgpu/include/nvgpu/hw/gv100/hw_gr_gv100.h
index e669c0f0..2e28bdb8 100644
--- a/drivers/gpu/nvgpu/include/nvgpu/hw/gv100/hw_gr_gv100.h
+++ b/drivers/gpu/nvgpu/include/nvgpu/hw/gv100/hw_gr_gv100.h
@@ -3732,6 +3732,22 @@ static inline u32 gr_bes_crop_debug3_blendopt_fill_override_enabled_f(void)
3732{ 3732{
3733 return 0x4U; 3733 return 0x4U;
3734} 3734}
3735static inline u32 gr_bes_crop_debug4_r(void)
3736{
3737 return 0x0040894cU;
3738}
3739static inline u32 gr_bes_crop_debug4_clamp_fp_blend_m(void)
3740{
3741 return 0x1U << 18U;
3742}
3743static inline u32 gr_bes_crop_debug4_clamp_fp_blend_to_inf_f(void)
3744{
3745 return 0x0U;
3746}
3747static inline u32 gr_bes_crop_debug4_clamp_fp_blend_to_maxval_f(void)
3748{
3749 return 0x40000U;
3750}
3735static inline u32 gr_bes_crop_settings_r(void) 3751static inline u32 gr_bes_crop_settings_r(void)
3736{ 3752{
3737 return 0x00408958U; 3753 return 0x00408958U;
diff --git a/drivers/gpu/nvgpu/include/nvgpu/hw/gv11b/hw_gr_gv11b.h b/drivers/gpu/nvgpu/include/nvgpu/hw/gv11b/hw_gr_gv11b.h
index 2b9bffdd..72cbc7dd 100644
--- a/drivers/gpu/nvgpu/include/nvgpu/hw/gv11b/hw_gr_gv11b.h
+++ b/drivers/gpu/nvgpu/include/nvgpu/hw/gv11b/hw_gr_gv11b.h
@@ -4416,6 +4416,22 @@ static inline u32 gr_bes_crop_debug3_blendopt_fill_override_enabled_f(void)
4416{ 4416{
4417 return 0x4U; 4417 return 0x4U;
4418} 4418}
4419static inline u32 gr_bes_crop_debug4_r(void)
4420{
4421 return 0x0040894cU;
4422}
4423static inline u32 gr_bes_crop_debug4_clamp_fp_blend_m(void)
4424{
4425 return 0x1U << 18U;
4426}
4427static inline u32 gr_bes_crop_debug4_clamp_fp_blend_to_inf_f(void)
4428{
4429 return 0x0U;
4430}
4431static inline u32 gr_bes_crop_debug4_clamp_fp_blend_to_maxval_f(void)
4432{
4433 return 0x40000U;
4434}
4419static inline u32 gr_bes_crop_settings_r(void) 4435static inline u32 gr_bes_crop_settings_r(void)
4420{ 4436{
4421 return 0x00408958U; 4437 return 0x00408958U;