diff options
author | Richard Zhao <richard.zhao@freescale.com> | 2011-03-16 10:37:52 +0800 |
---|---|---|
committer | Andy Voltz <andy.voltz@timesys.com> | 2011-06-01 13:21:03 -0400 |
commit | 70c5095cf690baff6286821ac4badc8c922a0c68 (patch) | |
tree | 12ecc4175202460a65914ece0f5c61fcb6f16eb4 | |
parent | 348f4a493345e2b418f33e065df8e2004fe06e02 (diff) |
ENGR00140700 GPU: fix tiger run the second time causing system hang
The root cause is endless GSL_INTR_BLOCK_YDX_CP interrupt.
Apply interrupt status read work around only when yamato started.
Signed-off-by: Richard Zhao <richard.zhao@freescale.com>
-rw-r--r-- | drivers/mxc/amd-gpu/common/gsl_intrmgr.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/mxc/amd-gpu/common/gsl_intrmgr.c b/drivers/mxc/amd-gpu/common/gsl_intrmgr.c index cba9fc32ab8c..ae2eb4a0b864 100644 --- a/drivers/mxc/amd-gpu/common/gsl_intrmgr.c +++ b/drivers/mxc/amd-gpu/common/gsl_intrmgr.c @@ -59,7 +59,7 @@ kgsl_intr_decode(gsl_device_t *device, gsl_intrblock_t block_id) // read the block's interrupt status bits /* exclude CP block here to avoid hang in heavy loading with VPU+GPU */ - if (block_id == GSL_INTR_BLOCK_YDX_CP) { + if ((block_id == GSL_INTR_BLOCK_YDX_CP) && (device->flags & GSL_FLAGS_STARTED)) { status = 0x80000000; } else { device->ftbl.device_regread(device, block->status_reg, &status); |