From 508ec183db0ca94d6d909475d44d02d580c49d9f Mon Sep 17 00:00:00 2001 From: Alex Waterman Date: Mon, 28 Nov 2016 13:01:25 -0800 Subject: gpu: nvgpu: Reboot when GPU disappears Reboot the GPU when it disappears instead of just printing a warning message. Bug 1805082 Bug 1816516 Bug 1807277 Change-Id: Ifd23c7e6876d5ea86032a82b7181e31d54e877b5 Signed-off-by: Alex Waterman Reviewed-on: http://git-master/r/1260898 (cherry picked from commit 4fdc48c4e6dddf4299a49f387ac90404dd38950f) Reviewed-on: http://git-master/r/1261917 Reviewed-by: mobile promotions Tested-by: mobile promotions --- drivers/gpu/nvgpu/gk20a/gk20a.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'drivers/gpu/nvgpu/gk20a') diff --git a/drivers/gpu/nvgpu/gk20a/gk20a.c b/drivers/gpu/nvgpu/gk20a/gk20a.c index b921be7c..e314d6cd 100644 --- a/drivers/gpu/nvgpu/gk20a/gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/gk20a.c @@ -39,7 +39,7 @@ #include #include #include - +#include #include #include @@ -266,8 +266,11 @@ void __nvgpu_check_gpu_state(struct gk20a *g) { u32 boot_0 = readl(g->regs + mc_boot_0_r()); - if (boot_0 == 0xffffffff) + if (boot_0 == 0xffffffff) { pr_err("nvgpu: GPU has disappeared from bus!!\n"); + pr_err("nvgpu: Rebooting system!!\n"); + kernel_restart(NULL); + } } static inline void sim_writel(struct gk20a *g, u32 r, u32 v) -- cgit v1.2.2