From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752055AbcGXHyX (ORCPT ); Sun, 24 Jul 2016 03:54:23 -0400 Received: from lucky1.263xmail.com ([211.157.147.133]:33236 "EHLO lucky1.263xmail.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751543AbcGXHyV (ORCPT ); Sun, 24 Jul 2016 03:54:21 -0400 X-263anti-spam: KSV:0; X-MAIL-GRAY: 1 X-MAIL-DELIVERY: 0 X-KSVirus-check: 0 X-ABS-CHECKED: 4 X-ADDR-CHECKED: 0 X-RL-SENDER: hl@rock-chips.com X-FST-TO: mark.yao@rock-chips.com X-SENDER-IP: 103.29.142.67 X-LOGIN-NAME: hl@rock-chips.com X-UNIQUE-TAG: X-ATTACHMENT-NUM: 0 X-DNS-TYPE: 0 Subject: Re: [PATCH v3 6/7] PM / devfreq: rockchip: add devfreq driver for rk3399 dmc To: Paul Gortmaker References: <1469178440-4668-1-git-send-email-hl@rock-chips.com> <1469178440-4668-7-git-send-email-hl@rock-chips.com> Cc: tixy@linaro.org, typ@rock-chips.com, heiko@sntech.de, linux-rockchip@lists.infradead.org, airlied@linux.ie, mturquette@baylibre.com, dbasehore@chromium.org, sboyd@codeaurora.org, LKML , dri-devel@lists.freedesktop.org, dianders@chromium.org, xsf@rock-chips.com, Chanwoo Choi , Kyungmin Park , myungjoo.ham@samsung.com, "linux-arm-kernel@lists.infradead.org" , mark.yao@rock-chips.com From: hl Message-ID: <57947421.7050006@rock-chips.com> Date: Sun, 24 Jul 2016 15:54:09 +0800 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.4.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Paul, On 2016年07月23日 04:24, Paul Gortmaker wrote: > On Fri, Jul 22, 2016 at 5:07 AM, Lin Huang wrote: >> base on dfi result, we do ddr frequency scaling, register >> dmc driver to devfreq framework, and use simple-ondemand >> policy. >> >> Signed-off-by: Lin Huang >> --- >> Changes in v3: >> - operate dram setting through sip call >> - imporve set rate flow >> >> Changes in v2: >> - None >> >> Changes in v1: >> - move dfi controller to event >> - fix set voltage sequence when set rate fail >> - change Kconfig type from tristate to bool >> - move unuse EXPORT_SYMBOL_GPL() >> >> drivers/devfreq/Kconfig | 1 + >> drivers/devfreq/Makefile | 1 + >> drivers/devfreq/rockchip/Kconfig | 15 + >> drivers/devfreq/rockchip/Makefile | 2 + >> drivers/devfreq/rockchip/rk3399_dmc.c | 482 ++++++++++++++++++++++++++++++++ >> drivers/devfreq/rockchip/rockchip_dmc.c | 143 ++++++++++ >> include/soc/rockchip/rockchip_dmc.h | 45 +++ >> 7 files changed, 689 insertions(+) >> create mode 100644 drivers/devfreq/rockchip/Kconfig >> create mode 100644 drivers/devfreq/rockchip/Makefile >> create mode 100644 drivers/devfreq/rockchip/rk3399_dmc.c >> create mode 100644 drivers/devfreq/rockchip/rockchip_dmc.c >> create mode 100644 include/soc/rockchip/rockchip_dmc.h >> >> diff --git a/drivers/devfreq/Kconfig b/drivers/devfreq/Kconfig >> index a5be56e..cb67246 100644 >> --- a/drivers/devfreq/Kconfig >> +++ b/drivers/devfreq/Kconfig >> @@ -101,5 +101,6 @@ config ARM_TEGRA_DEVFREQ >> operating frequencies and voltages with OPP support. >> >> source "drivers/devfreq/event/Kconfig" >> +source "drivers/devfreq/rockchip/Kconfig" >> >> endif # PM_DEVFREQ >> diff --git a/drivers/devfreq/Makefile b/drivers/devfreq/Makefile >> index 09f11d9..48e2ae6 100644 >> --- a/drivers/devfreq/Makefile >> +++ b/drivers/devfreq/Makefile >> @@ -9,6 +9,7 @@ obj-$(CONFIG_DEVFREQ_GOV_PASSIVE) += governor_passive.o >> # DEVFREQ Drivers >> obj-$(CONFIG_ARM_EXYNOS_BUS_DEVFREQ) += exynos-bus.o >> obj-$(CONFIG_ARM_TEGRA_DEVFREQ) += tegra-devfreq.o >> +obj-$(CONFIG_ARCH_ROCKCHIP) += rockchip/ >> >> # DEVFREQ Event Drivers >> obj-$(CONFIG_PM_DEVFREQ_EVENT) += event/ >> diff --git a/drivers/devfreq/rockchip/Kconfig b/drivers/devfreq/rockchip/Kconfig >> new file mode 100644 >> index 0000000..7fb1cff >> --- /dev/null >> +++ b/drivers/devfreq/rockchip/Kconfig >> @@ -0,0 +1,15 @@ >> +config ARM_ROCKCHIP_DMC_DEVFREQ >> + bool "ARM ROCKCHIP DMC DEVFREQ Driver" >> + depends on ARCH_ROCKCHIP >> + help >> + This adds the DEVFREQ driver framework for the rockchip dmc. >> + >> +config ARM_RK3399_DMC_DEVFREQ >> + bool "ARM RK3399 DMC DEVFREQ Driver" > Since you are using bool Kconfigs for your driver, please do not use > module.h or MODULE_ tags in your driver, and use the builtin > register function. > > Alternatively if there really is a use case for it to be a modular driver > then use a tristate Kconfig. Thanks for pointing it, will fix it next version. > THanks, > Paul. > -- > >> + depends on ARM_ROCKCHIP_DMC_DEVFREQ >> + select PM_OPP >> + select DEVFREQ_GOV_SIMPLE_ONDEMAND >> + help >> + This adds the DEVFREQ driver for the RK3399 dmc. It sets the frequency >> + for the memory controller and reads the usage counts from hardware. >> + > _______________________________________________ > Linux-rockchip mailing list > Linux-rockchip@lists.infradead.org > http://lists.infradead.org/mailman/listinfo/linux-rockchip > > > -- Lin Huang From mboxrd@z Thu Jan 1 00:00:00 1970 From: hl Subject: Re: [PATCH v3 6/7] PM / devfreq: rockchip: add devfreq driver for rk3399 dmc Date: Sun, 24 Jul 2016 15:54:09 +0800 Message-ID: <57947421.7050006@rock-chips.com> References: <1469178440-4668-1-git-send-email-hl@rock-chips.com> <1469178440-4668-7-git-send-email-hl@rock-chips.com> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: QUOTED-PRINTABLE Return-path: In-Reply-To: Sender: linux-kernel-owner@vger.kernel.org To: Paul Gortmaker Cc: tixy@linaro.org, typ@rock-chips.com, heiko@sntech.de, linux-rockchip@lists.infradead.org, airlied@linux.ie, mturquette@baylibre.com, dbasehore@chromium.org, sboyd@codeaurora.org, LKML , dri-devel@lists.freedesktop.org, dianders@chromium.org, xsf@rock-chips.com, Chanwoo Choi , Kyungmin Park , myungjoo.ham@samsung.com, "linux-arm-kernel@lists.infradead.org" , mark.yao@rock-chips.com List-Id: linux-rockchip.vger.kernel.org Hi Paul, On 2016=E5=B9=B407=E6=9C=8823=E6=97=A5 04:24, Paul Gortmaker wrote: > On Fri, Jul 22, 2016 at 5:07 AM, Lin Huang wrote: >> base on dfi result, we do ddr frequency scaling, register >> dmc driver to devfreq framework, and use simple-ondemand >> policy. >> >> Signed-off-by: Lin Huang >> --- >> Changes in v3: >> - operate dram setting through sip call >> - imporve set rate flow >> >> Changes in v2: >> - None >> >> Changes in v1: >> - move dfi controller to event >> - fix set voltage sequence when set rate fail >> - change Kconfig type from tristate to bool >> - move unuse EXPORT_SYMBOL_GPL() >> >> drivers/devfreq/Kconfig | 1 + >> drivers/devfreq/Makefile | 1 + >> drivers/devfreq/rockchip/Kconfig | 15 + >> drivers/devfreq/rockchip/Makefile | 2 + >> drivers/devfreq/rockchip/rk3399_dmc.c | 482 ++++++++++++++++++++= ++++++++++++ >> drivers/devfreq/rockchip/rockchip_dmc.c | 143 ++++++++++ >> include/soc/rockchip/rockchip_dmc.h | 45 +++ >> 7 files changed, 689 insertions(+) >> create mode 100644 drivers/devfreq/rockchip/Kconfig >> create mode 100644 drivers/devfreq/rockchip/Makefile >> create mode 100644 drivers/devfreq/rockchip/rk3399_dmc.c >> create mode 100644 drivers/devfreq/rockchip/rockchip_dmc.c >> create mode 100644 include/soc/rockchip/rockchip_dmc.h >> >> diff --git a/drivers/devfreq/Kconfig b/drivers/devfreq/Kconfig >> index a5be56e..cb67246 100644 >> --- a/drivers/devfreq/Kconfig >> +++ b/drivers/devfreq/Kconfig >> @@ -101,5 +101,6 @@ config ARM_TEGRA_DEVFREQ >> operating frequencies and voltages with OPP support. >> >> source "drivers/devfreq/event/Kconfig" >> +source "drivers/devfreq/rockchip/Kconfig" >> >> endif # PM_DEVFREQ >> diff --git a/drivers/devfreq/Makefile b/drivers/devfreq/Makefile >> index 09f11d9..48e2ae6 100644 >> --- a/drivers/devfreq/Makefile >> +++ b/drivers/devfreq/Makefile >> @@ -9,6 +9,7 @@ obj-$(CONFIG_DEVFREQ_GOV_PASSIVE) +=3D governo= r_passive.o >> # DEVFREQ Drivers >> obj-$(CONFIG_ARM_EXYNOS_BUS_DEVFREQ) +=3D exynos-bus.o >> obj-$(CONFIG_ARM_TEGRA_DEVFREQ) +=3D tegra-devfreq.= o >> +obj-$(CONFIG_ARCH_ROCKCHIP) +=3D rockchip/ >> >> # DEVFREQ Event Drivers >> obj-$(CONFIG_PM_DEVFREQ_EVENT) +=3D event/ >> diff --git a/drivers/devfreq/rockchip/Kconfig b/drivers/devfreq/rock= chip/Kconfig >> new file mode 100644 >> index 0000000..7fb1cff >> --- /dev/null >> +++ b/drivers/devfreq/rockchip/Kconfig >> @@ -0,0 +1,15 @@ >> +config ARM_ROCKCHIP_DMC_DEVFREQ >> + bool "ARM ROCKCHIP DMC DEVFREQ Driver" >> + depends on ARCH_ROCKCHIP >> + help >> + This adds the DEVFREQ driver framework for the rockchip dm= c. >> + >> +config ARM_RK3399_DMC_DEVFREQ >> + bool "ARM RK3399 DMC DEVFREQ Driver" > Since you are using bool Kconfigs for your driver, please do not use > module.h or MODULE_ tags in your driver, and use the builtin > register function. > > Alternatively if there really is a use case for it to be a modular d= river > then use a tristate Kconfig. Thanks for pointing it, will fix it next version. > THanks, > Paul. > -- > >> + depends on ARM_ROCKCHIP_DMC_DEVFREQ >> + select PM_OPP >> + select DEVFREQ_GOV_SIMPLE_ONDEMAND >> + help >> + This adds the DEVFREQ driver for the RK3399 dmc. It sets = the frequency >> + for the memory controller and reads the usage counts from= hardware. >> + > _______________________________________________ > Linux-rockchip mailing list > Linux-rockchip@lists.infradead.org > http://lists.infradead.org/mailman/listinfo/linux-rockchip > > > --=20 Lin Huang From mboxrd@z Thu Jan 1 00:00:00 1970 From: hl@rock-chips.com (hl) Date: Sun, 24 Jul 2016 15:54:09 +0800 Subject: [PATCH v3 6/7] PM / devfreq: rockchip: add devfreq driver for rk3399 dmc In-Reply-To: References: <1469178440-4668-1-git-send-email-hl@rock-chips.com> <1469178440-4668-7-git-send-email-hl@rock-chips.com> Message-ID: <57947421.7050006@rock-chips.com> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org Hi Paul, On 2016?07?23? 04:24, Paul Gortmaker wrote: > On Fri, Jul 22, 2016 at 5:07 AM, Lin Huang wrote: >> base on dfi result, we do ddr frequency scaling, register >> dmc driver to devfreq framework, and use simple-ondemand >> policy. >> >> Signed-off-by: Lin Huang >> --- >> Changes in v3: >> - operate dram setting through sip call >> - imporve set rate flow >> >> Changes in v2: >> - None >> >> Changes in v1: >> - move dfi controller to event >> - fix set voltage sequence when set rate fail >> - change Kconfig type from tristate to bool >> - move unuse EXPORT_SYMBOL_GPL() >> >> drivers/devfreq/Kconfig | 1 + >> drivers/devfreq/Makefile | 1 + >> drivers/devfreq/rockchip/Kconfig | 15 + >> drivers/devfreq/rockchip/Makefile | 2 + >> drivers/devfreq/rockchip/rk3399_dmc.c | 482 ++++++++++++++++++++++++++++++++ >> drivers/devfreq/rockchip/rockchip_dmc.c | 143 ++++++++++ >> include/soc/rockchip/rockchip_dmc.h | 45 +++ >> 7 files changed, 689 insertions(+) >> create mode 100644 drivers/devfreq/rockchip/Kconfig >> create mode 100644 drivers/devfreq/rockchip/Makefile >> create mode 100644 drivers/devfreq/rockchip/rk3399_dmc.c >> create mode 100644 drivers/devfreq/rockchip/rockchip_dmc.c >> create mode 100644 include/soc/rockchip/rockchip_dmc.h >> >> diff --git a/drivers/devfreq/Kconfig b/drivers/devfreq/Kconfig >> index a5be56e..cb67246 100644 >> --- a/drivers/devfreq/Kconfig >> +++ b/drivers/devfreq/Kconfig >> @@ -101,5 +101,6 @@ config ARM_TEGRA_DEVFREQ >> operating frequencies and voltages with OPP support. >> >> source "drivers/devfreq/event/Kconfig" >> +source "drivers/devfreq/rockchip/Kconfig" >> >> endif # PM_DEVFREQ >> diff --git a/drivers/devfreq/Makefile b/drivers/devfreq/Makefile >> index 09f11d9..48e2ae6 100644 >> --- a/drivers/devfreq/Makefile >> +++ b/drivers/devfreq/Makefile >> @@ -9,6 +9,7 @@ obj-$(CONFIG_DEVFREQ_GOV_PASSIVE) += governor_passive.o >> # DEVFREQ Drivers >> obj-$(CONFIG_ARM_EXYNOS_BUS_DEVFREQ) += exynos-bus.o >> obj-$(CONFIG_ARM_TEGRA_DEVFREQ) += tegra-devfreq.o >> +obj-$(CONFIG_ARCH_ROCKCHIP) += rockchip/ >> >> # DEVFREQ Event Drivers >> obj-$(CONFIG_PM_DEVFREQ_EVENT) += event/ >> diff --git a/drivers/devfreq/rockchip/Kconfig b/drivers/devfreq/rockchip/Kconfig >> new file mode 100644 >> index 0000000..7fb1cff >> --- /dev/null >> +++ b/drivers/devfreq/rockchip/Kconfig >> @@ -0,0 +1,15 @@ >> +config ARM_ROCKCHIP_DMC_DEVFREQ >> + bool "ARM ROCKCHIP DMC DEVFREQ Driver" >> + depends on ARCH_ROCKCHIP >> + help >> + This adds the DEVFREQ driver framework for the rockchip dmc. >> + >> +config ARM_RK3399_DMC_DEVFREQ >> + bool "ARM RK3399 DMC DEVFREQ Driver" > Since you are using bool Kconfigs for your driver, please do not use > module.h or MODULE_ tags in your driver, and use the builtin > register function. > > Alternatively if there really is a use case for it to be a modular driver > then use a tristate Kconfig. Thanks for pointing it, will fix it next version. > THanks, > Paul. > -- > >> + depends on ARM_ROCKCHIP_DMC_DEVFREQ >> + select PM_OPP >> + select DEVFREQ_GOV_SIMPLE_ONDEMAND >> + help >> + This adds the DEVFREQ driver for the RK3399 dmc. It sets the frequency >> + for the memory controller and reads the usage counts from hardware. >> + > _______________________________________________ > Linux-rockchip mailing list > Linux-rockchip at lists.infradead.org > http://lists.infradead.org/mailman/listinfo/linux-rockchip > > > -- Lin Huang