mirror of
git://nv-tegra.nvidia.com/linux-nvgpu.git
synced 2025-12-24 02:22:34 +03:00
gpu: nvgpu: handle memfmt exception
In gk20a_gr_isr(), handle memfmt exception as below : - read NV_PGRAPH_PRI_MEMFMT_HWW_ESR - debug print for contents of above register - write same value back to NV_PGRAPH_PRI_MEMFMT_HWW_ESR and clear the exception Bug 200078514 Change-Id: I5b9afacd7f99b5a37de953041582b3a53b863642 Signed-off-by: Deepak Nibade <dnibade@nvidia.com> Reviewed-on: http://git-master/r/713713 Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com> Tested-by: Terje Bergstrom <tbergstrom@nvidia.com>
This commit is contained in:
committed by
Dan Willemsen
parent
a0dcd3b203
commit
e9f2436c29
@@ -5740,6 +5740,13 @@ int gk20a_gr_isr(struct gk20a *g)
|
||||
need_reset |= -EFAULT;
|
||||
}
|
||||
|
||||
if (exception & gr_exception_memfmt_m()) {
|
||||
u32 memfmt = gk20a_readl(g, gr_memfmt_hww_esr_r());
|
||||
gk20a_dbg(gpu_dbg_intr, "memfmt exception %08x\n",
|
||||
memfmt);
|
||||
gk20a_writel(g, gr_memfmt_hww_esr_r(), memfmt);
|
||||
}
|
||||
|
||||
/* check if a gpc exception has occurred */
|
||||
if (exception & gr_exception_gpc_m() && need_reset == 0) {
|
||||
struct channel_gk20a *fault_ch;
|
||||
|
||||
@@ -178,6 +178,10 @@ static inline u32 gr_exception_gpc_m(void)
|
||||
{
|
||||
return 0x1 << 24;
|
||||
}
|
||||
static inline u32 gr_exception_memfmt_m(void)
|
||||
{
|
||||
return 0x1 << 1;
|
||||
}
|
||||
static inline u32 gr_exception1_r(void)
|
||||
{
|
||||
return 0x00400118;
|
||||
|
||||
@@ -166,6 +166,10 @@ static inline u32 gr_exception_gpc_m(void)
|
||||
{
|
||||
return 0x1 << 24;
|
||||
}
|
||||
static inline u32 gr_exception_memfmt_m(void)
|
||||
{
|
||||
return 0x1 << 1;
|
||||
}
|
||||
static inline u32 gr_exception1_r(void)
|
||||
{
|
||||
return 0x00400118;
|
||||
|
||||
Reference in New Issue
Block a user