rockchip:midgard:1,keep gpu clock when runtime resume 2,version to 0x07
authorxxm <xxm@rock-chips.com>
Mon, 21 Jul 2014 06:47:44 +0000 (14:47 +0800)
committerxxm <xxm@rock-chips.com>
Mon, 21 Jul 2014 07:07:36 +0000 (15:07 +0800)
drivers/gpu/arm/midgard/mali_kbase_core_linux.c
drivers/gpu/arm/midgard/platform/rk/mali_kbase_config_rk.c
drivers/gpu/arm/midgard/platform/rk/mali_kbase_platform.c

index 064f762d261bc1b75ec9a5401acd81e7dcbc03e8..926c2fb96bc497bd1428e79f0fb2f4cef01462d7 100755 (executable)
@@ -86,7 +86,7 @@ EXPORT_SYMBOL(shared_kernel_test_data);
 #endif /* MALI_UNIT_TEST */
 
 #define KBASE_DRV_NAME "mali"
-#define ROCKCHIP_VERSION 6
+#define ROCKCHIP_VERSION 7
 static const char kbase_drv_name[] = KBASE_DRV_NAME;
 
 static int kbase_dev_nr;
index d845ba4090fe43ef6d521419bd23f6bb0ed0fdc8..f6766967e7791f80d40dc5b57af491c43c58712a 100755 (executable)
@@ -223,7 +223,7 @@ static int pm_callback_runtime_on(kbase_device *kbdev)
        if (platform->dvfs_enabled) {
                /*if (kbase_platform_dvfs_enable(true, MALI_DVFS_START_FREQ)!= MALI_TRUE)*/
                /*printk("%s\n",__func__);*/
-               if (kbase_platform_dvfs_enable(true, p_mali_dvfs_infotbl[MALI_DVFS_STEP-1].clock)!= MALI_TRUE)
+               if (kbase_platform_dvfs_enable(true, MALI_DVFS_CURRENT_FREQ)!= MALI_TRUE)
                        return -EPERM;
        } else {
                if (kbase_platform_dvfs_enable(false, MALI_DVFS_CURRENT_FREQ)!= MALI_TRUE)
index bf4a650c2c717cbd41481b8c42440d89bf5c23c9..0b1349876137f70dc527e1b55e7b23db5fb16bfc 100755 (executable)
@@ -573,18 +573,26 @@ static ssize_t set_dtlb(struct device *dev, struct device_attribute *attr, const
 static ssize_t show_dvfs(struct device *dev, struct device_attribute *attr, char *buf)
 {
        struct kbase_device *kbdev;
+       struct rk_context *platform;
        ssize_t ret = 0;
+       unsigned int clkrate;
 
        kbdev = dev_get_drvdata(dev);
 
        if (!kbdev)
                return -ENODEV;
+       
+       platform = (struct rk_context *)kbdev->platform_context;
+       if (!platform)
+               return -ENODEV;
+
+       clkrate = dvfs_clk_get_rate(platform->mali_clk_node);
 
 #ifdef CONFIG_MALI_MIDGARD_DVFS
        if (kbase_platform_dvfs_get_enable_status())
-               ret += snprintf(buf + ret, PAGE_SIZE - ret, "mali DVFS is on\nutilisation:%d", kbase_platform_dvfs_get_utilisation());
+               ret += snprintf(buf + ret, PAGE_SIZE - ret, "mali DVFS is on\nutilisation:%d\ncurrent clock:%dMhz", kbase_platform_dvfs_get_utilisation(),clkrate/1000000);
        else
-               ret += snprintf(buf + ret, PAGE_SIZE - ret, "mali  DVFS is off");
+               ret += snprintf(buf + ret, PAGE_SIZE - ret, "mali  DVFS is off,clock:%dMhz",clkrate/1000000);
 #else
        ret += snprintf(buf + ret, PAGE_SIZE - ret, "mali  DVFS is disabled");
 #endif