summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gm20b/acr_gm20b.c
diff options
context:
space:
mode:
authorTerje Bergstrom <tbergstrom@nvidia.com>2016-09-20 11:48:16 -0400
committermobile promotions <svcmobile_promotions@nvidia.com>2016-10-09 16:03:35 -0400
commit697fe17dd612769633f8c93e37b65cc51966d7e7 (patch)
treecbf09661d91c10ca9149f40661aab119a7850302 /drivers/gpu/nvgpu/gm20b/acr_gm20b.c
parent4cff26cd5b0096eeb26114cf36df8e2cb91821a8 (diff)
gpu: nvgpu: Suppress error msg from VBIOS overlay
Suppress error message when nvgpu tries to load VBIOS overlay, but one is not found. This situation is normal. This is done by moving gk20a_request_firmware() to be nvgpu generic function nvgpu_request_firmware(), and adding a NO_WARN flag to it. Introduce also a NO_SOC flag to suppress attempt to load firmware from SoC specific directory in addition to the chip specific directory. Use it for dGPU firmware files. Bug 200236777 Change-Id: I0294d3308f029a6a6d3c2effa579d5f69a91e418 Signed-off-by: Terje Bergstrom <tbergstrom@nvidia.com> Reviewed-on: http://git-master/r/1223840 (cherry picked from commit cca44c3f010f15918cdd2259c15170ba1917828a) Reviewed-on: http://git-master/r/1233353 GVS: Gerrit_Virtual_Submit
Diffstat (limited to 'drivers/gpu/nvgpu/gm20b/acr_gm20b.c')
-rw-r--r--drivers/gpu/nvgpu/gm20b/acr_gm20b.c18
1 files changed, 9 insertions, 9 deletions
diff --git a/drivers/gpu/nvgpu/gm20b/acr_gm20b.c b/drivers/gpu/nvgpu/gm20b/acr_gm20b.c
index c4a188ff..310a3bc8 100644
--- a/drivers/gpu/nvgpu/gm20b/acr_gm20b.c
+++ b/drivers/gpu/nvgpu/gm20b/acr_gm20b.c
@@ -18,7 +18,7 @@
18#include <linux/debugfs.h> 18#include <linux/debugfs.h>
19#include <linux/dma-mapping.h> 19#include <linux/dma-mapping.h>
20#include <linux/io.h> 20#include <linux/io.h>
21#include "../../../../arch/arm/mach-tegra/iomap.h" 21#include "nvgpu_common.h"
22 22
23#include <linux/platform/tegra/mc.h> 23#include <linux/platform/tegra/mc.h>
24 24
@@ -118,7 +118,7 @@ static int pmu_ucode_details(struct gk20a *g, struct flcn_ucode_img *p_img)
118 struct lsf_ucode_desc *lsf_desc; 118 struct lsf_ucode_desc *lsf_desc;
119 int err; 119 int err;
120 gm20b_dbg_pmu("requesting PMU ucode in GM20B\n"); 120 gm20b_dbg_pmu("requesting PMU ucode in GM20B\n");
121 pmu_fw = gk20a_request_firmware(g, GM20B_PMU_UCODE_IMAGE); 121 pmu_fw = nvgpu_request_firmware(g, GM20B_PMU_UCODE_IMAGE, 0);
122 if (!pmu_fw) { 122 if (!pmu_fw) {
123 gk20a_err(dev_from_gk20a(g), "failed to load pmu ucode!!"); 123 gk20a_err(dev_from_gk20a(g), "failed to load pmu ucode!!");
124 return -ENOENT; 124 return -ENOENT;
@@ -127,13 +127,13 @@ static int pmu_ucode_details(struct gk20a *g, struct flcn_ucode_img *p_img)
127 gm20b_dbg_pmu("Loaded PMU ucode in for blob preparation"); 127 gm20b_dbg_pmu("Loaded PMU ucode in for blob preparation");
128 128
129 gm20b_dbg_pmu("requesting PMU ucode desc in GM20B\n"); 129 gm20b_dbg_pmu("requesting PMU ucode desc in GM20B\n");
130 pmu_desc = gk20a_request_firmware(g, GM20B_PMU_UCODE_DESC); 130 pmu_desc = nvgpu_request_firmware(g, GM20B_PMU_UCODE_DESC, 0);
131 if (!pmu_desc) { 131 if (!pmu_desc) {
132 gk20a_err(dev_from_gk20a(g), "failed to load pmu ucode desc!!"); 132 gk20a_err(dev_from_gk20a(g), "failed to load pmu ucode desc!!");
133 err = -ENOENT; 133 err = -ENOENT;
134 goto release_img_fw; 134 goto release_img_fw;
135 } 135 }
136 pmu_sig = gk20a_request_firmware(g, GM20B_PMU_UCODE_SIG); 136 pmu_sig = nvgpu_request_firmware(g, GM20B_PMU_UCODE_SIG, 0);
137 if (!pmu_sig) { 137 if (!pmu_sig) {
138 gk20a_err(dev_from_gk20a(g), "failed to load pmu sig!!"); 138 gk20a_err(dev_from_gk20a(g), "failed to load pmu sig!!");
139 err = -ENOENT; 139 err = -ENOENT;
@@ -181,7 +181,7 @@ static int fecs_ucode_details(struct gk20a *g, struct flcn_ucode_img *p_img)
181 const struct firmware *fecs_sig; 181 const struct firmware *fecs_sig;
182 int err; 182 int err;
183 183
184 fecs_sig = gk20a_request_firmware(g, GM20B_FECS_UCODE_SIG); 184 fecs_sig = nvgpu_request_firmware(g, GM20B_FECS_UCODE_SIG, 0);
185 if (!fecs_sig) { 185 if (!fecs_sig) {
186 gk20a_err(dev_from_gk20a(g), "failed to load fecs sig"); 186 gk20a_err(dev_from_gk20a(g), "failed to load fecs sig");
187 return -ENOENT; 187 return -ENOENT;
@@ -251,7 +251,7 @@ static int gpccs_ucode_details(struct gk20a *g, struct flcn_ucode_img *p_img)
251 if (g->ops.securegpccs == false) 251 if (g->ops.securegpccs == false)
252 return -ENOENT; 252 return -ENOENT;
253 253
254 gpccs_sig = gk20a_request_firmware(g, T18x_GPCCS_UCODE_SIG); 254 gpccs_sig = nvgpu_request_firmware(g, T18x_GPCCS_UCODE_SIG, 0);
255 if (!gpccs_sig) { 255 if (!gpccs_sig) {
256 gk20a_err(dev_from_gk20a(g), "failed to load gpccs sig"); 256 gk20a_err(dev_from_gk20a(g), "failed to load gpccs sig");
257 return -ENOENT; 257 return -ENOENT;
@@ -1071,7 +1071,7 @@ static int gm20b_bootstrap_hs_flcn(struct gk20a *g)
1071 1071
1072 if (!acr_fw) { 1072 if (!acr_fw) {
1073 /*First time init case*/ 1073 /*First time init case*/
1074 acr_fw = gk20a_request_firmware(g, GM20B_HSBIN_PMU_UCODE_IMAGE); 1074 acr_fw = nvgpu_request_firmware(g, GM20B_HSBIN_PMU_UCODE_IMAGE, 0);
1075 if (!acr_fw) { 1075 if (!acr_fw) {
1076 gk20a_err(dev_from_gk20a(g), "pmu ucode get fail"); 1076 gk20a_err(dev_from_gk20a(g), "pmu ucode get fail");
1077 return -ENOENT; 1077 return -ENOENT;
@@ -1382,8 +1382,8 @@ int pmu_exec_gen_bl(struct gk20a *g, void *desc, u8 b_wait_for_halt)
1382 gm20b_dbg_pmu(""); 1382 gm20b_dbg_pmu("");
1383 1383
1384 if (!hsbl_fw) { 1384 if (!hsbl_fw) {
1385 hsbl_fw = gk20a_request_firmware(g, 1385 hsbl_fw = nvgpu_request_firmware(g,
1386 GM20B_HSBIN_PMU_BL_UCODE_IMAGE); 1386 GM20B_HSBIN_PMU_BL_UCODE_IMAGE, 0);
1387 if (!hsbl_fw) { 1387 if (!hsbl_fw) {
1388 gk20a_err(dev_from_gk20a(g), "pmu ucode load fail"); 1388 gk20a_err(dev_from_gk20a(g), "pmu ucode load fail");
1389 return -ENOENT; 1389 return -ENOENT;