summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorHareesh Gundu <hareeshg@codeaurora.org>2016-01-22 16:09:18 +0530
committerDavid Keitel <dkeitel@codeaurora.org>2016-03-23 21:18:36 -0700
commit3662821930971203de23edb2e123eb58dbd665df (patch)
treec26c8eefb550ced9010b6a58edd25eb098360e92 /drivers
parentd355d220ef81fb0fa365a918b99f009317a7e2a7 (diff)
msm: kgsl: Don't overwrite the VBIF XIN offset for A3xx
Currently VBIF XIN register offset is been overwritten by the AXI offset. This will cause VBIF XIN halt time out in VBIF clear transaction path. Fix this by using the proper VBIF XIN offset for A3xx targets. Change-Id: Iac20528cb105904e46e012d67287dd736fa11f70 Signed-off-by: Hareesh Gundu <hareeshg@codeaurora.org>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/gpu/msm/a3xx_reg.h8
-rw-r--r--drivers/gpu/msm/adreno_a3xx.c13
2 files changed, 6 insertions, 15 deletions
diff --git a/drivers/gpu/msm/a3xx_reg.h b/drivers/gpu/msm/a3xx_reg.h
index 13d55bd4ae3b..d8f94757ba28 100644
--- a/drivers/gpu/msm/a3xx_reg.h
+++ b/drivers/gpu/msm/a3xx_reg.h
@@ -1,4 +1,4 @@
-/* Copyright (c) 2012-2015, The Linux Foundation. All rights reserved.
+/* Copyright (c) 2012-2016, The Linux Foundation. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 and
@@ -548,15 +548,11 @@
#define A3XX_VBIF_XIN_HALT_CTRL0 0x3080
#define A3XX_VBIF_XIN_HALT_CTRL0_MASK 0x3F
+#define A30X_VBIF_XIN_HALT_CTRL0_MASK 0x7
#define A3XX_VBIF_XIN_HALT_CTRL1 0x3081
/* VBIF register offsets for A306 */
-#define A3XX_VBIF2_XIN_HALT_CTRL0 0x3081
-#define A3XX_VBIF2_XIN_HALT_CTRL0_MASK 0x7
-
-#define A3XX_VBIF2_XIN_HALT_CTRL1 0x3082
-
#define A3XX_VBIF2_PERF_CNT_EN0 0x30c0
#define A3XX_VBIF2_PERF_CNT_EN1 0x30c1
#define A3XX_VBIF2_PERF_CNT_EN2 0x30c2
diff --git a/drivers/gpu/msm/adreno_a3xx.c b/drivers/gpu/msm/adreno_a3xx.c
index 18b68ac7c633..6b5e88492900 100644
--- a/drivers/gpu/msm/adreno_a3xx.c
+++ b/drivers/gpu/msm/adreno_a3xx.c
@@ -1,4 +1,4 @@
-/* Copyright (c) 2012-2015, The Linux Foundation. All rights reserved.
+/* Copyright (c) 2012-2016, The Linux Foundation. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 and
@@ -596,17 +596,12 @@ int adreno_a3xx_pwron_fixup_init(struct adreno_device *adreno_dev)
static void a3xx_platform_setup(struct adreno_device *adreno_dev)
{
struct adreno_gpudev *gpudev;
- const struct adreno_reg_offsets *reg_offsets;
- if (adreno_is_a306(adreno_dev) || adreno_is_a306a(adreno_dev)) {
+ if (adreno_is_a306(adreno_dev) || adreno_is_a306a(adreno_dev)
+ || adreno_is_a304(adreno_dev)) {
gpudev = ADRENO_GPU_DEVICE(adreno_dev);
- reg_offsets = gpudev->reg_offsets;
- reg_offsets->offsets[ADRENO_REG_VBIF_XIN_HALT_CTRL0] =
- A3XX_VBIF2_XIN_HALT_CTRL0;
- reg_offsets->offsets[ADRENO_REG_VBIF_XIN_HALT_CTRL1] =
- A3XX_VBIF2_XIN_HALT_CTRL1;
gpudev->vbif_xin_halt_ctrl0_mask =
- A3XX_VBIF2_XIN_HALT_CTRL0_MASK;
+ A30X_VBIF_XIN_HALT_CTRL0_MASK;
}
}