adreno: hardcode for a660 & a642L
Signed-off-by: Juhyung Park <qkrwngud825@gmail.com>
Signed-off-by: rk134 <me@rk134.cf>
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
diff --git a/drivers/gpu/msm/Makefile b/drivers/gpu/msm/Makefile
index d989de9..0c5d2cd 100644
--- a/drivers/gpu/msm/Makefile
+++ b/drivers/gpu/msm/Makefile
@@ -27,13 +27,6 @@
msm_kgsl-y += \
adreno.o \
- adreno_a3xx.o \
- adreno_a3xx_perfcounter.o \
- adreno_a3xx_snapshot.o \
- adreno_a5xx.o \
- adreno_a5xx_perfcounter.o \
- adreno_a5xx_preempt.o \
- adreno_a5xx_snapshot.o \
adreno_a6xx.o \
adreno_a6xx_gmu.o \
adreno_a6xx_gmu_snapshot.o \
diff --git a/drivers/gpu/msm/adreno-gpulist.h b/drivers/gpu/msm/adreno-gpulist.h
index 590326f..c0cf3a5 100644
--- a/drivers/gpu/msm/adreno-gpulist.h
+++ b/drivers/gpu/msm/adreno-gpulist.h
@@ -15,6 +15,7 @@ static const struct adreno_gpu_core adreno_gpu_core_##_name = { \
.features = ADRENO_DEPRECATED, \
}
+#if 0
static const struct adreno_reglist a306_vbif_regs[] = {
{ A3XX_VBIF_ROUND_ROBIN_QOS_ARB, 0x0003 },
{ A3XX_VBIF_OUT_RD_LIM_CONF0, 0x0000000A },
@@ -1032,6 +1033,8 @@ static const struct adreno_reglist a620_hwcg_regs[] = {
{A6XX_RBBM_CLOCK_HYST_GMU_GX, 0x00000555},
};
+#endif
+
/* a620 and a650 */
static const struct adreno_reglist a650_gbif_regs[] = {
{A6XX_GBIF_QSB_SIDE0, 0x00071620},
@@ -1041,6 +1044,8 @@ static const struct adreno_reglist a650_gbif_regs[] = {
{A6XX_RBBM_GBIF_CLIENT_QOS_CNTL, 0x3},
};
+#if 0
+
/* These are for a620 and a650 */
static const struct a6xx_protected_regs a620_protected_regs[] = {
{ A6XX_CP_PROTECT_REG + 0, 0x00000, 0x004ff, 0 },
@@ -1520,6 +1525,8 @@ static const struct adreno_a6xx_core adreno_gpu_core_a610 = {
.highest_bank_bit = 14,
};
+#endif
+
static const struct adreno_reglist a660_hwcg_regs[] = {
{A6XX_RBBM_CLOCK_CNTL_SP0, 0x02222222},
{A6XX_RBBM_CLOCK_CNTL2_SP0, 0x02222220},
@@ -1780,6 +1787,7 @@ static const struct adreno_a6xx_core adreno_gpu_core_a643 = {
.pdc_in_aop = true,
.ctxt_record_size = 2496 * 1024,
};
+#if 0
static const struct adreno_reglist a702_hwcg_regs[] = {
{A6XX_RBBM_CLOCK_CNTL_SP0, 0x22222222},
@@ -1862,42 +1870,11 @@ static const struct adreno_a6xx_core adreno_gpu_core_a702 = {
.highest_bank_bit = 14,
};
+#endif
+
static const struct adreno_gpu_core *adreno_gpulist[] = {
- &adreno_gpu_core_a306.base,
- &adreno_gpu_core_a306a.base,
- &adreno_gpu_core_a304.base,
- &adreno_gpu_core_a405, /* Deprecated */
- &adreno_gpu_core_a418, /* Deprecated */
- &adreno_gpu_core_a420, /* Deprecated */
- &adreno_gpu_core_a430, /* Deprecated */
- &adreno_gpu_core_a530v1, /* Deprecated */
- &adreno_gpu_core_a530v2.base,
- &adreno_gpu_core_a530v3.base,
- &adreno_gpu_core_a505.base,
- &adreno_gpu_core_a506.base,
- &adreno_gpu_core_a510.base,
- &adreno_gpu_core_a540v1, /* Deprecated */
- &adreno_gpu_core_a540v2.base,
- &adreno_gpu_core_a512.base,
- &adreno_gpu_core_a508.base,
- &adreno_gpu_core_a630v1, /* Deprecated */
- &adreno_gpu_core_a630v2.base,
- &adreno_gpu_core_a615.base,
- &adreno_gpu_core_a618.base,
- &adreno_gpu_core_a619.base,
- &adreno_gpu_core_a619_variant.base,
- &adreno_gpu_core_a620.base,
- &adreno_gpu_core_a640.base,
- &adreno_gpu_core_a650.base,
- &adreno_gpu_core_a650v2.base,
&adreno_gpu_core_a660.base,
&adreno_gpu_core_a660v2.base,
- &adreno_gpu_core_a680.base,
- &adreno_gpu_core_a612.base,
- &adreno_gpu_core_a616.base,
- &adreno_gpu_core_a610.base,
&adreno_gpu_core_a642.base,
&adreno_gpu_core_a642l.base,
- &adreno_gpu_core_a643.base,
- &adreno_gpu_core_a702.base,
};
diff --git a/drivers/gpu/msm/adreno.h b/drivers/gpu/msm/adreno.h
index ec29d1d..6cecc7a 100644
--- a/drivers/gpu/msm/adreno.h
+++ b/drivers/gpu/msm/adreno.h
@@ -894,13 +894,9 @@ extern unsigned int *adreno_ft_regs;
extern unsigned int adreno_ft_regs_num;
extern unsigned int *adreno_ft_regs_val;
-extern const struct adreno_gpudev adreno_a3xx_gpudev;
-extern const struct adreno_gpudev adreno_a5xx_gpudev;
extern const struct adreno_gpudev adreno_a6xx_gpudev;
extern const struct adreno_gpudev adreno_a6xx_gmu_gpudev;
extern const struct adreno_gpudev adreno_a6xx_rgmu_gpudev;
-extern const struct adreno_gpudev adreno_a619_holi_gpudev;
-extern const struct adreno_gpudev adreno_a630_gpudev;
extern const struct adreno_gpudev adreno_a6xx_hwsched_gpudev;
extern int adreno_wake_nice;
@@ -1011,152 +1007,43 @@ int adreno_active_count_get(struct adreno_device *adreno_dev);
*/
void adreno_active_count_put(struct adreno_device *adreno_dev);
-#define ADRENO_TARGET(_name, _id) \
-static inline int adreno_is_##_name(struct adreno_device *adreno_dev) \
-{ \
- return (ADRENO_GPUREV(adreno_dev) == (_id)); \
-}
+#define adreno_is_a3xx(x) false
+#define adreno_is_a304(x) false
+#define adreno_is_a306(x) false
+#define adreno_is_a306a(x) false
+#define adreno_is_a5xx(x) false
+#define adreno_is_a505(x) false
+#define adreno_is_a506(x) false
+#define adreno_is_a508(x) false
+#define adreno_is_a510(x) false
+#define adreno_is_a512(x) false
+#define adreno_is_a530(x) false
+#define adreno_is_a530v2(x) false
+#define adreno_is_a530v3(x) false
+#define adreno_is_a540(x) false
+#define adreno_is_a505_or_a506(x) false
+#define adreno_is_a610(x) false
+#define adreno_is_a612(x) false
+#define adreno_is_a618(x) false
+#define adreno_is_a619(x) false
+#define adreno_is_a620(x) false
+#define adreno_is_a630(x) false
+#define adreno_is_a640(x) false
+#define adreno_is_a650(x) false
+#define adreno_is_a680(x) false
+#define adreno_is_a702(x) false
+#define adreno_is_a642(x) false
+#define adreno_is_a643(x) false
+#define adreno_is_a615_family(x) false
+#define adreno_is_a640_family(x) false
+#define adreno_is_a619_holi(x) false
+#define adreno_is_a620v1(x) false
+#define adreno_is_a640v2(x) false
-static inline int adreno_is_a3xx(struct adreno_device *adreno_dev)
-{
- return ((ADRENO_GPUREV(adreno_dev) >= 300) &&
- (ADRENO_GPUREV(adreno_dev) < 400));
-}
-
-ADRENO_TARGET(a304, ADRENO_REV_A304)
-ADRENO_TARGET(a306, ADRENO_REV_A306)
-ADRENO_TARGET(a306a, ADRENO_REV_A306A)
-
-static inline int adreno_is_a5xx(struct adreno_device *adreno_dev)
-{
- return ADRENO_GPUREV(adreno_dev) >= 500 &&
- ADRENO_GPUREV(adreno_dev) < 600;
-}
-
-ADRENO_TARGET(a505, ADRENO_REV_A505)
-ADRENO_TARGET(a506, ADRENO_REV_A506)
-ADRENO_TARGET(a508, ADRENO_REV_A508)
-ADRENO_TARGET(a510, ADRENO_REV_A510)
-ADRENO_TARGET(a512, ADRENO_REV_A512)
-ADRENO_TARGET(a530, ADRENO_REV_A530)
-ADRENO_TARGET(a540, ADRENO_REV_A540)
-
-static inline int adreno_is_a530v2(struct adreno_device *adreno_dev)
-{
- return (ADRENO_GPUREV(adreno_dev) == ADRENO_REV_A530) &&
- (ADRENO_CHIPID_PATCH(adreno_dev->chipid) == 1);
-}
-
-static inline int adreno_is_a530v3(struct adreno_device *adreno_dev)
-{
- return (ADRENO_GPUREV(adreno_dev) == ADRENO_REV_A530) &&
- (ADRENO_CHIPID_PATCH(adreno_dev->chipid) == 2);
-}
-
-static inline int adreno_is_a505_or_a506(struct adreno_device *adreno_dev)
-{
- return ADRENO_GPUREV(adreno_dev) >= 505 &&
- ADRENO_GPUREV(adreno_dev) <= 506;
-}
-
-static inline int adreno_is_a6xx(struct adreno_device *adreno_dev)
-{
- return ADRENO_GPUREV(adreno_dev) >= 600 &&
- ADRENO_GPUREV(adreno_dev) <= 702;
-}
-
-static inline int adreno_is_a642(struct adreno_device *adreno_dev)
-{
- return (adreno_dev->gpucore->compatible &&
- !strcmp(adreno_dev->gpucore->compatible,
- "qcom,adreno-gpu-a642"));
-}
-
-static inline int adreno_is_a642l(struct adreno_device *adreno_dev)
-{
- return (adreno_dev->gpucore->compatible &&
- !strcmp(adreno_dev->gpucore->compatible,
- "qcom,adreno-gpu-a642l"));
-}
-
-ADRENO_TARGET(a610, ADRENO_REV_A610)
-ADRENO_TARGET(a612, ADRENO_REV_A612)
-ADRENO_TARGET(a618, ADRENO_REV_A618)
-ADRENO_TARGET(a619, ADRENO_REV_A619)
-ADRENO_TARGET(a620, ADRENO_REV_A620)
-ADRENO_TARGET(a630, ADRENO_REV_A630)
-ADRENO_TARGET(a640, ADRENO_REV_A640)
-ADRENO_TARGET(a643, ADRENO_REV_A643)
-ADRENO_TARGET(a650, ADRENO_REV_A650)
-ADRENO_TARGET(a680, ADRENO_REV_A680)
-ADRENO_TARGET(a702, ADRENO_REV_A702)
-
-/* A642, A642L and A643 are derived from A660 and shares same logic */
-static inline int adreno_is_a660(struct adreno_device *adreno_dev)
-{
- unsigned int rev = ADRENO_GPUREV(adreno_dev);
-
- return (rev == ADRENO_REV_A660 || adreno_is_a642(adreno_dev) ||
- adreno_is_a642l(adreno_dev) || adreno_is_a643(adreno_dev));
-}
-
-/*
- * All the derived chipsets from A615 needs to be added to this
- * list such as A616, A618, A619 etc.
- */
-static inline int adreno_is_a615_family(struct adreno_device *adreno_dev)
-{
- unsigned int rev = ADRENO_GPUREV(adreno_dev);
-
- return (rev == ADRENO_REV_A615 || rev == ADRENO_REV_A616 ||
- rev == ADRENO_REV_A618 || rev == ADRENO_REV_A619);
-}
-
-/*
- * Derived GPUs from A640 needs to be added to this list.
- * A640 and A680 belongs to this family.
- */
-static inline int adreno_is_a640_family(struct adreno_device *adreno_dev)
-{
- unsigned int rev = ADRENO_GPUREV(adreno_dev);
-
- return (rev == ADRENO_REV_A640 || rev == ADRENO_REV_A680);
-}
-
-/*
- * Derived GPUs from A650 needs to be added to this list.
- * A650 is derived from A640 but register specs has been
- * changed hence do not belongs to A640 family. A620, A642,
- * A642L, A660, A690 follows the register specs of A650.
- *
- */
-static inline int adreno_is_a650_family(struct adreno_device *adreno_dev)
-{
- unsigned int rev = ADRENO_GPUREV(adreno_dev);
-
- return (rev == ADRENO_REV_A650 || rev == ADRENO_REV_A620 ||
- rev == ADRENO_REV_A660 || adreno_is_a642(adreno_dev) ||
- adreno_is_a642l(adreno_dev) || rev == ADRENO_REV_A643);
-}
-
-static inline int adreno_is_a619_holi(struct adreno_device *adreno_dev)
-{
- return of_device_is_compatible(adreno_dev->dev.pdev->dev.of_node,
- "qcom,adreno-gpu-a619-holi");
-}
-
-static inline int adreno_is_a620v1(struct adreno_device *adreno_dev)
-{
- return (ADRENO_GPUREV(adreno_dev) == ADRENO_REV_A620) &&
- (ADRENO_CHIPID_PATCH(adreno_dev->chipid) == 0);
-}
-
-static inline int adreno_is_a640v2(struct adreno_device *adreno_dev)
-{
- return (ADRENO_GPUREV(adreno_dev) == ADRENO_REV_A640) &&
- (ADRENO_CHIPID_PATCH(adreno_dev->chipid) == 1);
-}
-
+#define adreno_is_a6xx(x) true
+#define adreno_is_a650_family(x) true
+#define adreno_is_a642l(x) true
+#define adreno_is_a660(x) true
/*
* adreno_checkreg_off() - Checks the validity of a register enum
* @adreno_dev: Pointer to adreno device