From 8371833f4273c2d4a6f923eb3270b4ab93967743 Mon Sep 17 00:00:00 2001 From: Terje Bergstrom Date: Mon, 27 Oct 2014 11:03:00 +0200 Subject: gpu: nvgpu: Per-chip interrupt processing Move accesses to MC registers under HAL so that they can be reimplemented per chip. Do chip detection and HAL initialization only once. Bug 1567274 Change-Id: I20bf2f439d267d284bfd536f1a1dfb5d5a2dce4c Signed-off-by: Terje Bergstrom Reviewed-on: http://git-master/r/590385 --- drivers/gpu/nvgpu/gk20a/mc_gk20a.h | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 drivers/gpu/nvgpu/gk20a/mc_gk20a.h (limited to 'drivers/gpu/nvgpu/gk20a/mc_gk20a.h') diff --git a/drivers/gpu/nvgpu/gk20a/mc_gk20a.h b/drivers/gpu/nvgpu/gk20a/mc_gk20a.h new file mode 100644 index 00000000..7264ab41 --- /dev/null +++ b/drivers/gpu/nvgpu/gk20a/mc_gk20a.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_GK20A_H +#define MC_GK20A_H +struct gk20a; + +void gk20a_init_mc(struct gpu_ops *gops); +void mc_gk20a_intr_enable(struct gk20a *g); +irqreturn_t mc_gk20a_isr_stall(struct gk20a *g); +irqreturn_t mc_gk20a_isr_nonstall(struct gk20a *g); +irqreturn_t mc_gk20a_intr_thread_stall(struct gk20a *g); +irqreturn_t mc_gk20a_intr_thread_nonstall(struct gk20a *g); +#endif -- cgit v1.2.2