gpu: nvgpu: Enable sm_l1tag_surface_cut_collector

This is enabling sm_l1tag_surface_cut_collector at gpu boot.
This is done with adding new hal "set_sm_l1tag_surface_collector"
that sets l1tag_surface_cut_collector in the sm_l1tag_ctrl
register.

Bug 2557724

Change-Id: I869e3bfa563db204259e7a464657229632f182d9
Signed-off-by: Dinesh T <dt@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvgpu/+/2634878
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
This commit is contained in:
Dinesh T
2021-12-01 13:57:52 +00:00
committed by mobile promotions
parent 41b7299201
commit ad09e3e3cc
10 changed files with 34 additions and 4 deletions

View File

@@ -21,6 +21,7 @@
*/
#include <nvgpu/gk20a.h>
#include <nvgpu/errata.h>
#include <nvgpu/nvgpu_err.h>
#include <nvgpu/io.h>
#include <nvgpu/bug.h>
@@ -295,6 +296,11 @@ static int gr_init_setup_hw(struct gk20a *g, struct nvgpu_gr *gr)
goto out;
}
if ((nvgpu_is_errata_present(g, NVGPU_ERRATA_2557724)) &&
(g->ops.gr.init.set_sm_l1tag_surface_collector != NULL)) {
g->ops.gr.init.set_sm_l1tag_surface_collector(g);
}
err = g->ops.gr.init.wait_idle(g);
out:
nvgpu_log(g, gpu_dbg_fn | gpu_dbg_gr, "done");