summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTerje Bergstrom <tbergstrom@nvidia.com>2017-10-30 18:57:28 -0400
committermobile promotions <svcmobile_promotions@nvidia.com>2017-11-01 18:26:37 -0400
commita5e76ed7af2ffd496d23129f8f3d989335f8b21c (patch)
treebba04c7954054266f7771b931befba3820685be7
parent7e59e0b09b605c4082fb812fb0842537819282cf (diff)
gpu: nvgpu: Remove pg419 emulation on pg418
Remove emulation of pg419 board with a pg418 which does not have a power sensor, but claims to have one in VBIOS. JIRA NVGPU-259 Change-Id: I6527d08dd05b79f96e505561685504bb239ab4ac Signed-off-by: Terje Bergstrom <tbergstrom@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/1588732 Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
-rw-r--r--drivers/gpu/nvgpu/gk20a/gk20a.h4
-rw-r--r--drivers/gpu/nvgpu/gp106/bios_gp106.c9
-rw-r--r--drivers/gpu/nvgpu/gp106/hal_gp106.c7
-rw-r--r--drivers/gpu/nvgpu/pmgr/pmgrpmu.c6
-rw-r--r--drivers/gpu/nvgpu/pmgr/pwrdev.c6
5 files changed, 0 insertions, 32 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/gk20a.h b/drivers/gpu/nvgpu/gk20a/gk20a.h
index 550e8a0c..20e0450e 100644
--- a/drivers/gpu/nvgpu/gk20a/gk20a.h
+++ b/drivers/gpu/nvgpu/gk20a/gk20a.h
@@ -1280,10 +1280,6 @@ struct gk20a {
1280 struct nvgpu_mem_alloc_tracker *kmallocs; 1280 struct nvgpu_mem_alloc_tracker *kmallocs;
1281#endif 1281#endif
1282 1282
1283 /* Some boards might be missing power sensor, preventing
1284 * from monitoring power, current and voltage */
1285 bool power_sensor_missing;
1286
1287 /* The minimum VBIOS version supported */ 1283 /* The minimum VBIOS version supported */
1288 u32 vbios_min_version; 1284 u32 vbios_min_version;
1289 1285
diff --git a/drivers/gpu/nvgpu/gp106/bios_gp106.c b/drivers/gpu/nvgpu/gp106/bios_gp106.c
index 9d75249d..d42f2e14 100644
--- a/drivers/gpu/nvgpu/gp106/bios_gp106.c
+++ b/drivers/gpu/nvgpu/gp106/bios_gp106.c
@@ -20,8 +20,6 @@
20 * DEALINGS IN THE SOFTWARE. 20 * DEALINGS IN THE SOFTWARE.
21 */ 21 */
22 22
23#include <linux/pci_ids.h>
24
25#include <nvgpu/bios.h> 23#include <nvgpu/bios.h>
26#include <nvgpu/kmem.h> 24#include <nvgpu/kmem.h>
27#include <nvgpu/nvgpu_common.h> 25#include <nvgpu/nvgpu_common.h>
@@ -220,13 +218,6 @@ int gp106_bios_init(struct gk20a *g)
220 goto free_firmware; 218 goto free_firmware;
221 } 219 }
222 220
223 /* WAR for HW2.5 RevA (INA3221 is missing) */
224 if ((g->pci_vendor_id == PCI_VENDOR_ID_NVIDIA) &&
225 (g->pci_device_id == 0x1c75) &&
226 (g->gpu_characteristics.vbios_version == 0x86065300)) {
227 g->power_sensor_missing = true;
228 }
229
230 gk20a_dbg_fn("done"); 221 gk20a_dbg_fn("done");
231 222
232 err = gp106_bios_devinit(g); 223 err = gp106_bios_devinit(g);
diff --git a/drivers/gpu/nvgpu/gp106/hal_gp106.c b/drivers/gpu/nvgpu/gp106/hal_gp106.c
index c5b66201..3193a629 100644
--- a/drivers/gpu/nvgpu/gp106/hal_gp106.c
+++ b/drivers/gpu/nvgpu/gp106/hal_gp106.c
@@ -202,13 +202,6 @@ static int gp106_init_gpu_characteristics(struct gk20a *g)
202 __nvgpu_set_enabled(g, NVGPU_SUPPORT_DEVICE_EVENTS, true); 202 __nvgpu_set_enabled(g, NVGPU_SUPPORT_DEVICE_EVENTS, true);
203 __nvgpu_set_enabled(g, NVGPU_SUPPORT_SET_THERM_ALERT_LIMIT, true); 203 __nvgpu_set_enabled(g, NVGPU_SUPPORT_SET_THERM_ALERT_LIMIT, true);
204 204
205 /* WAR for missing INA3221 on HW2.5 RevA */
206 if (g->power_sensor_missing) {
207 __nvgpu_set_enabled(g, NVGPU_SUPPORT_GET_VOLTAGE, false);
208 __nvgpu_set_enabled(g, NVGPU_SUPPORT_GET_CURRENT, false);
209 __nvgpu_set_enabled(g, NVGPU_SUPPORT_GET_POWER, false);
210 }
211
212 return 0; 205 return 0;
213} 206}
214 207
diff --git a/drivers/gpu/nvgpu/pmgr/pmgrpmu.c b/drivers/gpu/nvgpu/pmgr/pmgrpmu.c
index 6bd07365..afc92d66 100644
--- a/drivers/gpu/nvgpu/pmgr/pmgrpmu.c
+++ b/drivers/gpu/nvgpu/pmgr/pmgrpmu.c
@@ -507,12 +507,6 @@ u32 pmgr_send_pmgr_tables_to_pmu(struct gk20a *g)
507 } 507 }
508 } 508 }
509 509
510 /* WAR for missing INA3221 on HW2.5 RevA */
511 if (g->power_sensor_missing) {
512 nvgpu_warn(g, "no power device found, skipping power policy");
513 goto exit;
514 }
515
516 if (!(BOARDOBJGRP_IS_EMPTY( 510 if (!(BOARDOBJGRP_IS_EMPTY(
517 &g->pmgr_pmu.pmgr_policyobjs.pwr_policies.super)) || 511 &g->pmgr_pmu.pmgr_policyobjs.pwr_policies.super)) ||
518 !(BOARDOBJGRP_IS_EMPTY( 512 !(BOARDOBJGRP_IS_EMPTY(
diff --git a/drivers/gpu/nvgpu/pmgr/pwrdev.c b/drivers/gpu/nvgpu/pmgr/pwrdev.c
index 42784c9b..97b236e1 100644
--- a/drivers/gpu/nvgpu/pmgr/pwrdev.c
+++ b/drivers/gpu/nvgpu/pmgr/pwrdev.c
@@ -305,12 +305,6 @@ u32 pmgr_device_sw_setup(struct gk20a *g)
305 /* Override the Interfaces */ 305 /* Override the Interfaces */
306 pboardobjgrp->pmudatainstget = _pwr_device_pmudata_instget; 306 pboardobjgrp->pmudatainstget = _pwr_device_pmudata_instget;
307 307
308 /* WAR for missing INA3221 on HW2.5 RevA */
309 if (g->power_sensor_missing) {
310 nvgpu_warn(g, "no power sensor, monitoring disabled");
311 goto done;
312 }
313
314 status = devinit_get_pwr_device_table(g, ppwrdeviceobjs); 308 status = devinit_get_pwr_device_table(g, ppwrdeviceobjs);
315 if (status) 309 if (status)
316 goto done; 310 goto done;