diff options
author | seshendra Gadagottu <sgadagottu@nvidia.com> | 2018-01-02 18:48:46 -0500 |
---|---|---|
committer | mobile promotions <svcmobile_promotions@nvidia.com> | 2018-01-08 15:16:49 -0500 |
commit | caf168e33ec12ff6f0ed90fd4aa7654c09eaa553 (patch) | |
tree | 5bc2c0fc10e46840d54d74fd8efdc2c192bcf5d1 /drivers/gpu/nvgpu/gv11b/hal_gv11b.c | |
parent | 667c9fd10b23165914b307de89ce3b28f8ce2424 (diff) |
gpu: nvgpu: gv11b: fix for gfx preemption
Used chip specific attrib_cb_gfxp_default_size and
attrib_cb_gfxp_size buffer sizes during committing
global callback buffer when gfx preemption is requested.
These sizes are different for gv11b from gp10b.
Also used gv11b specific preemption related functions:
gr_gv11b_set_ctxsw_preemption_mode
gr_gv11b_update_ctxsw_preemption_mode
This is required because preemption related buffer
sizes are different for gv11b from gp10b. More optimization
will be done as part of NVGPU-484.
Another issue fixed is: gpu va for preemption buffers
still needs to be 8 bit aligned, even though 49 bits
available now. This done because of legacy implementation
of fecs ucode.
Bug 1976694
Change-Id: I284e29e0815d205c150998b07d0757b5089d3267
Signed-off-by: seshendra Gadagottu <sgadagottu@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/1630520
Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com>
GVS: Gerrit_Virtual_Submit
Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com>
Reviewed-by: Richard Zhao <rizhao@nvidia.com>
Tested-by: Richard Zhao <rizhao@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/hal_gv11b.c')
-rw-r--r-- | drivers/gpu/nvgpu/gv11b/hal_gv11b.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/gpu/nvgpu/gv11b/hal_gv11b.c b/drivers/gpu/nvgpu/gv11b/hal_gv11b.c index ff26f694..9156d9b8 100644 --- a/drivers/gpu/nvgpu/gv11b/hal_gv11b.c +++ b/drivers/gpu/nvgpu/gv11b/hal_gv11b.c | |||
@@ -1,7 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * GV11B Tegra HAL interface | 2 | * GV11B Tegra HAL interface |
3 | * | 3 | * |
4 | * Copyright (c) 2016-2017, NVIDIA CORPORATION. All rights reserved. | 4 | * Copyright (c) 2016-2018, 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"), |
@@ -290,7 +290,7 @@ static const struct gpu_ops gv11b_ops = { | |||
290 | .alloc_gr_ctx = gr_gp10b_alloc_gr_ctx, | 290 | .alloc_gr_ctx = gr_gp10b_alloc_gr_ctx, |
291 | .free_gr_ctx = gr_gp10b_free_gr_ctx, | 291 | .free_gr_ctx = gr_gp10b_free_gr_ctx, |
292 | .update_ctxsw_preemption_mode = | 292 | .update_ctxsw_preemption_mode = |
293 | gr_gp10b_update_ctxsw_preemption_mode, | 293 | gr_gv11b_update_ctxsw_preemption_mode, |
294 | .dump_gr_regs = gr_gv11b_dump_gr_status_regs, | 294 | .dump_gr_regs = gr_gv11b_dump_gr_status_regs, |
295 | .update_pc_sampling = gr_gm20b_update_pc_sampling, | 295 | .update_pc_sampling = gr_gm20b_update_pc_sampling, |
296 | .get_fbp_en_mask = gr_gm20b_get_fbp_en_mask, | 296 | .get_fbp_en_mask = gr_gm20b_get_fbp_en_mask, |
@@ -365,7 +365,7 @@ static const struct gpu_ops gv11b_ops = { | |||
365 | .update_boosted_ctx = gr_gp10b_update_boosted_ctx, | 365 | .update_boosted_ctx = gr_gp10b_update_boosted_ctx, |
366 | .set_bes_crop_debug3 = gr_gp10b_set_bes_crop_debug3, | 366 | .set_bes_crop_debug3 = gr_gp10b_set_bes_crop_debug3, |
367 | .create_gr_sysfs = gr_gv11b_create_sysfs, | 367 | .create_gr_sysfs = gr_gv11b_create_sysfs, |
368 | .set_ctxsw_preemption_mode = gr_gp10b_set_ctxsw_preemption_mode, | 368 | .set_ctxsw_preemption_mode = gr_gv11b_set_ctxsw_preemption_mode, |
369 | .is_etpc_addr = gv11b_gr_pri_is_etpc_addr, | 369 | .is_etpc_addr = gv11b_gr_pri_is_etpc_addr, |
370 | .egpc_etpc_priv_addr_table = gv11b_gr_egpc_etpc_priv_addr_table, | 370 | .egpc_etpc_priv_addr_table = gv11b_gr_egpc_etpc_priv_addr_table, |
371 | .handle_tpc_mpc_exception = gr_gv11b_handle_tpc_mpc_exception, | 371 | .handle_tpc_mpc_exception = gr_gv11b_handle_tpc_mpc_exception, |