|
@@ -414,6 +414,9 @@ struct msm_gpu *a3xx_gpu_init(struct drm_device *dev)
|
|
|
gpu->fast_rate = config->fast_rate;
|
|
|
gpu->slow_rate = config->slow_rate;
|
|
|
gpu->bus_freq = config->bus_freq;
|
|
|
+#ifdef CONFIG_MSM_BUS_SCALING
|
|
|
+ gpu->bus_scale_table = config->bus_scale_table;
|
|
|
+#endif
|
|
|
|
|
|
DBG("fast_rate=%u, slow_rate=%u, bus_freq=%u",
|
|
|
gpu->fast_rate, gpu->slow_rate, gpu->bus_freq);
|
|
@@ -436,12 +439,17 @@ fail:
|
|
|
* The a3xx device:
|
|
|
*/
|
|
|
|
|
|
+#if defined(CONFIG_MSM_BUS_SCALING) && !defined(CONFIG_OF)
|
|
|
+# include <mach/kgsl.h>
|
|
|
+#endif
|
|
|
+
|
|
|
static int a3xx_probe(struct platform_device *pdev)
|
|
|
{
|
|
|
static struct adreno_platform_config config = {};
|
|
|
#ifdef CONFIG_OF
|
|
|
/* TODO */
|
|
|
#else
|
|
|
+ struct kgsl_device_platform_data *pdata = pdev->dev.platform_data;
|
|
|
uint32_t version = socinfo_get_version();
|
|
|
if (cpu_is_apq8064ab()) {
|
|
|
config.fast_rate = 450000000;
|
|
@@ -473,6 +481,9 @@ static int a3xx_probe(struct platform_device *pdev)
|
|
|
config.rev = ADRENO_REV(3, 0, 5, 0);
|
|
|
|
|
|
}
|
|
|
+# ifdef CONFIG_MSM_BUS_SCALING
|
|
|
+ config.bus_scale_table = pdata->bus_scale_table;
|
|
|
+# endif
|
|
|
#endif
|
|
|
pdev->dev.platform_data = &config;
|
|
|
a3xx_pdev = pdev;
|