From 2b2b4f9b14fdd4448200546f2a47d2603df30e38 Mon Sep 17 00:00:00 2001 From: Tejal Kudav Date: Wed, 8 Aug 2018 16:36:10 +0530 Subject: gpu: nvgpu: Remove falcon header usage in nvlink For nvlink, we need to use minion registers instead of generic falcon registers. JIRA NVGPU-966 Change-Id: I850d2e2a4475394c37d2253c5034713c78439bd0 Signed-off-by: Tejal Kudav Reviewed-on: https://git-master.nvidia.com/r/1795086 Reviewed-by: svc-misra-checker Reviewed-by: svccoveritychecker GVS: Gerrit_Virtual_Submit Reviewed-by: Terje Bergstrom Reviewed-by: mobile promotions Tested-by: mobile promotions --- drivers/gpu/nvgpu/gv100/nvlink_gv100.c | 3 +-- .../gpu/nvgpu/include/nvgpu/hw/gv100/hw_minion_gv100.h | 16 ++++++++++++++++ 2 files changed, 17 insertions(+), 2 deletions(-) (limited to 'drivers') diff --git a/drivers/gpu/nvgpu/gv100/nvlink_gv100.c b/drivers/gpu/nvgpu/gv100/nvlink_gv100.c index b51fc6fa..6d6fb4fd 100644 --- a/drivers/gpu/nvgpu/gv100/nvlink_gv100.c +++ b/drivers/gpu/nvgpu/gv100/nvlink_gv100.c @@ -34,7 +34,6 @@ #include "gk20a/gk20a.h" #include "nvlink_gv100.h" -#include #include #include #include @@ -329,7 +328,7 @@ static bool gv100_nvlink_minion_falcon_isr(struct gk20a *g) if (!intr) return true; - if (intr & falcon_falcon_irqstat_exterr_true_f()) { + if (intr & minion_falcon_irqstat_exterr_true_f()) { nvgpu_err(g, "FALCON EXT ADDR: 0x%x 0x%x 0x%x", MINION_REG_RD32(g, 0x244), MINION_REG_RD32(g, 0x248), diff --git a/drivers/gpu/nvgpu/include/nvgpu/hw/gv100/hw_minion_gv100.h b/drivers/gpu/nvgpu/include/nvgpu/hw/gv100/hw_minion_gv100.h index a57ea97a..e4bbf23f 100644 --- a/drivers/gpu/nvgpu/include/nvgpu/hw/gv100/hw_minion_gv100.h +++ b/drivers/gpu/nvgpu/include/nvgpu/hw/gv100/hw_minion_gv100.h @@ -104,6 +104,22 @@ static inline u32 minion_falcon_irqstat_halt_v(u32 r) { return (r >> 4U) & 0x1U; } +static inline u32 minion_falcon_irqstat_exterr_f(u32 v) +{ + return (v & 0x1U) << 5U; +} +static inline u32 minion_falcon_irqstat_exterr_v(u32 r) +{ + return (r >> 5U) & 0x1U; +} +static inline u32 minion_falcon_irqstat_exterr_true_v(void) +{ + return 0x00000001U; +} +static inline u32 minion_falcon_irqstat_exterr_true_f(void) +{ + return 0x20U; +} static inline u32 minion_falcon_irqmask_r(void) { return 0x00000018U; -- cgit v1.2.2