diff options
author | Shawn Xiao <b49994@freescale.com> | 2015-05-19 14:32:46 +0800 |
---|---|---|
committer | Xianzhong <b07117@freescale.com> | 2015-05-28 19:26:34 +0800 |
commit | e3ba3c9a4dba57af6c7c40573c48fc3caabd0914 (patch) | |
tree | 48885834e7fbaee5063c85953cbada296f8c66c7 | |
parent | c690dcd80edc245b3edb9e1ae579569baaf035f1 (diff) |
MGS-622 [#1729] Suspend/resume test cause GPU hang
Signal will cause some GPU kernel call return with error status
gcvSTATUS_INTERRUPTED. If adding interruptcount first, the signal will
cause the number not align with actual event, and the monitor funciton
will make a fake GPU hang judgement based on this.
Date May 21, 2015
Signed-off-by: Shawn Xiao <b49994@freescale.com>
(cherry picked from commit 4ac2e19117d3c2349cab50e58a2b33606c3d5bdd)
-rw-r--r-- | drivers/mxc/gpu-viv/hal/kernel/gc_hal_kernel_event.c | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/drivers/mxc/gpu-viv/hal/kernel/gc_hal_kernel_event.c b/drivers/mxc/gpu-viv/hal/kernel/gc_hal_kernel_event.c index b5921692310e..7aa0dfe24f8b 100644 --- a/drivers/mxc/gpu-viv/hal/kernel/gc_hal_kernel_event.c +++ b/drivers/mxc/gpu-viv/hal/kernel/gc_hal_kernel_event.c @@ -1728,14 +1728,6 @@ gckEVENT_Submit( /* Determine cache needed to flush. */ gcmkVERIFY_OK(_QueryFlush(Event, Event->queues[id].head, &flush)); -#if gcdINTERRUPT_STATISTIC - gcmkVERIFY_OK(gckOS_AtomIncrement( - Event->os, - Event->interruptCount, - &oldValue - )); -#endif - #if gcdNULL_DRIVER /* Notify immediately on infinite hardware. */ gcmkONERROR(gckEVENT_Interrupt(Event, 1 << id)); @@ -1835,6 +1827,14 @@ gckEVENT_Submit( gcmkONERROR(gckCOMMAND_Execute(command, executeBytes)); #endif #endif +#if gcdINTERRUPT_STATISTIC + gcmkVERIFY_OK(gckOS_AtomIncrement( + Event->os, + Event->interruptCount, + &oldValue + )); +#endif + } /* Release the command queue. */ |