summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorRichard Zhao <richard.zhao@freescale.com>2011-03-16 10:37:52 +0800
committerRichard Zhao <richard.zhao@freescale.com>2011-03-16 10:55:15 +0800
commit23933c9d534fce58ac74bdc5744e7d57da19b9bd (patch)
tree12ecc4175202460a65914ece0f5c61fcb6f16eb4 /drivers
parent24c8ce16116596963f93252cf726531cc9c9ac9b (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>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/mxc/amd-gpu/common/gsl_intrmgr.c2
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);