From: xxm Date: Mon, 21 Jul 2014 06:47:44 +0000 (+0800) Subject: rockchip:midgard:1,keep gpu clock when runtime resume 2,version to 0x07 X-Git-Tag: firefly_0821_release~4961 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=bac65c4e712af692a09878ce090a6f03a15372c3;p=firefly-linux-kernel-4.4.55.git rockchip:midgard:1,keep gpu clock when runtime resume 2,version to 0x07 --- diff --git a/drivers/gpu/arm/midgard/mali_kbase_core_linux.c b/drivers/gpu/arm/midgard/mali_kbase_core_linux.c index 064f762d261b..926c2fb96bc4 100755 --- a/drivers/gpu/arm/midgard/mali_kbase_core_linux.c +++ b/drivers/gpu/arm/midgard/mali_kbase_core_linux.c @@ -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; diff --git a/drivers/gpu/arm/midgard/platform/rk/mali_kbase_config_rk.c b/drivers/gpu/arm/midgard/platform/rk/mali_kbase_config_rk.c index d845ba4090fe..f6766967e779 100755 --- a/drivers/gpu/arm/midgard/platform/rk/mali_kbase_config_rk.c +++ b/drivers/gpu/arm/midgard/platform/rk/mali_kbase_config_rk.c @@ -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) diff --git a/drivers/gpu/arm/midgard/platform/rk/mali_kbase_platform.c b/drivers/gpu/arm/midgard/platform/rk/mali_kbase_platform.c index bf4a650c2c71..0b1349876137 100755 --- a/drivers/gpu/arm/midgard/platform/rk/mali_kbase_platform.c +++ b/drivers/gpu/arm/midgard/platform/rk/mali_kbase_platform.c @@ -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