summaryrefslogtreecommitdiff
path: root/drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal.h
diff options
context:
space:
mode:
authorShawn Xiao <b49994@freescale.com>2015-06-12 13:08:42 +0800
committerShawn Xiao <b49994@freescale.com>2015-06-12 13:14:49 +0800
commit6eefa0c21fd6b2ce9058ab53d375430ba13673d7 (patch)
tree7b4684dc2ffabb6030b0a440d45e39de03463e6e /drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal.h
parent6d5f951e94237c818576f4bcc6577d833f151804 (diff)
MGS-532 [#1630] P13 driver meet "AXI BUS ERROR" on GC2000rel_imx_3.10.17_1.0.3_patch
When run Antutu benchmark several times continuously, it will show "AXI BUS ERROR". The root cause is When unlock a surface, driver must flush its GPU cache. Otherwise, GPU may write out the cache after GPU address is freed, which will cause MMU Exception or AXI bus error. Even if GPU address isn't freed, data in cache may pollute memory after memory is used by another surface. The solution is Before an event is written to command buffer, driver checks the group of records linked to this event to find out which kinds of cache need to flush. This method doesn't care whether the record is from user side or kernel. And driver generates only one flush for a group of records. Date: Jun 11, 2015 Signed-off-by: Meng Mingming <b51843@freescale.com>
Diffstat (limited to 'drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal.h')
-rw-r--r--drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal.h b/drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal.h
index ec770ad69f24..692ac89dbdae 100644
--- a/drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal.h
+++ b/drivers/mxc/gpu-viv/hal/kernel/inc/gc_hal.h
@@ -1664,10 +1664,12 @@ typedef enum _gceKERNEL_FLUSH
gcvFLUSH_DEPTH = 0x02,
gcvFLUSH_TEXTURE = 0x04,
gcvFLUSH_2D = 0x08,
+ gcvFLUSH_TILE_STATUS = 0x20,
gcvFLUSH_ALL = gcvFLUSH_COLOR
| gcvFLUSH_DEPTH
| gcvFLUSH_TEXTURE
- | gcvFLUSH_2D,
+ | gcvFLUSH_2D
+ | gcvFLUSH_TILE_STATUS
}
gceKERNEL_FLUSH;