From: Pi-Cheng Chen <pi-cheng.chen@linaro.org>
To: Nishanth Menon <nm@ti.com>,
Eduardo Valentin <edubezval@gmail.com>,
Viresh Kumar <viresh.kumar@linaro.org>,
Rob Herring <robh+dt@kernel.org>,
Sascha Hauer <kernel@pengutronix.de>
Cc: Kevin Hilman <khilman@kernel.org>,
Matthias Brugger <matthias.bgg@gmail.com>,
linux-arm-kernel@lists.infradead.org,
linux-mediatek@lists.infradead.org, linux-pm@vger.kernel.org,
devicetree@vger.kernel.org, Stephen Boyd <sboyd@codeaurora.org>
Subject: [RFC PATCH 0/5] Add support for Mediatek SVS engine
Date: Fri, 22 Jan 2016 16:40:24 +0800 [thread overview]
Message-ID: <1453452029-20843-1-git-send-email-pi-cheng.chen@linaro.org> (raw)
This patchset tries to add support for Mediatek SVS engine.
The SVS (Smart Voltage Scaling) engine is a piece of hardware which is
used to caculate optimized voltage values of several power domains, e.g.
CPU clusters, according to chip process corner, temperatures, and other
factors. Then DVFS driver could apply those optimized voltage values to
reduce power consumption. This engine takes calibration data stored in
on-chip E-Fuse device as configuration input during initialization. Once
the initialization is done, SVS engine issues interrupts according to
temerature changes of power domains to notify DVFS driver to get
calculated voltage values.
The configuration registers of SVS engine are shared with Mediatek
thermal controller, and those registers are banked for different power
domains. In addition, the SVS engine also needs some information from
Mediatek thermal controller, e.g. the temperature of a specific power
domain, part of the thermal calibration data. Therefore the support for
SVS engine is integrated with Mediatek thermal controller driver.
Also, for platform specific requirement, to make SVS engine work
correctly, the initialization of SVS engine should be later then
Mediatek thermal controller, and prior to mt8173-cpufreq driver. Hence,
the platform device registration code of mt8173-cpufreq is removed here
after SVS initialization is done or skipped to ensure the platform
specific initialization flow.
The functionality of SVS engine is optional for Mediatek thermal
controller. If the required resources of SVS engine is absent or SVS
failed during initialization stage, the SVS control flow will be
skipped and the thermal controller will function normally.
This patchset relies heavily on the runtime voltage adjustment
mechanism of OPP introduced by Stephen Boyd's previous work[1]. And it
also depends on other MT8173 device drivers that are still under
reviewing and not yet merged, e.g. Mediatek thermal controller support
[2], Mediatek EFUSE driver[3].
CC: Stephen Boyd <sboyd@codeaurora.org>
[1] https://lkml.org/lkml/2015/9/18/833
[2] https://lkml.org/lkml/2015/11/30/239
[3] https://lkml.org/lkml/2015/11/19/169
Pi-Cheng Chen (5):
thermal: MT8173: Replace mutex with spinlock
cpufreq: mt8173: Remove platform device registration code
dt-bindings: thermal: Add optional properties of Mediatek thermal
controller
PM / AVS: thermal: MT8173: Introduce support for SVS engine
cpufreq: mt8173: Add notifier to handle OPP voltage adjustment
.../bindings/thermal/mediatek-thermal.txt | 23 +-
drivers/cpufreq/mt8173-cpufreq.c | 68 +-
drivers/thermal/mtk_thermal.c | 727 ++++++++++++++++++++-
3 files changed, 782 insertions(+), 36 deletions(-)
--
1.9.1
next reply other threads:[~2016-01-22 8:40 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-01-22 8:40 Pi-Cheng Chen [this message]
2016-01-22 8:40 ` [RFC PATCH 1/5] thermal: MT8173: Replace mutex with spinlock Pi-Cheng Chen
2016-01-22 8:40 ` [RFC PATCH 2/5] cpufreq: mt8173: Remove platform device registration code Pi-Cheng Chen
2016-01-22 8:40 ` [RFC PATCH 3/5] dt-bindings: thermal: Add optional properties of Mediatek thermal controller Pi-Cheng Chen
2016-01-22 22:31 ` Rob Herring
2016-01-25 0:21 ` Pi-Cheng Chen
2016-01-22 8:40 ` [RFC PATCH 4/5] PM / AVS: thermal: MT8173: Introduce support for SVS engine Pi-Cheng Chen
2016-01-22 23:38 ` Daniel Kurtz
2016-02-18 3:00 ` Pi-Cheng Chen
2016-02-19 5:08 ` Henry Chen
2016-02-19 5:31 ` Henry Chen
2016-01-22 8:40 ` [PATCH 5/5] cpufreq: mt8173: Add notifier to handle OPP voltage adjustment Pi-Cheng Chen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1453452029-20843-1-git-send-email-pi-cheng.chen@linaro.org \
--to=pi-cheng.chen@linaro.org \
--cc=devicetree@vger.kernel.org \
--cc=edubezval@gmail.com \
--cc=kernel@pengutronix.de \
--cc=khilman@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-mediatek@lists.infradead.org \
--cc=linux-pm@vger.kernel.org \
--cc=matthias.bgg@gmail.com \
--cc=nm@ti.com \
--cc=robh+dt@kernel.org \
--cc=sboyd@codeaurora.org \
--cc=viresh.kumar@linaro.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).