gpu: nvgpu: ga10b: print error when OPT_ECC_EN is not set

On Silicon platforms it is expected that OPT_ECC_EN is set. Hence,
print error message when this is not fused to 1.

Bug 2919887

Change-Id: I35f6c6a795b9cea355f17027c9354a39ea2cdbec
Signed-off-by: Antony Clince Alex <aalex@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvgpu/+/2560042
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com>
Reviewed-by: svc-mobile-misra <svc-mobile-misra@nvidia.com>
Reviewed-by: svc-mobile-cert <svc-mobile-cert@nvidia.com>
Reviewed-by: svc_kernel_abi <svc_kernel_abi@nvidia.com>
Reviewed-by: Rajesh Devaraj <rdevaraj@nvidia.com>
Reviewed-by: Vaibhav Kachore <vkachore@nvidia.com>
Reviewed-by: Seema Khowala <seemaj@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
GVS: Gerrit_Virtual_Submit
This commit is contained in:
Antony Clince Alex
2021-03-03 12:03:34 +05:30
committed by mobile promotions
parent c418946cb6
commit 5c740f7614

View File

@@ -28,6 +28,7 @@
#include <nvgpu/io.h>
#include <nvgpu/soc.h>
#include <nvgpu/gk20a.h>
#include <nvgpu/soc.h>
#include "fuse_ga10b.h"
@@ -69,7 +70,13 @@ int ga10b_fuse_read_gcplex_config_fuse(struct gk20a *g, u32 *val)
bool ga10b_fuse_is_opt_ecc_enable(struct gk20a *g)
{
return nvgpu_readl(g, fuse_opt_ecc_en_r()) != 0U;
bool ecc_enable = nvgpu_readl(g, fuse_opt_ecc_en_r()) != 0U;
if (nvgpu_platform_is_silicon(g) && !ecc_enable) {
nvgpu_err(g, "OPT_ECC_EN fuse not set");
}
return ecc_enable;
}
bool ga10b_fuse_is_opt_feature_override_disable(struct gk20a *g)