From patchwork Tue Nov 5 17:26:47 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lukasz Majewski X-Patchwork-Id: 3143021 Return-Path: X-Original-To: patchwork-linux-pm@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork1.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.19.201]) by patchwork1.web.kernel.org (Postfix) with ESMTP id B7CBA9F3C4 for ; Tue, 5 Nov 2013 17:29:03 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 61B5720395 for ; Tue, 5 Nov 2013 17:29:02 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 27494201F5 for ; Tue, 5 Nov 2013 17:29:01 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755346Ab3KER1b (ORCPT ); Tue, 5 Nov 2013 12:27:31 -0500 Received: from mailout1.samsung.com ([203.254.224.24]:59988 "EHLO mailout1.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755177Ab3KER13 (ORCPT ); Tue, 5 Nov 2013 12:27:29 -0500 Received: from epcpsbgm1.samsung.com (epcpsbgm1 [203.254.230.26]) by mailout1.samsung.com (Oracle Communications Messaging Server 7u4-24.01(7.0.4.24.0) 64bit (built Nov 17 2011)) with ESMTP id <0MVS00CH2WHN5H30@mailout1.samsung.com>; Wed, 06 Nov 2013 02:27:28 +0900 (KST) X-AuditID: cbfee61a-b7f836d0000025d7-5e-52792a80e8b1 Received: from epmmp2 ( [203.254.227.17]) by epcpsbgm1.samsung.com (EPCPMTA) with SMTP id 6C.C5.09687.08A29725; Wed, 06 Nov 2013 02:27:28 +0900 (KST) Received: from mcdsrvbld02.digital.local ([106.116.37.23]) by mmp2.samsung.com (Oracle Communications Messaging Server 7u4-24.01 (7.0.4.24.0) 64bit (built Nov 17 2011)) with ESMTPA id <0MVS00GMQWGVG8A0@mmp2.samsung.com>; Wed, 06 Nov 2013 02:27:28 +0900 (KST) From: Lukasz Majewski To: Viresh Kumar , "Rafael J. Wysocki" , Zhang Rui , Eduardo Valentin Cc: "cpufreq@vger.kernel.org" , Linux PM list , Jonghwa Lee , Lukasz Majewski , Lukasz Majewski , linux-kernel , Bartlomiej Zolnierkiewicz , Myungjoo Ham , durgadoss.r@intel.com, Amit Daniel Kachhap Subject: [PATCH v10 3/7] cpufreq:boost:Kconfig: Provide support for software managed BOOST Date: Tue, 05 Nov 2013 18:26:47 +0100 Message-id: <1383672411-26324-4-git-send-email-l.majewski@samsung.com> X-Mailer: git-send-email 1.7.10 In-reply-to: <1383672411-26324-1-git-send-email-l.majewski@samsung.com> References: <1370502472-7249-1-git-send-email-l.majewski@samsung.com> <1383672411-26324-1-git-send-email-l.majewski@samsung.com> X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFjrALMWRmVeSWpSXmKPExsVy+t9jQd0Grcoggxs9yhYNV0MsNs5Yz2rx tOkHu0XfzyvMFmv2/2Sy6Dz7hNnizSNuizcPNzNaXN41h83ic+8RRovbjSvYLM6cvsRq8eRh H5vFxq8eDnwei/e8ZPK4c20Pm8e6aW+ZPbZcbWfx6NuyitHj+I3tTB6fN8kFsEdx2aSk5mSW pRbp2yVwZRz5N5294LxIxe7pm1gaGH8IdDFyckgImEjM/XeWDcIWk7hwbz2QzcUhJDCdUWLp ynPsEE4Xk8SL5m5WkCo2AT2Jz3efMoEkRASWMEq8blrACuIwC+xllpj0Zy2Qw8EhLBAjMfmJ AUgDi4CqxK8Zf1hAbF4BN4n9y78zQayTl3h6vw9sNaeAu8SOWXuhVjcxSry5PYFpAiPvAkaG VYyiqQXJBcVJ6bmGesWJucWleel6yfm5mxjB4fpMagfjygaLQ4wCHIxKPLwJ8pVBQqyJZcWV uYcYJTiYlUR4j/2vCBLiTUmsrEotyo8vKs1JLT7EKM3BoiTOe6DVOlBIID2xJDU7NbUgtQgm y8TBKdXAWPl7niTP3fbXfV5SRmZHOs8ukFt+1Sd7QpeAV0XjrhUdF2VfnrsifaQn9M0+5x2/ L3t0Nx8Jej/NvnqTpdBnZvOpoqIMPQs97yn7sqrtfF7Ss7T43QbmlJVbjl4qlDvGXPdu40kP f0OlYFfPon+2i9r+yhnN0PLZlnD0L8eELe8TGB78XasyR4mlOCPRUIu5qDgRADau8INTAgAA Sender: linux-pm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-pm@vger.kernel.org X-Spam-Status: No, score=-6.9 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_HI, RP_MATCHES_RCVD, UNPARSEABLE_RELAY autolearn=unavailable version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP For safety reasons new flag - CONFIG_CPU_FREQ_BOOST_SW has been added. Only after selecting "EXYNOS Frequency Overclocking - Software" Kconfig option the software managed boost is enabled. It also selects thermal subsystem to be compiled in. Thermal is necessary for disabling boost and cooling down the device when overheating detected. Boost _MUST_NOT_ work without thermal subsystem with properly defined overheating temperatures. This option doesn't affect x86's ACPI hardware managed boost support (i.e. Intel, AMD). In this situation boost management is embedded at hardware. Signed-off-by: Lukasz Majewski Signed-off-by: Myungjoo Ham Acked-by: Viresh Kumar --- Changes for v10: - None Changes for v9: - None Changes for v8: - None Changes for v7: - Remove superfluous "default n" definition - Generic CPU_FREQ_BOOST_SW depends on THERMAL Changes for v6: - CPU_FREQ_BOOST_SW [1] is now defined as "invisible" bool option. - Platform dependent ARM_EXYNOS_CPU_FREQ_BOOST_SW config option has been added. It depends on ARM_EXYNOS_CPUFREQ options and selects EXYNOS_THERMAL with the main boost config [1]. Changes for v5: - New patch drivers/cpufreq/Kconfig | 4 ++++ drivers/cpufreq/Kconfig.arm | 15 +++++++++++++++ 2 files changed, 19 insertions(+) diff --git a/drivers/cpufreq/Kconfig b/drivers/cpufreq/Kconfig index 38093e2..c8818c1 100644 --- a/drivers/cpufreq/Kconfig +++ b/drivers/cpufreq/Kconfig @@ -20,6 +20,10 @@ if CPU_FREQ config CPU_FREQ_GOV_COMMON bool +config CPU_FREQ_BOOST_SW + bool + depends on THERMAL + config CPU_FREQ_STAT tristate "CPU frequency translation statistics" default y diff --git a/drivers/cpufreq/Kconfig.arm b/drivers/cpufreq/Kconfig.arm index ce52ed9..25599d6 100644 --- a/drivers/cpufreq/Kconfig.arm +++ b/drivers/cpufreq/Kconfig.arm @@ -64,6 +64,21 @@ config ARM_EXYNOS5440_CPUFREQ If in doubt, say N. +config ARM_EXYNOS_CPU_FREQ_BOOST_SW + bool "EXYNOS Frequency Overclocking - Software" + depends on ARM_EXYNOS_CPUFREQ + select CPU_FREQ_BOOST_SW + select EXYNOS_THERMAL + help + This driver supports software managed overclocking (BOOST). + It allows usage of special frequencies for Samsung Exynos + processors if thermal conditions are appropriate. + + It reguires, for safe operation, thermal framework with properly + defined trip points. + + If in doubt, say N. + config ARM_HIGHBANK_CPUFREQ tristate "Calxeda Highbank-based" depends on ARCH_HIGHBANK