summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gk20a
diff options
context:
space:
mode:
authorDavid Nieto <dmartineznie@nvidia.com>2017-08-08 15:50:55 -0400
committermobile promotions <svcmobile_promotions@nvidia.com>2017-10-10 15:05:42 -0400
commit7c5cf70268ca038f85686fbdec29729d1a9024c1 (patch)
treebc30b8e724addb367b50fbd1cd4eaa994fa30bb4 /drivers/gpu/nvgpu/gk20a
parentbf8dca77aee16b98a89e8ef5491907f2a791f1ff (diff)
gpu: nvgpu: add support for pre-os FW
Pre-os firmware takes care, among others, of the control of FAN till the driver takes over its control. On some GPUs not enabling this FW can lead tp physical board damage, hence it is needed to run this firmware. JIRA: NVGPUGV100-9 Change-Id: I18d54cfd5eb64ecec79c5dae67ac8d5bb1facf36 Signed-off-by: David Nieto <dmartineznie@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/1549035 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com> Reviewed-by: svccoveritychecker <svccoveritychecker@nvidia.com> Reviewed-by: Vijayakumar Subbu <vsubbu@nvidia.com> Reviewed-by: Konsta Holtta <kholtta@nvidia.com> GVS: Gerrit_Virtual_Submit Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a')
-rw-r--r--drivers/gpu/nvgpu/gk20a/gk20a.c4
-rw-r--r--drivers/gpu/nvgpu/gk20a/gk20a.h6
2 files changed, 7 insertions, 3 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/gk20a.c b/drivers/gpu/nvgpu/gk20a/gk20a.c
index 17ba3ee4..d1ad5992 100644
--- a/drivers/gpu/nvgpu/gk20a/gk20a.c
+++ b/drivers/gpu/nvgpu/gk20a/gk20a.c
@@ -187,8 +187,8 @@ int gk20a_finalize_poweron(struct gk20a *g)
187 nvgpu_flcn_sw_init(g, FALCON_ID_PMU); 187 nvgpu_flcn_sw_init(g, FALCON_ID_PMU);
188 nvgpu_flcn_sw_init(g, FALCON_ID_SEC2); 188 nvgpu_flcn_sw_init(g, FALCON_ID_SEC2);
189 189
190 if (g->ops.bios_init) 190 if (g->ops.bios.init)
191 err = g->ops.bios_init(g); 191 err = g->ops.bios.init(g);
192 if (err) 192 if (err)
193 goto done; 193 goto done;
194 194
diff --git a/drivers/gpu/nvgpu/gk20a/gk20a.h b/drivers/gpu/nvgpu/gk20a/gk20a.h
index 97b40474..537d03d8 100644
--- a/drivers/gpu/nvgpu/gk20a/gk20a.h
+++ b/drivers/gpu/nvgpu/gk20a/gk20a.h
@@ -969,7 +969,11 @@ struct gpu_ops {
969 int (*bar1_bind)(struct gk20a *g, struct nvgpu_mem *bar1_inst); 969 int (*bar1_bind)(struct gk20a *g, struct nvgpu_mem *bar1_inst);
970 } bus; 970 } bus;
971 971
972 int (*bios_init)(struct gk20a *g); 972 struct {
973 int (*init)(struct gk20a *g);
974 int (*preos_wait_for_halt)(struct gk20a *g);
975 void (*preos_reload_check)(struct gk20a *g);
976 } bios;
973 977
974#if defined(CONFIG_GK20A_CYCLE_STATS) 978#if defined(CONFIG_GK20A_CYCLE_STATS)
975 struct { 979 struct {