gpu: nvgpu: add error reporting support for L4T

Add error reporting support for T194's L1SS safety
services for linux.

Used GA10B's LUT for GV11B. The error ids for T194 are
different compared to GA10B. This is handled by creating
a separate table mapping existing error ids to match GV11B.

Ids that are not used by GV11B are set to U32_MAX to indicate
the driver to not send them to the l1ss driver.

Bug 200588528

Signed-off-by: Debarshi Dutta <ddutta@nvidia.com>
Change-Id: I10a267942df77458c3deee0aad1179955490aa74
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvgpu/+/2736772
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
This commit is contained in:
Debarshi Dutta
2022-06-27 16:39:08 +05:30
committed by mobile promotions
parent 28ddb0996f
commit e89553fe62
12 changed files with 561 additions and 3 deletions

View File

@@ -70,6 +70,7 @@
#include <nvgpu/cic_rm.h>
#include <nvgpu/fb.h>
#include <nvgpu/nvs.h>
#include <nvgpu/l1ss_err_reporting.h>
#include "platform_gk20a.h"
#include "sysfs.h"
@@ -1016,6 +1017,10 @@ void gk20a_remove_support(struct gk20a *g)
struct nvgpu_os_linux *l = nvgpu_os_linux_from_gk20a(g);
struct sim_nvgpu_linux *sim_linux;
#ifdef CONFIG_TEGRA_L1SS_SUPPORT
nvgpu_l1ss_deinit_reporting(g);
#endif
#if NVGPU_VPR_RESIZE_SUPPORTED
if (nvgpu_is_enabled(g, NVGPU_SUPPORT_VPR)) {
tegra_unregister_idle_unidle(gk20a_do_idle);
@@ -1865,6 +1870,10 @@ static int gk20a_probe(struct platform_device *dev)
if (err)
goto return_err;
#ifdef CONFIG_TEGRA_L1SS_SUPPORT
nvgpu_l1ss_init_reporting(gk20a);
#endif
nvgpu_mutex_init(&l->dmabuf_priv_list_lock);
nvgpu_init_list_node(&l->dmabuf_priv_list);