MALI: rockchip: upgrade midgard DDK to r14p0-01rel0
[firefly-linux-kernel-4.4.55.git] / drivers / gpu / arm / midgard / backend / gpu / mali_kbase_devfreq.c
index 86227d9962570bfaf25e292293b99dbb86f0a118..2306c757735ce6a4ffc1987eedaeabed1f3860ae 100644 (file)
@@ -1,6 +1,6 @@
 /*
  *
- * (C) COPYRIGHT 2014-2015 ARM Limited. All rights reserved.
+ * (C) COPYRIGHT 2014-2016 ARM Limited. All rights reserved.
  *
  * This program is free software and is provided to you under the terms of the
  * GNU General Public License version 2 as published by the Free Software
@@ -19,6 +19,7 @@
 
 
 #include <mali_kbase.h>
+#include <mali_kbase_tlstream.h>
 #include <mali_kbase_config_defaults.h>
 #include <backend/gpu/mali_kbase_pm_internal.h>
 #ifdef CONFIG_DEVFREQ_THERMAL
@@ -108,6 +109,8 @@ kbase_devfreq_target(struct device *dev, unsigned long *target_freq, u32 flags)
        kbdev->current_voltage = voltage;
        kbdev->current_freq = freq;
 
+       kbase_tlstream_aux_devfreq_target((u64)freq);
+
        kbase_pm_reset_dvfs_utilisation(kbdev);
 
        return err;
@@ -135,6 +138,14 @@ kbase_devfreq_status(struct device *dev, struct devfreq_dev_status *stat)
 
        stat->private_data = NULL;
 
+#ifdef CONFIG_DEVFREQ_THERMAL
+#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 3, 0)
+       if (kbdev->devfreq_cooling)
+               memcpy(&kbdev->devfreq_cooling->last_status, stat,
+                               sizeof(*stat));
+#endif
+#endif
+
        return 0;
 }
 
@@ -205,7 +216,8 @@ int kbase_devfreq_init(struct kbase_device *kbdev)
        dp = &kbdev->devfreq_profile;
 
        dp->initial_freq = kbdev->current_freq;
-       dp->polling_ms = 100;
+       /* .KP : set devfreq_dvfs_interval_in_ms */
+       dp->polling_ms = 20;
        dp->target = kbase_devfreq_target;
        dp->get_dev_status = kbase_devfreq_status;
        dp->get_cur_freq = kbase_devfreq_cur_freq;