mirror of
git://nv-tegra.nvidia.com/linux-nvgpu.git
synced 2025-12-23 09:57:08 +03:00
gpu: nvgpu: Disable illegal comptag interrupt
Illegal comptag interrupt is triggered when a page is mapped with two different kinds with incompatible compression status. This can be intentional, so disable the interrupt. Change-Id: I84a212beac147991d09d2d381a9e770b1364f4d8 Signed-off-by: Terje Bergstrom <tbergstrom@nvidia.com> Reviewed-on: http://git-master/r/1029663 (cherry picked from commit 819607a768f9fccdd0b233d58bcf88b9eee4ee19) Reviewed-on: http://git-master/r/1031010 Reviewed-by: Automatic_Commit_Validation_User GVS: Gerrit_Virtual_Submit
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2012-2014, NVIDIA CORPORATION. All rights reserved.
|
* Copyright (c) 2012-2016, NVIDIA CORPORATION. All rights reserved.
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify it
|
* This program is free software; you can redistribute it and/or modify it
|
||||||
* under the terms and conditions of the GNU General Public License,
|
* 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)
|
|||||||
{
|
{
|
||||||
return 0x1 << 20;
|
return 0x1 << 20;
|
||||||
}
|
}
|
||||||
|
static inline u32 ltc_ltcs_ltss_intr_en_illegal_compstat_m(void)
|
||||||
|
{
|
||||||
|
return 0x1 << 21;
|
||||||
|
}
|
||||||
static inline u32 ltc_ltc0_lts0_intr_r(void)
|
static inline u32 ltc_ltc0_lts0_intr_r(void)
|
||||||
{
|
{
|
||||||
return 0x00141020;
|
return 0x00141020;
|
||||||
|
|||||||
@@ -1,9 +1,7 @@
|
|||||||
/*
|
/*
|
||||||
* drivers/video/tegra/host/gk20a/ltc_gk20a.c
|
* GK20A L2
|
||||||
*
|
*
|
||||||
* GK20A Graphics
|
* Copyright (c) 2011-2016, NVIDIA CORPORATION. All rights reserved.
|
||||||
*
|
|
||||||
* Copyright (c) 2011-2015, NVIDIA CORPORATION. All rights reserved.
|
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify it
|
* This program is free software; you can redistribute it and/or modify it
|
||||||
* under the terms and conditions of the GNU General Public License,
|
* under the terms and conditions of the GNU General Public License,
|
||||||
@@ -173,9 +171,17 @@ out:
|
|||||||
|
|
||||||
static void gk20a_ltc_init_fs_state(struct gk20a *g)
|
static void gk20a_ltc_init_fs_state(struct gk20a *g)
|
||||||
{
|
{
|
||||||
|
u32 reg;
|
||||||
|
|
||||||
gk20a_dbg_info("initialize gk20a L2");
|
gk20a_dbg_info("initialize gk20a L2");
|
||||||
|
|
||||||
g->max_ltc_count = g->ltc_count = 1;
|
g->max_ltc_count = g->ltc_count = 1;
|
||||||
|
|
||||||
|
/* Disable LTC interrupts */
|
||||||
|
reg = gk20a_readl(g, ltc_ltcs_ltss_intr_r());
|
||||||
|
reg &= ~ltc_ltcs_ltss_intr_en_evicted_cb_m();
|
||||||
|
reg &= ~ltc_ltcs_ltss_intr_en_illegal_compstat_m();
|
||||||
|
gk20a_writel(g, ltc_ltcs_ltss_intr_r(), reg);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void gk20a_ltc_isr(struct gk20a *g)
|
static void gk20a_ltc_isr(struct gk20a *g)
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2014, NVIDIA CORPORATION. All rights reserved.
|
* Copyright (c) 2014-2016, NVIDIA CORPORATION. All rights reserved.
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify it
|
* This program is free software; you can redistribute it and/or modify it
|
||||||
* under the terms and conditions of the GNU General Public License,
|
* 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)
|
|||||||
{
|
{
|
||||||
return 0x1 << 30;
|
return 0x1 << 30;
|
||||||
}
|
}
|
||||||
|
static inline u32 ltc_ltcs_ltss_intr_en_illegal_compstat_m(void)
|
||||||
|
{
|
||||||
|
return 0x1 << 21;
|
||||||
|
}
|
||||||
static inline u32 ltc_ltc0_lts0_intr_r(void)
|
static inline u32 ltc_ltc0_lts0_intr_r(void)
|
||||||
{
|
{
|
||||||
return 0x0014040c;
|
return 0x0014040c;
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
/*
|
/*
|
||||||
* GM20B L2
|
* GM20B L2
|
||||||
*
|
*
|
||||||
* Copyright (c) 2014-2015 NVIDIA CORPORATION. All rights reserved.
|
* Copyright (c) 2014-2016 NVIDIA CORPORATION. All rights reserved.
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify it
|
* This program is free software; you can redistribute it and/or modify it
|
||||||
* under the terms and conditions of the GNU General Public License,
|
* under the terms and conditions of the GNU General Public License,
|
||||||
@@ -190,6 +190,7 @@ void gm20b_ltc_init_fs_state(struct gk20a *g)
|
|||||||
reg = gk20a_readl(g, ltc_ltcs_ltss_intr_r());
|
reg = gk20a_readl(g, ltc_ltcs_ltss_intr_r());
|
||||||
reg &= ~ltc_ltcs_ltss_intr_en_evicted_cb_m();
|
reg &= ~ltc_ltcs_ltss_intr_en_evicted_cb_m();
|
||||||
reg &= ~ltc_ltcs_ltss_intr_en_illegal_compstat_access_m();
|
reg &= ~ltc_ltcs_ltss_intr_en_illegal_compstat_access_m();
|
||||||
|
reg &= ~ltc_ltcs_ltss_intr_en_illegal_compstat_m();
|
||||||
gk20a_writel(g, ltc_ltcs_ltss_intr_r(), reg);
|
gk20a_writel(g, ltc_ltcs_ltss_intr_r(), reg);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user