summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPrakash Kamliya <pkamliya@codeaurora.org>2016-03-17 12:38:51 +0530
committerJeevan Shriram <jshriram@codeaurora.org>2016-04-22 15:04:52 -0700
commit3edc12e8ea6bcac95f61d146a48e7e512222f0eb (patch)
tree87e5d3d81f3d898f15a9478e424ddf3844f51a5e
parentbbb0b3be4477babb7d716de0fe67e99a77ef645d (diff)
msm: kgsl: Update ucode workarounds for A5xx GPUs
Update ucode workarounds for A5xx GPUs based on new microcode and hardware changes. CRs-Fixed: 1000396 Change-Id: I87a1ba9bfc441cad2ed6a6959d07af1cc1e2c7bc Signed-off-by: Prakash Kamliya <pkamliya@codeaurora.org> Signed-off-by: Oleg Perelet <operelet@codeaurora.org>
-rw-r--r--drivers/gpu/msm/adreno_a5xx.c17
1 files changed, 14 insertions, 3 deletions
diff --git a/drivers/gpu/msm/adreno_a5xx.c b/drivers/gpu/msm/adreno_a5xx.c
index ef3d5d8fc552..f1fc3bdede00 100644
--- a/drivers/gpu/msm/adreno_a5xx.c
+++ b/drivers/gpu/msm/adreno_a5xx.c
@@ -2512,12 +2512,23 @@ static int a5xx_microcode_load(struct adreno_device *adreno_dev)
static int _me_init_ucode_workarounds(struct adreno_device *adreno_dev)
{
switch (ADRENO_GPUREV(adreno_dev)) {
- case ADRENO_REV_A505:
- case ADRENO_REV_A506:
case ADRENO_REV_A510:
return 0x00000001; /* Ucode workaround for token end syncs */
+ case ADRENO_REV_A505:
+ case ADRENO_REV_A506:
case ADRENO_REV_A530:
- return 0x00000003; /* Ucode default workarounds */
+ /*
+ * Ucode workarounds for token end syncs,
+ * WFI after every direct-render 3D mode draw and
+ * WFI after every 2D Mode 3 draw.
+ */
+ return 0x0000000B;
+ case ADRENO_REV_A540:
+ /*
+ * WFI after every direct-render 3D mode draw and
+ * WFI after every 2D Mode 3 draw.
+ */
+ return 0x0000000A;
default:
return 0x00000000; /* No ucode workarounds enabled */
}