summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/therm/thrm.c
diff options
context:
space:
mode:
authorLakshmanan M <lm@nvidia.com>2016-10-21 07:27:15 -0400
committerDeepak Nibade <dnibade@nvidia.com>2016-12-27 04:56:51 -0500
commit58b85dd106f35d16ff568f8836dcbc7a019854b4 (patch)
treea87c10e83f020bd9f414fa4dd0bea74d961034b3 /drivers/gpu/nvgpu/therm/thrm.c
parent2f4405ddcb1cd7bb939d3b22ab72789afb435da6 (diff)
gpu: nvgpu: Add thermal module support
The following CL contains the following VBIOS thermal table parsing and PMU interface support. 1) Thermal device table 2) Thermal channel table JIRA DNVGPU-130 Change-Id: Ie3abab4bf099a022b1b59db96811c2ed44079519 Signed-off-by: Lakshmanan M <lm@nvidia.com> Reviewed-on: http://git-master/r/1240630 (cherry picked from commit 814962a4be0a8cd0cddc7bc5211c62308ab1fea2) Reviewed-on: http://git-master/r/1246210 GVS: Gerrit_Virtual_Submit Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/therm/thrm.c')
-rw-r--r--drivers/gpu/nvgpu/therm/thrm.c45
1 files changed, 45 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/therm/thrm.c b/drivers/gpu/nvgpu/therm/thrm.c
new file mode 100644
index 00000000..731cf89e
--- /dev/null
+++ b/drivers/gpu/nvgpu/therm/thrm.c
@@ -0,0 +1,45 @@
1/*
2 * Copyright (c) 2016, NVIDIA CORPORATION. All rights reserved.
3 *
4 * This program is free software; you can redistribute it and/or modify it
5 * under the terms and conditions of the GNU General Public License,
6 * version 2, as published by the Free Software Foundation.
7 *
8 * This program is distributed in the hope it will be useful, but WITHOUT
9 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
10 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
11 * more details.
12 */
13
14#include "gk20a/gk20a.h"
15#include "thrm.h"
16#include "thrmpmu.h"
17
18u32 therm_domain_sw_setup(struct gk20a *g)
19{
20 u32 status;
21
22 status = therm_device_sw_setup(g);
23 if (status) {
24 gk20a_err(dev_from_gk20a(g),
25 "error creating boardobjgrp for therm devices, status - 0x%x",
26 status);
27 goto exit;
28 }
29
30 status = therm_channel_sw_setup(g);
31 if (status) {
32 gk20a_err(dev_from_gk20a(g),
33 "error creating boardobjgrp for therm channel, status - 0x%x",
34 status);
35 goto exit;
36 }
37
38exit:
39 return status;
40}
41
42u32 therm_domain_pmu_setup(struct gk20a *g)
43{
44 return therm_send_pmgr_tables_to_pmu(g);
45}