From 7ac0b046a538daa1a3532d3d5ae7cba1ef3295ba Mon Sep 17 00:00:00 2001 From: Terje Bergstrom Date: Thu, 30 Aug 2018 14:05:16 -0700 Subject: gpu: nvgpu: Move MC HAL to common Move implementation of MC HAL to common/mc. Also bump gk20a implementation to gm20b. gk20a_mc_boot_0 was used via a HAL, but we have only one possible implementation. It also has to be anyway called directly to detect which HALs to assign, so make it a true common function. mc_gk20a_handle_intr_nonstall was also used only in os/linux/intr.c so move it there. JIRA NVGPU-954 Change-Id: I79aedc9158f90d578db0edc17b714617b52690ac Signed-off-by: Terje Bergstrom Reviewed-on: https://git-master.nvidia.com/r/1813519 Reviewed-by: svc-misra-checker GVS: Gerrit_Virtual_Submit Reviewed-by: Konsta Holtta Reviewed-by: mobile promotions Tested-by: mobile promotions --- drivers/gpu/nvgpu/os/linux/intr.c | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) (limited to 'drivers/gpu/nvgpu/os') diff --git a/drivers/gpu/nvgpu/os/linux/intr.c b/drivers/gpu/nvgpu/os/linux/intr.c index 7ffc7e87..5ed6e35c 100644 --- a/drivers/gpu/nvgpu/os/linux/intr.c +++ b/drivers/gpu/nvgpu/os/linux/intr.c @@ -15,7 +15,6 @@ #include #include "gk20a/gk20a.h" -#include "gk20a/mc_gk20a.h" #include #include @@ -107,6 +106,21 @@ irqreturn_t nvgpu_intr_nonstall(struct gk20a *g) return IRQ_HANDLED; } +static void mc_gk20a_handle_intr_nonstall(struct gk20a *g, u32 ops) +{ + bool semaphore_wakeup, post_events; + + semaphore_wakeup = + (((ops & GK20A_NONSTALL_OPS_WAKEUP_SEMAPHORE) != 0U) ? + true : false); + post_events = (((ops & GK20A_NONSTALL_OPS_POST_EVENTS) != 0U) ? + true: false); + + if (semaphore_wakeup) { + g->ops.semaphore_wakeup(g, post_events); + } +} + void nvgpu_intr_nonstall_cb(struct work_struct *work) { struct nvgpu_os_linux *l = -- cgit v1.2.2