aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/msm/adreno/adreno_device.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/drm/msm/adreno/adreno_device.c')
-rw-r--r--drivers/gpu/drm/msm/adreno/adreno_device.c18
1 files changed, 4 insertions, 14 deletions
diff --git a/drivers/gpu/drm/msm/adreno/adreno_device.c b/drivers/gpu/drm/msm/adreno/adreno_device.c
index 5fa51a9abc20..ece39b16a864 100644
--- a/drivers/gpu/drm/msm/adreno/adreno_device.c
+++ b/drivers/gpu/drm/msm/adreno/adreno_device.c
@@ -75,12 +75,14 @@ static const struct adreno_info gpulist[] = {
75 .gmem = (SZ_1M + SZ_512K), 75 .gmem = (SZ_1M + SZ_512K),
76 .init = a4xx_gpu_init, 76 .init = a4xx_gpu_init,
77 }, { 77 }, {
78 .rev = ADRENO_REV(5, 3, 0, ANY_ID), 78 .rev = ADRENO_REV(5, 3, 0, 2),
79 .revn = 530, 79 .revn = 530,
80 .name = "A530", 80 .name = "A530",
81 .pm4fw = "a530_pm4.fw", 81 .pm4fw = "a530_pm4.fw",
82 .pfpfw = "a530_pfp.fw", 82 .pfpfw = "a530_pfp.fw",
83 .gmem = SZ_1M, 83 .gmem = SZ_1M,
84 .quirks = ADRENO_QUIRK_TWO_PASS_USE_WFI |
85 ADRENO_QUIRK_FAULT_DETECT_MASK,
84 .init = a5xx_gpu_init, 86 .init = a5xx_gpu_init,
85 .gpmufw = "a530v3_gpmu.fw2", 87 .gpmufw = "a530v3_gpmu.fw2",
86 }, 88 },
@@ -181,14 +183,6 @@ static void set_gpu_pdev(struct drm_device *dev,
181 priv->gpu_pdev = pdev; 183 priv->gpu_pdev = pdev;
182} 184}
183 185
184static const struct {
185 const char *str;
186 uint32_t flag;
187} quirks[] = {
188 { "qcom,gpu-quirk-two-pass-use-wfi", ADRENO_QUIRK_TWO_PASS_USE_WFI },
189 { "qcom,gpu-quirk-fault-detect-mask", ADRENO_QUIRK_FAULT_DETECT_MASK },
190};
191
192static int find_chipid(struct device *dev, u32 *chipid) 186static int find_chipid(struct device *dev, u32 *chipid)
193{ 187{
194 struct device_node *node = dev->of_node; 188 struct device_node *node = dev->of_node;
@@ -231,7 +225,7 @@ static int adreno_bind(struct device *dev, struct device *master, void *data)
231 static struct adreno_platform_config config = {}; 225 static struct adreno_platform_config config = {};
232 struct device_node *child, *node = dev->of_node; 226 struct device_node *child, *node = dev->of_node;
233 u32 val; 227 u32 val;
234 int ret, i; 228 int ret;
235 229
236 ret = find_chipid(dev, &val); 230 ret = find_chipid(dev, &val);
237 if (ret) { 231 if (ret) {
@@ -267,10 +261,6 @@ static int adreno_bind(struct device *dev, struct device *master, void *data)
267 config.slow_rate = 27000000; 261 config.slow_rate = 27000000;
268 } 262 }
269 263
270 for (i = 0; i < ARRAY_SIZE(quirks); i++)
271 if (of_property_read_bool(node, quirks[i].str))
272 config.quirks |= quirks[i].flag;
273
274 dev->platform_data = &config; 264 dev->platform_data = &config;
275 set_gpu_pdev(dev_get_drvdata(master), to_platform_device(dev)); 265 set_gpu_pdev(dev_get_drvdata(master), to_platform_device(dev));
276 return 0; 266 return 0;