summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/etnaviv/state_blt.xml.h
diff options
context:
space:
mode:
authorLucas Stach <l.stach@pengutronix.de>2020-02-26 18:27:08 +0300
committerLucas Stach <l.stach@pengutronix.de>2020-03-20 20:40:44 +0300
commitf232d9ec029ce3e2543b05213e2979e01e503408 (patch)
tree3a73919e1e4e8f6cf038f59a0bf4971614127410 /drivers/gpu/drm/etnaviv/state_blt.xml.h
parentb72af445cd38a44553a5bcfcce5676155dcffcbb (diff)
downloadlinux-f232d9ec029ce3e2543b05213e2979e01e503408.tar.xz
drm/etnaviv: fix TS cache flushing on GPUs with BLT engine
As seen in the Vivante kernel driver, most GPUs with the BLT engine have a broken TS cache flush. The workaround is to temporarily set the BLT command to CLEAR_IMAGE, without actually executing the clear. Apparently this state change is enough to trigger the required TS cache flush. As the BLT engine is completely asychronous, we also need a few more stall states to synchronize the flush with the frontend. Root-caused-by: Jonathan Marek <jonathan@marek.ca> Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Diffstat (limited to 'drivers/gpu/drm/etnaviv/state_blt.xml.h')
-rw-r--r--drivers/gpu/drm/etnaviv/state_blt.xml.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/gpu/drm/etnaviv/state_blt.xml.h b/drivers/gpu/drm/etnaviv/state_blt.xml.h
index daae55995def..0e8bcf9dcc93 100644
--- a/drivers/gpu/drm/etnaviv/state_blt.xml.h
+++ b/drivers/gpu/drm/etnaviv/state_blt.xml.h
@@ -46,6 +46,8 @@ DEALINGS IN THE SOFTWARE.
/* This is a cut-down version of the state_blt.xml.h file */
+#define VIVS_BLT_SET_COMMAND 0x000140ac
+
#define VIVS_BLT_ENABLE 0x000140b8
#define VIVS_BLT_ENABLE_ENABLE 0x00000001