summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/therm
diff options
context:
space:
mode:
authorTerje Bergstrom <tbergstrom@nvidia.com>2017-02-09 11:17:47 -0500
committermobile promotions <svcmobile_promotions@nvidia.com>2017-02-17 16:46:32 -0500
commit53465def649b813987ca0d4a7ced744305204b82 (patch)
treecdff16681cb0442de3b1a8bd151b2a38c0bc5311 /drivers/gpu/nvgpu/therm
parent29a79e6b80c6a0da489d8b0a470c86e2fec9c355 (diff)
gpu: nvgpu: Generalize BIOS code
Most of BIOS parsing code is not specific to any particular GPU. Move most of the code to generic files, and leave only chip specific parts dealing with microcontroller boot into chip specific files. As most of the parsing is generic, they do not need to be called via HALs so remove the HALs and change the calls into direct function calls. All definitions meant to be used outside BIOS code itself are now in <nvgpu/bios.h> Change-Id: Id48e94c74511d6e95645e90e5bba5c12ef8da45d Signed-off-by: Terje Bergstrom <tbergstrom@nvidia.com> Reviewed-on: http://git-master/r/1302222 GVS: Gerrit_Virtual_Submit
Diffstat (limited to 'drivers/gpu/nvgpu/therm')
-rw-r--r--drivers/gpu/nvgpu/therm/thrmchannel.c8
-rw-r--r--drivers/gpu/nvgpu/therm/thrmdev.c8
-rw-r--r--drivers/gpu/nvgpu/therm/thrmpmu.c1
3 files changed, 6 insertions, 11 deletions
diff --git a/drivers/gpu/nvgpu/therm/thrmchannel.c b/drivers/gpu/nvgpu/therm/thrmchannel.c
index f253a196..a09a4599 100644
--- a/drivers/gpu/nvgpu/therm/thrmchannel.c
+++ b/drivers/gpu/nvgpu/therm/thrmchannel.c
@@ -11,9 +11,10 @@
11 * more details. 11 * more details.
12 */ 12 */
13 13
14#include <nvgpu/bios.h>
15
14#include "gk20a/gk20a.h" 16#include "gk20a/gk20a.h"
15#include "thrmchannel.h" 17#include "thrmchannel.h"
16#include "include/bios.h"
17#include "boardobj/boardobjgrp.h" 18#include "boardobj/boardobjgrp.h"
18#include "boardobj/boardobjgrp_e32.h" 19#include "boardobj/boardobjgrp_e32.h"
19#include <nvgpu/pmuif/nvgpu_gpmu_cmdif.h> 20#include <nvgpu/pmuif/nvgpu_gpmu_cmdif.h>
@@ -130,10 +131,7 @@ static u32 devinit_get_therm_channel_table(struct gk20a *g,
130 131
131 gk20a_dbg_info(""); 132 gk20a_dbg_info("");
132 133
133 if (!g->ops.bios.get_perf_table_ptrs) 134 therm_channel_table_ptr = (u8 *)nvgpu_bios_get_perf_table_ptrs(g,
134 return -EINVAL;
135
136 therm_channel_table_ptr = (u8 *)g->ops.bios.get_perf_table_ptrs(g,
137 g->bios.perf_token, THERMAL_CHANNEL_TABLE); 135 g->bios.perf_token, THERMAL_CHANNEL_TABLE);
138 if (therm_channel_table_ptr == NULL) { 136 if (therm_channel_table_ptr == NULL) {
139 status = -EINVAL; 137 status = -EINVAL;
diff --git a/drivers/gpu/nvgpu/therm/thrmdev.c b/drivers/gpu/nvgpu/therm/thrmdev.c
index 3ff199e7..199343e0 100644
--- a/drivers/gpu/nvgpu/therm/thrmdev.c
+++ b/drivers/gpu/nvgpu/therm/thrmdev.c
@@ -11,9 +11,10 @@
11 * more details. 11 * more details.
12 */ 12 */
13 13
14#include <nvgpu/bios.h>
15
14#include "gk20a/gk20a.h" 16#include "gk20a/gk20a.h"
15#include "thrmdev.h" 17#include "thrmdev.h"
16#include "include/bios.h"
17#include "boardobj/boardobjgrp.h" 18#include "boardobj/boardobjgrp.h"
18#include "boardobj/boardobjgrp_e32.h" 19#include "boardobj/boardobjgrp_e32.h"
19#include <nvgpu/pmuif/nvgpu_gpmu_cmdif.h> 20#include <nvgpu/pmuif/nvgpu_gpmu_cmdif.h>
@@ -80,10 +81,7 @@ static u32 devinit_get_therm_device_table(struct gk20a *g,
80 81
81 gk20a_dbg_info(""); 82 gk20a_dbg_info("");
82 83
83 if (!g->ops.bios.get_perf_table_ptrs) 84 therm_device_table_ptr = (u8 *)nvgpu_bios_get_perf_table_ptrs(g,
84 return -EINVAL;
85
86 therm_device_table_ptr = (u8 *)g->ops.bios.get_perf_table_ptrs(g,
87 g->bios.perf_token, THERMAL_DEVICE_TABLE); 85 g->bios.perf_token, THERMAL_DEVICE_TABLE);
88 if (therm_device_table_ptr == NULL) { 86 if (therm_device_table_ptr == NULL) {
89 status = -EINVAL; 87 status = -EINVAL;
diff --git a/drivers/gpu/nvgpu/therm/thrmpmu.c b/drivers/gpu/nvgpu/therm/thrmpmu.c
index a06d3b92..50df55c0 100644
--- a/drivers/gpu/nvgpu/therm/thrmpmu.c
+++ b/drivers/gpu/nvgpu/therm/thrmpmu.c
@@ -12,7 +12,6 @@
12 */ 12 */
13 13
14#include "gk20a/gk20a.h" 14#include "gk20a/gk20a.h"
15#include "include/bios.h"
16#include "boardobj/boardobjgrp.h" 15#include "boardobj/boardobjgrp.h"
17#include "boardobj/boardobjgrp_e32.h" 16#include "boardobj/boardobjgrp_e32.h"
18#include "thrmpmu.h" 17#include "thrmpmu.h"