diff options
Diffstat (limited to 'drivers/gpu/nvgpu')
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/hw_ltc_gk20a.h | 6 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/ltc_gk20a.c | 14 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/gm20b/hw_ltc_gm20b.h | 6 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/gm20b/ltc_gm20b.c | 3 |
4 files changed, 22 insertions, 7 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/hw_ltc_gk20a.h b/drivers/gpu/nvgpu/gk20a/hw_ltc_gk20a.h index 6db5654b..94770431 100644 --- a/drivers/gpu/nvgpu/gk20a/hw_ltc_gk20a.h +++ b/drivers/gpu/nvgpu/gk20a/hw_ltc_gk20a.h | |||
@@ -1,5 +1,5 @@ | |||
1 | /* | 1 | /* |
2 | * Copyright (c) 2012-2014, NVIDIA CORPORATION. All rights reserved. | 2 | * Copyright (c) 2012-2016, NVIDIA CORPORATION. All rights reserved. |
3 | * | 3 | * |
4 | * This program is free software; you can redistribute it and/or modify it | 4 | * This program is free software; you can redistribute it and/or modify it |
5 | * under the terms and conditions of the GNU General Public License, | 5 | * under the terms and conditions of the GNU General Public License, |
@@ -258,6 +258,10 @@ static inline u32 ltc_ltcs_ltss_intr_en_evicted_cb_m(void) | |||
258 | { | 258 | { |
259 | return 0x1 << 20; | 259 | return 0x1 << 20; |
260 | } | 260 | } |
261 | static inline u32 ltc_ltcs_ltss_intr_en_illegal_compstat_m(void) | ||
262 | { | ||
263 | return 0x1 << 21; | ||
264 | } | ||
261 | static inline u32 ltc_ltc0_lts0_intr_r(void) | 265 | static inline u32 ltc_ltc0_lts0_intr_r(void) |
262 | { | 266 | { |
263 | return 0x00141020; | 267 | return 0x00141020; |
diff --git a/drivers/gpu/nvgpu/gk20a/ltc_gk20a.c b/drivers/gpu/nvgpu/gk20a/ltc_gk20a.c index c6ff07da..0d9a98b4 100644 --- a/drivers/gpu/nvgpu/gk20a/ltc_gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/ltc_gk20a.c | |||
@@ -1,9 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * drivers/video/tegra/host/gk20a/ltc_gk20a.c | 2 | * GK20A L2 |
3 | * | 3 | * |
4 | * GK20A Graphics | 4 | * Copyright (c) 2011-2016, NVIDIA CORPORATION. All rights reserved. |
5 | * | ||
6 | * Copyright (c) 2011-2015, NVIDIA CORPORATION. All rights reserved. | ||
7 | * | 5 | * |
8 | * This program is free software; you can redistribute it and/or modify it | 6 | * This program is free software; you can redistribute it and/or modify it |
9 | * under the terms and conditions of the GNU General Public License, | 7 | * under the terms and conditions of the GNU General Public License, |
@@ -173,9 +171,17 @@ out: | |||
173 | 171 | ||
174 | static void gk20a_ltc_init_fs_state(struct gk20a *g) | 172 | static void gk20a_ltc_init_fs_state(struct gk20a *g) |
175 | { | 173 | { |
174 | u32 reg; | ||
175 | |||
176 | gk20a_dbg_info("initialize gk20a L2"); | 176 | gk20a_dbg_info("initialize gk20a L2"); |
177 | 177 | ||
178 | g->max_ltc_count = g->ltc_count = 1; | 178 | g->max_ltc_count = g->ltc_count = 1; |
179 | |||
180 | /* Disable LTC interrupts */ | ||
181 | reg = gk20a_readl(g, ltc_ltcs_ltss_intr_r()); | ||
182 | reg &= ~ltc_ltcs_ltss_intr_en_evicted_cb_m(); | ||
183 | reg &= ~ltc_ltcs_ltss_intr_en_illegal_compstat_m(); | ||
184 | gk20a_writel(g, ltc_ltcs_ltss_intr_r(), reg); | ||
179 | } | 185 | } |
180 | 186 | ||
181 | static void gk20a_ltc_isr(struct gk20a *g) | 187 | static void gk20a_ltc_isr(struct gk20a *g) |
diff --git a/drivers/gpu/nvgpu/gm20b/hw_ltc_gm20b.h b/drivers/gpu/nvgpu/gm20b/hw_ltc_gm20b.h index 95e0c43d..aa01e945 100644 --- a/drivers/gpu/nvgpu/gm20b/hw_ltc_gm20b.h +++ b/drivers/gpu/nvgpu/gm20b/hw_ltc_gm20b.h | |||
@@ -1,5 +1,5 @@ | |||
1 | /* | 1 | /* |
2 | * Copyright (c) 2014, NVIDIA CORPORATION. All rights reserved. | 2 | * Copyright (c) 2014-2016, NVIDIA CORPORATION. All rights reserved. |
3 | * | 3 | * |
4 | * This program is free software; you can redistribute it and/or modify it | 4 | * This program is free software; you can redistribute it and/or modify it |
5 | * under the terms and conditions of the GNU General Public License, | 5 | * under the terms and conditions of the GNU General Public License, |
@@ -286,6 +286,10 @@ static inline u32 ltc_ltcs_ltss_intr_en_illegal_compstat_access_m(void) | |||
286 | { | 286 | { |
287 | return 0x1 << 30; | 287 | return 0x1 << 30; |
288 | } | 288 | } |
289 | static inline u32 ltc_ltcs_ltss_intr_en_illegal_compstat_m(void) | ||
290 | { | ||
291 | return 0x1 << 21; | ||
292 | } | ||
289 | static inline u32 ltc_ltc0_lts0_intr_r(void) | 293 | static inline u32 ltc_ltc0_lts0_intr_r(void) |
290 | { | 294 | { |
291 | return 0x0014040c; | 295 | return 0x0014040c; |
diff --git a/drivers/gpu/nvgpu/gm20b/ltc_gm20b.c b/drivers/gpu/nvgpu/gm20b/ltc_gm20b.c index 5b6bff7f..ffc36903 100644 --- a/drivers/gpu/nvgpu/gm20b/ltc_gm20b.c +++ b/drivers/gpu/nvgpu/gm20b/ltc_gm20b.c | |||
@@ -1,7 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * GM20B L2 | 2 | * GM20B L2 |
3 | * | 3 | * |
4 | * Copyright (c) 2014-2015 NVIDIA CORPORATION. All rights reserved. | 4 | * Copyright (c) 2014-2016 NVIDIA CORPORATION. All rights reserved. |
5 | * | 5 | * |
6 | * This program is free software; you can redistribute it and/or modify it | 6 | * This program is free software; you can redistribute it and/or modify it |
7 | * under the terms and conditions of the GNU General Public License, | 7 | * under the terms and conditions of the GNU General Public License, |
@@ -190,6 +190,7 @@ void gm20b_ltc_init_fs_state(struct gk20a *g) | |||
190 | reg = gk20a_readl(g, ltc_ltcs_ltss_intr_r()); | 190 | reg = gk20a_readl(g, ltc_ltcs_ltss_intr_r()); |
191 | reg &= ~ltc_ltcs_ltss_intr_en_evicted_cb_m(); | 191 | reg &= ~ltc_ltcs_ltss_intr_en_evicted_cb_m(); |
192 | reg &= ~ltc_ltcs_ltss_intr_en_illegal_compstat_access_m(); | 192 | reg &= ~ltc_ltcs_ltss_intr_en_illegal_compstat_access_m(); |
193 | reg &= ~ltc_ltcs_ltss_intr_en_illegal_compstat_m(); | ||
193 | gk20a_writel(g, ltc_ltcs_ltss_intr_r(), reg); | 194 | gk20a_writel(g, ltc_ltcs_ltss_intr_r(), reg); |
194 | } | 195 | } |
195 | 196 | ||