From c991410874e1c4164404b33060b31bf2d99d1ae6 Mon Sep 17 00:00:00 2001 From: Alex Waterman Date: Fri, 16 Feb 2018 14:17:27 -0800 Subject: gpu: nvgpu: Abstract kernel_restart() This function is used in gk20a.c to handle catastrophic error conditions but is Linux specific. As such, implement an abstraction for this in driver_common.c and expose the API in nvgpu_common.h. JIRA NVGPU-525 Signed-off-by: Alex Waterman Change-Id: Ie2e417d30af5ff7db76f4d2d5b97ec96c386bd04 Reviewed-on: https://git-master.nvidia.com/r/1662543 Reviewed-by: svc-mobile-coverity Reviewed-by: Deepak Nibade GVS: Gerrit_Virtual_Submit Reviewed-by: Vijayakumar Subbu Reviewed-by: mobile promotions Tested-by: mobile promotions --- drivers/gpu/nvgpu/common/linux/driver_common.c | 6 ++++++ drivers/gpu/nvgpu/gk20a/gk20a.c | 4 +--- drivers/gpu/nvgpu/include/nvgpu/nvgpu_common.h | 2 ++ 3 files changed, 9 insertions(+), 3 deletions(-) (limited to 'drivers') diff --git a/drivers/gpu/nvgpu/common/linux/driver_common.c b/drivers/gpu/nvgpu/common/linux/driver_common.c index b3333e37..9029366f 100644 --- a/drivers/gpu/nvgpu/common/linux/driver_common.c +++ b/drivers/gpu/nvgpu/common/linux/driver_common.c @@ -14,6 +14,7 @@ * along with this program. If not, see . */ +#include #include #include #include @@ -37,6 +38,11 @@ #define EMC3D_DEFAULT_RATIO 750 +void nvgpu_kernel_restart(void *cmd) +{ + kernel_restart(cmd); +} + static void nvgpu_init_vars(struct gk20a *g) { struct nvgpu_os_linux *l = nvgpu_os_linux_from_gk20a(g); diff --git a/drivers/gpu/nvgpu/gk20a/gk20a.c b/drivers/gpu/nvgpu/gk20a/gk20a.c index 868792c0..6aae851e 100644 --- a/drivers/gpu/nvgpu/gk20a/gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/gk20a.c @@ -22,8 +22,6 @@ * DEALINGS IN THE SOFTWARE. */ -#include - #include #include #include @@ -61,7 +59,7 @@ void __nvgpu_check_gpu_state(struct gk20a *g) if (boot_0 == 0xffffffff) { nvgpu_err(g, "GPU has disappeared from bus!!"); nvgpu_err(g, "Rebooting system!!"); - kernel_restart(NULL); + nvgpu_kernel_restart(NULL); } } diff --git a/drivers/gpu/nvgpu/include/nvgpu/nvgpu_common.h b/drivers/gpu/nvgpu/include/nvgpu/nvgpu_common.h index 50e8c8f1..34660516 100644 --- a/drivers/gpu/nvgpu/include/nvgpu/nvgpu_common.h +++ b/drivers/gpu/nvgpu/include/nvgpu/nvgpu_common.h @@ -31,4 +31,6 @@ int nvgpu_probe(struct gk20a *g, const char *interface_name, struct class *class); +void nvgpu_kernel_restart(void *cmd); + #endif -- cgit v1.2.2