From: Miquel Raynal <miquel.raynal@bootlin.com>
To: Gregory Clement <gregory.clement@bootlin.com>,
Jason Cooper <jason@lakedaemon.net>, Andrew Lunn <andrew@lunn.ch>,
Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>,
Zhang Rui <rui.zhang@intel.com>,
Eduardo Valentin <edubezval@gmail.com>,
Daniel Lezcano <daniel.lezcano@linaro.org>
Cc: Mark Rutland <mark.rutland@arm.com>,
devicetree@vger.kernel.org, linux-pm@vger.kernel.org,
Antoine Tenart <antoine.tenart@bootlin.com>,
Catalin Marinas <catalin.marinas@arm.com>,
Will Deacon <will.deacon@arm.com>,
Russell King <linux@armlinux.org.uk>,
Maxime Chevallier <maxime.chevallier@bootlin.com>,
Nadav Haklai <nadavh@marvell.com>,
Marc Zyngier <marc.zyngier@arm.com>,
David Sniatkiwicz <davidsn@marvell.com>,
Rob Herring <robh+dt@kernel.org>,
Thomas Petazzoni <thomas.petazzoni@bootlin.com>,
Miquel Raynal <miquel.raynal@bootlin.com>,
linux-arm-kernel@lists.infradead.org
Subject: [PATCH v3 0/6] Add hw overheat IRQ support to Marvell thermal driver
Date: Tue, 4 Dec 2018 20:03:26 +0100 [thread overview]
Message-ID: <20181204190332.10351-1-miquel.raynal@bootlin.com> (raw)
Hello,
This is the last batch of patches about the thermal driver that was
suspended, waiting for the ICU/SEI series to be merged. Now that
everything is ready in mainline, let's add hardware overheat interrupt
support to this driver.
Bindings and DT are updated accordingly. The interrupt will only be
triggered if the platform goes above ~102°C (threshold set to 100°C,
hysteresis to > 2°C). The interrupt property is of course not
mandatory.
In the mean time, I add myself to the MAINTAINERS file to receive and
review possible fixes/new features.
Thanks,
Miquèl
Changes since v2:
=================
* Remove useless goto statement.
* Move the hysteresis array out of the function using it and declare
the array statically instead that doing so on the stack.
* Remove unnecessary cast.
* On error, avoid returning a value not compatible with irqreturn_t in
the IRQ handler (and when doing so, re-enable interrupts
first). This is simply handled with a goto statement.
* 0 is not a valid interrupt, take this into account during variables
validation.
Changes *not* addressed since v2:
================================
* Overheat interrupt configuration has certain limitations on which
Marc asked questions. I don't know if/what I need to change so
keeping it like this for this version.
* Eduardo pointed that once a critical level has been reached, there
is no way back, the system will shutdown. I designed the handler to
recover from that and to enable the IRQ again if needed, but maybe
this is useless and should be removed. While waiting for his answer,
I am sending another version and will correct in a v4 if needed.
Changes since v1:
=================
* Use a threaded IRQ handler to avoid a potential lock depency when
notifying the core of an overheat situation.
Miquel Raynal (6):
thermal: armada: add overheat interrupt support
MAINTAINERS: thermal: add entry for Marvell MVEBU thermal driver
dt-bindings: ap806: document the thermal interrupt capabilities
dt-bindings: cp110: document the thermal interrupt capabilities
arm64: dts: marvell: add interrupt support to ap806 thermal node
arm64: dts: marvell: add interrupt support to cp110 thermal node
.../arm/marvell/ap806-system-controller.txt | 8 +
.../arm/marvell/cp110-system-controller.txt | 9 +
MAINTAINERS | 5 +
arch/arm64/boot/dts/marvell/armada-ap806.dtsi | 18 +-
arch/arm64/boot/dts/marvell/armada-cp110.dtsi | 15 +-
drivers/thermal/armada_thermal.c | 270 +++++++++++++++++-
6 files changed, 318 insertions(+), 7 deletions(-)
--
2.19.1
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next reply other threads:[~2018-12-04 19:10 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-12-04 19:03 Miquel Raynal [this message]
2018-12-04 19:03 ` [PATCH v3 1/6] thermal: armada: add overheat interrupt support Miquel Raynal
2018-12-04 19:03 ` [PATCH v3 2/6] MAINTAINERS: thermal: add entry for Marvell MVEBU thermal driver Miquel Raynal
2018-12-04 19:03 ` [PATCH v3 3/6] dt-bindings: ap806: document the thermal interrupt capabilities Miquel Raynal
2018-12-10 23:03 ` Rob Herring
2018-12-12 9:32 ` Miquel Raynal
2018-12-04 19:03 ` [PATCH v3 4/6] dt-bindings: cp110: " Miquel Raynal
2018-12-10 23:05 ` Rob Herring
2018-12-04 19:03 ` [PATCH v3 5/6] arm64: dts: marvell: add interrupt support to ap806 thermal node Miquel Raynal
2018-12-04 19:03 ` [PATCH v3 6/6] arm64: dts: marvell: add interrupt support to cp110 " Miquel Raynal
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=20181204190332.10351-1-miquel.raynal@bootlin.com \
--to=miquel.raynal@bootlin.com \
--cc=andrew@lunn.ch \
--cc=antoine.tenart@bootlin.com \
--cc=catalin.marinas@arm.com \
--cc=daniel.lezcano@linaro.org \
--cc=davidsn@marvell.com \
--cc=devicetree@vger.kernel.org \
--cc=edubezval@gmail.com \
--cc=gregory.clement@bootlin.com \
--cc=jason@lakedaemon.net \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-pm@vger.kernel.org \
--cc=linux@armlinux.org.uk \
--cc=marc.zyngier@arm.com \
--cc=mark.rutland@arm.com \
--cc=maxime.chevallier@bootlin.com \
--cc=nadavh@marvell.com \
--cc=robh+dt@kernel.org \
--cc=rui.zhang@intel.com \
--cc=sebastian.hesselbarth@gmail.com \
--cc=thomas.petazzoni@bootlin.com \
--cc=will.deacon@arm.com \
/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).