From b5321a15afce10a7ec0862da761a5627971531d7 Mon Sep 17 00:00:00 2001 From: Finley Xiao Date: Mon, 27 Mar 2017 20:13:24 +0800 Subject: [PATCH] PM / devfreq: rk3399_dmc: rename driver and internals to rockchip In future it will be modified to support more rockchip platforms. Change-Id: I5cd7ce555eefe08b12fbfcda8ef445c4b169e8c6 Signed-off-by: Finley Xiao --- .../{rk3399_dmc.txt => rockchip_dmc.txt} | 5 +- arch/arm64/configs/rockchip_defconfig | 2 +- drivers/devfreq/Kconfig | 6 +- drivers/devfreq/Makefile | 2 +- .../devfreq/{rk3399_dmc.c => rockchip_dmc.c} | 75 ++++++++++--------- 5 files changed, 46 insertions(+), 44 deletions(-) rename Documentation/devicetree/bindings/devfreq/{rk3399_dmc.txt => rockchip_dmc.txt} (94%) rename drivers/devfreq/{rk3399_dmc.c => rockchip_dmc.c} (85%) diff --git a/Documentation/devicetree/bindings/devfreq/rk3399_dmc.txt b/Documentation/devicetree/bindings/devfreq/rockchip_dmc.txt similarity index 94% rename from Documentation/devicetree/bindings/devfreq/rk3399_dmc.txt rename to Documentation/devicetree/bindings/devfreq/rockchip_dmc.txt index ab1aa8f06e67..8f3b4dd4941e 100644 --- a/Documentation/devicetree/bindings/devfreq/rk3399_dmc.txt +++ b/Documentation/devicetree/bindings/devfreq/rockchip_dmc.txt @@ -1,7 +1,8 @@ -* Rockchip rk3399 DMC(Dynamic Memory Controller) device +* Rockchip DMC(Dynamic Memory Controller) device Required properties: -- compatible: Must be "rockchip,rk3399-dmc". +- compatible: Should be one of the following. + - "rockchip,rk3399-dmc" - for RK3399 SoCs. - devfreq-events: Node to get DDR loading, Refer to Documentation/devicetree/bindings/devfreq/rockchip-dfi.txt - interrupts: The interrupt number to the CPU. The interrupt specifier format diff --git a/arch/arm64/configs/rockchip_defconfig b/arch/arm64/configs/rockchip_defconfig index 29ddb9e1eade..4b999d1abc85 100644 --- a/arch/arm64/configs/rockchip_defconfig +++ b/arch/arm64/configs/rockchip_defconfig @@ -667,7 +667,7 @@ CONFIG_PM_DEVFREQ=y CONFIG_DEVFREQ_GOV_PERFORMANCE=y CONFIG_DEVFREQ_GOV_POWERSAVE=y CONFIG_DEVFREQ_GOV_USERSPACE=y -CONFIG_ARM_RK3399_DMC_DEVFREQ=y +CONFIG_ARM_ROCKCHIP_DMC_DEVFREQ=y CONFIG_PM_DEVFREQ_EVENT=y CONFIG_IIO=y CONFIG_IIO_BUFFER=y diff --git a/drivers/devfreq/Kconfig b/drivers/devfreq/Kconfig index b16837e408dd..82e6f96e92f3 100644 --- a/drivers/devfreq/Kconfig +++ b/drivers/devfreq/Kconfig @@ -98,14 +98,14 @@ config ARM_TEGRA_DEVFREQ It reads ACTMON counters of memory controllers and adjusts the operating frequencies and voltages with OPP support. -config ARM_RK3399_DMC_DEVFREQ - tristate "ARM RK3399 DMC DEVFREQ Driver" +config ARM_ROCKCHIP_DMC_DEVFREQ + tristate "ARM ROCKCHIP DMC DEVFREQ Driver" depends on ARCH_ROCKCHIP select DEVFREQ_EVENT_ROCKCHIP_DFI select DEVFREQ_GOV_SIMPLE_ONDEMAND select PM_OPP help - This adds the DEVFREQ driver for the RK3399 DMC(Dynamic Memory Controller). + This adds the DEVFREQ driver for the ROCKCHIP DMC(Dynamic Memory Controller). It sets the frequency for the memory controller and reads the usage counts from hardware. diff --git a/drivers/devfreq/Makefile b/drivers/devfreq/Makefile index 805346ffa831..c3f4da8aa6af 100644 --- a/drivers/devfreq/Makefile +++ b/drivers/devfreq/Makefile @@ -8,7 +8,7 @@ obj-$(CONFIG_DEVFREQ_GOV_USERSPACE) += governor_userspace.o # DEVFREQ Drivers obj-$(CONFIG_ARM_EXYNOS4_BUS_DEVFREQ) += exynos/ obj-$(CONFIG_ARM_EXYNOS5_BUS_DEVFREQ) += exynos/ -obj-$(CONFIG_ARM_RK3399_DMC_DEVFREQ) += rk3399_dmc.o +obj-$(CONFIG_ARM_ROCKCHIP_DMC_DEVFREQ) += rockchip_dmc.o obj-$(CONFIG_ARM_TEGRA_DEVFREQ) += tegra-devfreq.o # DEVFREQ Event Drivers diff --git a/drivers/devfreq/rk3399_dmc.c b/drivers/devfreq/rockchip_dmc.c similarity index 85% rename from drivers/devfreq/rk3399_dmc.c rename to drivers/devfreq/rockchip_dmc.c index 2675fc99d4f6..260abcd7df6b 100644 --- a/drivers/devfreq/rk3399_dmc.c +++ b/drivers/devfreq/rockchip_dmc.c @@ -61,23 +61,23 @@ struct dram_timing { unsigned int phy_lpddr4_odt; }; -struct rk3399_dmcfreq { +struct rockchip_dmcfreq { struct device *dev; struct devfreq *devfreq; struct devfreq_simple_ondemand_data ondemand_data; struct clk *dmc_clk; struct devfreq_event_dev *edev; - struct mutex lock; + struct mutex lock; /* scaling frequency lock */ struct dram_timing *timing; struct regulator *vdd_center; unsigned long rate, target_rate; unsigned long volt, target_volt; }; -static int rk3399_dmcfreq_target(struct device *dev, unsigned long *freq, - u32 flags) +static int rockchip_dmcfreq_target(struct device *dev, unsigned long *freq, + u32 flags) { - struct rk3399_dmcfreq *dmcfreq = dev_get_drvdata(dev); + struct rockchip_dmcfreq *dmcfreq = dev_get_drvdata(dev); struct dev_pm_opp *opp; unsigned long old_clk_rate = dmcfreq->rate; unsigned long temp_rate, target_volt, target_rate; @@ -165,10 +165,10 @@ out: return err; } -static int rk3399_dmcfreq_get_dev_status(struct device *dev, - struct devfreq_dev_status *stat) +static int rockchip_dmcfreq_get_dev_status(struct device *dev, + struct devfreq_dev_status *stat) { - struct rk3399_dmcfreq *dmcfreq = dev_get_drvdata(dev); + struct rockchip_dmcfreq *dmcfreq = dev_get_drvdata(dev); struct devfreq_event_data edata; int ret = 0; @@ -183,25 +183,26 @@ static int rk3399_dmcfreq_get_dev_status(struct device *dev, return ret; } -static int rk3399_dmcfreq_get_cur_freq(struct device *dev, unsigned long *freq) +static int rockchip_dmcfreq_get_cur_freq(struct device *dev, + unsigned long *freq) { - struct rk3399_dmcfreq *dmcfreq = dev_get_drvdata(dev); + struct rockchip_dmcfreq *dmcfreq = dev_get_drvdata(dev); *freq = dmcfreq->rate; return 0; } -static struct devfreq_dev_profile rk3399_devfreq_dmc_profile = { +static struct devfreq_dev_profile rockchip_devfreq_dmc_profile = { .polling_ms = 200, - .target = rk3399_dmcfreq_target, - .get_dev_status = rk3399_dmcfreq_get_dev_status, - .get_cur_freq = rk3399_dmcfreq_get_cur_freq, + .target = rockchip_dmcfreq_target, + .get_dev_status = rockchip_dmcfreq_get_dev_status, + .get_cur_freq = rockchip_dmcfreq_get_cur_freq, }; -static __maybe_unused int rk3399_dmcfreq_suspend(struct device *dev) +static __maybe_unused int rockchip_dmcfreq_suspend(struct device *dev) { - struct rk3399_dmcfreq *dmcfreq = dev_get_drvdata(dev); + struct rockchip_dmcfreq *dmcfreq = dev_get_drvdata(dev); int ret = 0; ret = devfreq_event_disable_edev(dmcfreq->edev); @@ -219,9 +220,9 @@ static __maybe_unused int rk3399_dmcfreq_suspend(struct device *dev) return 0; } -static __maybe_unused int rk3399_dmcfreq_resume(struct device *dev) +static __maybe_unused int rockchip_dmcfreq_resume(struct device *dev) { - struct rk3399_dmcfreq *dmcfreq = dev_get_drvdata(dev); + struct rockchip_dmcfreq *dmcfreq = dev_get_drvdata(dev); int ret = 0; ret = devfreq_event_enable_edev(dmcfreq->edev); @@ -238,8 +239,8 @@ static __maybe_unused int rk3399_dmcfreq_resume(struct device *dev) return ret; } -static SIMPLE_DEV_PM_OPS(rk3399_dmcfreq_pm, rk3399_dmcfreq_suspend, - rk3399_dmcfreq_resume); +static SIMPLE_DEV_PM_OPS(rockchip_dmcfreq_pm, rockchip_dmcfreq_suspend, + rockchip_dmcfreq_resume); static struct dram_timing *of_get_ddr_timings(struct device *dev, struct device_node *np) @@ -327,8 +328,8 @@ err: return timing; } -static int rk3399_dmcfreq_init_freq_table(struct device *dev, - struct devfreq_dev_profile *devp) +static int rockchip_dmcfreq_init_freq_table(struct device *dev, + struct devfreq_dev_profile *devp) { int count; int i = 0; @@ -366,17 +367,17 @@ static int rk3399_dmcfreq_init_freq_table(struct device *dev, return 0; } -static int rk3399_dmcfreq_probe(struct platform_device *pdev) +static int rockchip_dmcfreq_probe(struct platform_device *pdev) { struct arm_smccc_res res; struct device *dev = &pdev->dev; struct device_node *np = pdev->dev.of_node; - struct rk3399_dmcfreq *data; + struct rockchip_dmcfreq *data; int ret, index, size; - uint32_t *timing; - struct devfreq_dev_profile *devp = &rk3399_devfreq_dmc_profile; + u32 *timing; + struct devfreq_dev_profile *devp = &rockchip_devfreq_dmc_profile; - data = devm_kzalloc(dev, sizeof(struct rk3399_dmcfreq), GFP_KERNEL); + data = devm_kzalloc(dev, sizeof(struct rockchip_dmcfreq), GFP_KERNEL); if (!data) return -ENOMEM; @@ -438,7 +439,7 @@ static int rk3399_dmcfreq_probe(struct platform_device *pdev) return -EINVAL; } - if (rk3399_dmcfreq_init_freq_table(dev, devp)) + if (rockchip_dmcfreq_init_freq_table(dev, devp)) return -EFAULT; of_property_read_u32(np, "upthreshold", @@ -470,22 +471,22 @@ static int rk3399_dmcfreq_probe(struct platform_device *pdev) return 0; } -static const struct of_device_id rk3399dmc_devfreq_of_match[] = { +static const struct of_device_id rockchip_dmcfreq_of_match[] = { { .compatible = "rockchip,rk3399-dmc" }, { }, }; -MODULE_DEVICE_TABLE(of, rk3399dmc_devfreq_of_match); +MODULE_DEVICE_TABLE(of, rockchip_dmcfreq_of_match); -static struct platform_driver rk3399_dmcfreq_driver = { - .probe = rk3399_dmcfreq_probe, +static struct platform_driver rockchip_dmcfreq_driver = { + .probe = rockchip_dmcfreq_probe, .driver = { - .name = "rk3399-dmc-freq", - .pm = &rk3399_dmcfreq_pm, - .of_match_table = rk3399dmc_devfreq_of_match, + .name = "rockchip-dmc", + .pm = &rockchip_dmcfreq_pm, + .of_match_table = rockchip_dmcfreq_of_match, }, }; -module_platform_driver(rk3399_dmcfreq_driver); +module_platform_driver(rockchip_dmcfreq_driver); MODULE_LICENSE("GPL v2"); MODULE_AUTHOR("Lin Huang "); -MODULE_DESCRIPTION("RK3399 dmcfreq driver with devfreq framework"); +MODULE_DESCRIPTION("rockchip dmcfreq driver with devfreq framework"); -- 2.34.1