gpu: nvgpu: Reduce ACR timeout wait to 100msec

10s wait for ACR timeout is longer than time allowed for
entire GPU boot sequence. Hence we need to reduce it.

This patch reduces ACR timeout wait period to 100msec
for silicon platforms and retains the existing 10s for
non silicon.

JIRA NVGPU-4898

Change-Id: I29e58b34f09ed595336bf833ed6db13553794827
Signed-off-by: smadhavan <smadhavan@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvgpu/+/2282857
Reviewed-by: Automatic_Commit_Validation_User
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: Vijayakumar Subbu <vsubbu@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
GVS: Gerrit_Virtual_Submit
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
This commit is contained in:
smadhavan
2020-01-21 15:03:57 +05:30
committed by Alex Waterman
parent 2ea4dfb5c7
commit a46abe4d64
2 changed files with 12 additions and 3 deletions

View File

@@ -30,6 +30,7 @@
#include <nvgpu/gk20a.h>
#include <nvgpu/acr.h>
#include <nvgpu/bug.h>
#include <nvgpu/soc.h>
#include "acr_bootstrap.h"
#include "acr_priv.h"
@@ -201,7 +202,14 @@ int nvgpu_acr_bootstrap_hs_ucode(struct gk20a *g, struct nvgpu_acr *acr,
}
/* wait for complete & halt */
err = acr_wait_for_completion(g, acr_desc, ACR_COMPLETION_TIMEOUT_MS);
if (nvgpu_platform_is_silicon(g)) {
err = acr_wait_for_completion(g, acr_desc,
ACR_COMPLETION_TIMEOUT_SILICON_MS);
} else {
err = acr_wait_for_completion(g, acr_desc,
ACR_COMPLETION_TIMEOUT_NON_SILICON_MS);
}
if (err != 0) {
nvgpu_err(g, "HS ucode completion err %d", err);
goto err_free_ucode;

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2019, NVIDIA CORPORATION. All rights reserved.
* Copyright (c) 2019-2020, NVIDIA CORPORATION. All rights reserved.
*
* Permission is hereby granted, free of charge, to any person obtaining a
* copy of this software and associated documentation files (the "Software"),
@@ -97,7 +97,8 @@ struct wpr_carveout_info;
#define LSF_SEC2_UCODE_DESC_FUSA_BIN "sec2_ucode_fusa_desc.bin"
#define LSF_SEC2_UCODE_SIG_FUSA_BIN "sec2_fusa_sig.bin"
#define ACR_COMPLETION_TIMEOUT_MS 10000U /*in msec */
#define ACR_COMPLETION_TIMEOUT_NON_SILICON_MS 10000U /*in msec */
#define ACR_COMPLETION_TIMEOUT_SILICON_MS 100 /*in msec */
struct acr_lsf_config {
u32 falcon_id;