diff options
Diffstat (limited to 'drivers/gpu/nvgpu')
-rw-r--r-- | drivers/gpu/nvgpu/gp106/hal_gp106.c | 7 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/pmgr/pmgrpmu.c | 6 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/pmgr/pwrdev.c | 7 |
3 files changed, 20 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/gp106/hal_gp106.c b/drivers/gpu/nvgpu/gp106/hal_gp106.c index 7459c57f..8f72522f 100644 --- a/drivers/gpu/nvgpu/gp106/hal_gp106.c +++ b/drivers/gpu/nvgpu/gp106/hal_gp106.c | |||
@@ -207,6 +207,13 @@ int gp106_init_gpu_characteristics(struct gk20a *g) | |||
207 | NVGPU_GPU_FLAGS_SUPPORT_DEVICE_EVENTS | | 207 | NVGPU_GPU_FLAGS_SUPPORT_DEVICE_EVENTS | |
208 | NVGPU_GPU_FLAGS_SUPPORT_SET_THERM_ALERT_LIMIT; | 208 | NVGPU_GPU_FLAGS_SUPPORT_SET_THERM_ALERT_LIMIT; |
209 | 209 | ||
210 | /* WAR for missing INA3221 on HW2.5 RevA */ | ||
211 | if (g->power_sensor_missing) { | ||
212 | gpu->flags &= ~(NVGPU_GPU_FLAGS_SUPPORT_GET_VOLTAGE | | ||
213 | NVGPU_GPU_FLAGS_SUPPORT_GET_CURRENT | | ||
214 | NVGPU_GPU_FLAGS_SUPPORT_GET_POWER); | ||
215 | } | ||
216 | |||
210 | return 0; | 217 | return 0; |
211 | } | 218 | } |
212 | 219 | ||
diff --git a/drivers/gpu/nvgpu/pmgr/pmgrpmu.c b/drivers/gpu/nvgpu/pmgr/pmgrpmu.c index 95225961..d09becd6 100644 --- a/drivers/gpu/nvgpu/pmgr/pmgrpmu.c +++ b/drivers/gpu/nvgpu/pmgr/pmgrpmu.c | |||
@@ -488,6 +488,12 @@ u32 pmgr_send_pmgr_tables_to_pmu(struct gk20a *g) | |||
488 | } | 488 | } |
489 | } | 489 | } |
490 | 490 | ||
491 | /* WAR for missing INA3221 on HW2.5 RevA */ | ||
492 | if (g->power_sensor_missing) { | ||
493 | nvgpu_warn(g, "no power device found, skipping power policy"); | ||
494 | goto exit; | ||
495 | } | ||
496 | |||
491 | if (!(BOARDOBJGRP_IS_EMPTY( | 497 | if (!(BOARDOBJGRP_IS_EMPTY( |
492 | &g->pmgr_pmu.pmgr_policyobjs.pwr_policies.super)) || | 498 | &g->pmgr_pmu.pmgr_policyobjs.pwr_policies.super)) || |
493 | !(BOARDOBJGRP_IS_EMPTY( | 499 | !(BOARDOBJGRP_IS_EMPTY( |
diff --git a/drivers/gpu/nvgpu/pmgr/pwrdev.c b/drivers/gpu/nvgpu/pmgr/pwrdev.c index e32dfc40..06356592 100644 --- a/drivers/gpu/nvgpu/pmgr/pwrdev.c +++ b/drivers/gpu/nvgpu/pmgr/pwrdev.c | |||
@@ -297,6 +297,13 @@ u32 pmgr_device_sw_setup(struct gk20a *g) | |||
297 | /* Override the Interfaces */ | 297 | /* Override the Interfaces */ |
298 | pboardobjgrp->pmudatainstget = _pwr_device_pmudata_instget; | 298 | pboardobjgrp->pmudatainstget = _pwr_device_pmudata_instget; |
299 | 299 | ||
300 | /* WAR for missing INA3221 on HW2.5 RevA */ | ||
301 | if (g->power_sensor_missing) { | ||
302 | gk20a_warn(dev_from_gk20a(g), | ||
303 | "no power sensor, monitoring disabled"); | ||
304 | goto done; | ||
305 | } | ||
306 | |||
300 | status = devinit_get_pwr_device_table(g, ppwrdeviceobjs); | 307 | status = devinit_get_pwr_device_table(g, ppwrdeviceobjs); |
301 | if (status) | 308 | if (status) |
302 | goto done; | 309 | goto done; |