diff options
author | Deepak Nibade <dnibade@nvidia.com> | 2018-03-16 08:24:55 -0400 |
---|---|---|
committer | mobile promotions <svcmobile_promotions@nvidia.com> | 2018-03-21 09:04:35 -0400 |
commit | 66751bc05d7a1efca3668d59a2820e3e92985f91 (patch) | |
tree | ab85f317d77c8c76d6a7430039d19d406b9eb8f5 /drivers/gpu/nvgpu/gv11b | |
parent | c5ca711f1efbd30fa760df139f3b63aa471d28a9 (diff) |
gpu: nvgpu: gv100: fix num_fbpas while adding ctxsw buffer entries
For LIST_nv_pm_fbpa_ctx_regs, we right now call
add_ctxsw_buffer_map_entries_subunits() to add registers corresponding
to all the FBPAs
But while configuring total number of registers, we do not consider
floorswept FBPAs and that causes misalignment in subsequent lists for GV100
Fix this by reading disabled/floorswept FBPAs from fuse and consider only those
FBPAs which are active for GV100
Add new HAL (*add_ctxsw_reg_pm_fbpa) to support this setting and define a
common HAL gr_gk20a_add_ctxsw_reg_pm_fbpa() for all chips except GV100
Define GV100 specific gr_gv100_add_ctxsw_reg_pm_fbpa() with above mentioned
implementation to consider floorsweeping
Bug 1998067
Change-Id: Id560551bb0b8142791c117b6d27864566c90b489
Signed-off-by: Deepak Nibade <dnibade@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/1676654
Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com>
Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com>
GVS: Gerrit_Virtual_Submit
Reviewed-by: Vijayakumar Subbu <vsubbu@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/gv11b')
-rw-r--r-- | drivers/gpu/nvgpu/gv11b/hal_gv11b.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/gv11b/hal_gv11b.c b/drivers/gpu/nvgpu/gv11b/hal_gv11b.c index 1fe09827..1edf67d6 100644 --- a/drivers/gpu/nvgpu/gv11b/hal_gv11b.c +++ b/drivers/gpu/nvgpu/gv11b/hal_gv11b.c | |||
@@ -396,6 +396,7 @@ static const struct gpu_ops gv11b_ops = { | |||
396 | .set_error_notifier = gk20a_gr_set_error_notifier, | 396 | .set_error_notifier = gk20a_gr_set_error_notifier, |
397 | .handle_notify_pending = gk20a_gr_handle_notify_pending, | 397 | .handle_notify_pending = gk20a_gr_handle_notify_pending, |
398 | .handle_semaphore_pending = gk20a_gr_handle_semaphore_pending, | 398 | .handle_semaphore_pending = gk20a_gr_handle_semaphore_pending, |
399 | .add_ctxsw_reg_pm_fbpa = gr_gk20a_add_ctxsw_reg_pm_fbpa, | ||
399 | }, | 400 | }, |
400 | .fb = { | 401 | .fb = { |
401 | .reset = gv11b_fb_reset, | 402 | .reset = gv11b_fb_reset, |