diff options
author | Terje Bergstrom <tbergstrom@nvidia.com> | 2016-09-20 11:48:16 -0400 |
---|---|---|
committer | mobile promotions <svcmobile_promotions@nvidia.com> | 2016-10-09 16:03:35 -0400 |
commit | 697fe17dd612769633f8c93e37b65cc51966d7e7 (patch) | |
tree | cbf09661d91c10ca9149f40661aab119a7850302 /drivers/gpu/nvgpu/gm20b/acr_gm20b.c | |
parent | 4cff26cd5b0096eeb26114cf36df8e2cb91821a8 (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.c | 18 |
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; |