From 0b50f2a2020c81f00999a8f06a67dde4c214821f Mon Sep 17 00:00:00 2001 From: Terje Bergstrom Date: Mon, 27 Oct 2014 15:05:45 +0200 Subject: gpu: nvgpu: Implement gp10b intr processing Bug 1567274 Change-Id: I2a6cef954b56d1f97208d29584e0748ec1c5e29d Signed-off-by: Terje Bergstrom Reviewed-on: http://git-master/r/591628 Reviewed-by: Automatic_Commit_Validation_User GVS: Gerrit_Virtual_Submit --- drivers/gpu/nvgpu/gp10b/mc_gp10b.h | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 drivers/gpu/nvgpu/gp10b/mc_gp10b.h (limited to 'drivers/gpu/nvgpu/gp10b/mc_gp10b.h') diff --git a/drivers/gpu/nvgpu/gp10b/mc_gp10b.h b/drivers/gpu/nvgpu/gp10b/mc_gp10b.h new file mode 100644 index 00000000..f274ce05 --- /dev/null +++ b/drivers/gpu/nvgpu/gp10b/mc_gp10b.h @@ -0,0 +1,24 @@ +/* + * Copyright (c) 2014, NVIDIA CORPORATION. All rights reserved. + * + * This program is free software; you can redistribute it and/or modify it + * under the terms and conditions of the GNU General Public License, + * version 2, as published by the Free Software Foundation. + * + * This program is distributed in the hope it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + */ + +#ifndef MC_GP20B_H +#define MC_GP20B_H +struct gk20a; + +void gp10b_init_mc(struct gpu_ops *gops); +void mc_gp10b_intr_enable(struct gk20a *g); +irqreturn_t mc_gp10b_isr_stall(struct gk20a *g); +irqreturn_t mc_gp10b_isr_nonstall(struct gk20a *g); +irqreturn_t mc_gp10b_intr_thread_stall(struct gk20a *g); +irqreturn_t mc_gp10b_intr_thread_nonstall(struct gk20a *g); +#endif -- cgit v1.2.2 From d40f3fb2731b9e0586677026dcdeaabf63398933 Mon Sep 17 00:00:00 2001 From: Mahantesh Kumbar Date: Tue, 9 Dec 2014 11:48:54 +0530 Subject: gpu: nvgpu: Handle MC pmu interrupts - Made changes to MC to get pmu interrrupts Change-Id: I07aaec8392b1fbb34ae727bc7547a571aaeeb814 Signed-off-by: Mahantesh Kumbar Reviewed-on: http://git-master/r/661212 Reviewed-by: Bharat Nihalani Tested-by: Bharat Nihalani --- drivers/gpu/nvgpu/gp10b/mc_gp10b.h | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'drivers/gpu/nvgpu/gp10b/mc_gp10b.h') diff --git a/drivers/gpu/nvgpu/gp10b/mc_gp10b.h b/drivers/gpu/nvgpu/gp10b/mc_gp10b.h index f274ce05..b2ec4be4 100644 --- a/drivers/gpu/nvgpu/gp10b/mc_gp10b.h +++ b/drivers/gpu/nvgpu/gp10b/mc_gp10b.h @@ -15,8 +15,15 @@ #define MC_GP20B_H struct gk20a; +enum MC_INTERRUPT_REGLIST { + NVGPU_MC_INTR_STALLING = 0, + NVGPU_MC_INTR_NONSTALLING, +}; + void gp10b_init_mc(struct gpu_ops *gops); void mc_gp10b_intr_enable(struct gk20a *g); +void mc_gp10b_intr_unit_config(struct gk20a *g, bool enable, + bool is_stalling, u32 mask); irqreturn_t mc_gp10b_isr_stall(struct gk20a *g); irqreturn_t mc_gp10b_isr_nonstall(struct gk20a *g); irqreturn_t mc_gp10b_intr_thread_stall(struct gk20a *g); -- cgit v1.2.2