From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: linux-kernel@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
stable@vger.kernel.org, Sonny Rao <sonnyrao@chromium.org>,
Enric Balletbo i Serra <enric.balletbo@collabora.com>,
Jason Gunthorpe <jgunthorpe@obsidianresearch.com>,
Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>,
James Morris <james.l.morris@oracle.com>
Subject: [PATCH 4.4 01/24] tpm: do not suspend/resume if power stays on
Date: Tue, 12 Jun 2018 18:51:45 +0200 [thread overview]
Message-ID: <20180612164816.651225293@linuxfoundation.org> (raw)
In-Reply-To: <20180612164816.587001852@linuxfoundation.org>
4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Enric Balletbo i Serra <enric.balletbo@collabora.com>
commit b5d0ebc99bf5d0801a5ecbe958caa3d68b8eaee8 upstream.
The suspend/resume behavior of the TPM can be controlled by setting
"powered-while-suspended" in the DTS. This is useful for the cases
when hardware does not power-off the TPM.
Signed-off-by: Sonny Rao <sonnyrao@chromium.org>
Signed-off-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>
Reviewed-by: Jason Gunthorpe <jgunthorpe@obsidianresearch.com>
Reviewed-by: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
Signed-off-by: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
Signed-off-by: James Morris <james.l.morris@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
drivers/char/tpm/tpm-chip.c | 13 +++++++++++++
drivers/char/tpm/tpm-interface.c | 3 +++
drivers/char/tpm/tpm.h | 1 +
3 files changed, 17 insertions(+)
--- a/drivers/char/tpm/tpm-chip.c
+++ b/drivers/char/tpm/tpm-chip.c
@@ -26,6 +26,7 @@
#include <linux/spinlock.h>
#include <linux/freezer.h>
#include <linux/major.h>
+#include <linux/of.h>
#include "tpm.h"
#include "tpm_eventlog.h"
@@ -324,8 +325,20 @@ static void tpm1_chip_unregister(struct
*/
int tpm_chip_register(struct tpm_chip *chip)
{
+#ifdef CONFIG_OF
+ struct device_node *np;
+#endif
int rc;
+#ifdef CONFIG_OF
+ np = of_find_node_by_name(NULL, "vtpm");
+ if (np) {
+ if (of_property_read_bool(np, "powered-while-suspended"))
+ chip->flags |= TPM_CHIP_FLAG_ALWAYS_POWERED;
+ }
+ of_node_put(np);
+#endif
+
rc = tpm1_chip_register(chip);
if (rc)
return rc;
--- a/drivers/char/tpm/tpm-interface.c
+++ b/drivers/char/tpm/tpm-interface.c
@@ -931,6 +931,9 @@ int tpm_pm_suspend(struct device *dev)
if (chip == NULL)
return -ENODEV;
+ if (chip->flags & TPM_CHIP_FLAG_ALWAYS_POWERED)
+ return 0;
+
if (chip->flags & TPM_CHIP_FLAG_TPM2) {
tpm2_shutdown(chip, TPM2_SU_STATE);
return 0;
--- a/drivers/char/tpm/tpm.h
+++ b/drivers/char/tpm/tpm.h
@@ -168,6 +168,7 @@ struct tpm_vendor_specific {
enum tpm_chip_flags {
TPM_CHIP_FLAG_REGISTERED = BIT(0),
TPM_CHIP_FLAG_TPM2 = BIT(1),
+ TPM_CHIP_FLAG_ALWAYS_POWERED = BIT(5),
};
struct tpm_chip {
next prev parent reply other threads:[~2018-06-12 16:52 UTC|newest]
Thread overview: 52+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-06-12 16:51 [PATCH 4.4 00/24] 4.4.137-stable review Greg Kroah-Hartman
2018-06-12 16:51 ` Greg Kroah-Hartman [this message]
2018-06-12 16:51 ` [PATCH 4.4 02/24] tpm: self test failure should not cause suspend to fail Greg Kroah-Hartman
2018-06-12 16:51 ` Greg Kroah-Hartman
2018-06-12 16:51 ` [PATCH 4.4 03/24] mmap: introduce sane default mmap limits Greg Kroah-Hartman
2018-06-12 16:51 ` [PATCH 4.4 04/24] mmap: relax file size limit for regular files Greg Kroah-Hartman
2018-06-12 16:51 ` [PATCH 4.4 06/24] xfs: fix incorrect log_flushed on fsync Greg Kroah-Hartman
2018-06-12 16:51 ` [PATCH 4.4 07/24] drm: set FMODE_UNSIGNED_OFFSET for drm files Greg Kroah-Hartman
2018-06-12 16:51 ` [PATCH 4.4 08/24] brcmfmac: Fix check for ISO3166 code Greg Kroah-Hartman
2018-06-12 16:51 ` [PATCH 4.4 09/24] bnx2x: use the right constant Greg Kroah-Hartman
2018-06-12 16:51 ` [PATCH 4.4 10/24] dccp: dont free ccid2_hc_tx_sock struct in dccp_disconnect() Greg Kroah-Hartman
2018-06-12 16:51 ` [PATCH 4.4 11/24] enic: set DMA mask to 47 bit Greg Kroah-Hartman
2018-06-12 16:51 ` [PATCH 4.4 12/24] ip6mr: only set ip6mr_table from setsockopt when ip6mr_new_table succeeds Greg Kroah-Hartman
2018-06-12 16:51 ` [PATCH 4.4 13/24] ipv4: remove warning in ip_recv_error Greg Kroah-Hartman
2018-06-12 16:51 ` [PATCH 4.4 14/24] isdn: eicon: fix a missing-check bug Greg Kroah-Hartman
2018-06-12 16:51 ` [PATCH 4.4 15/24] netdev-FAQ: clarify DaveMs position for stable backports Greg Kroah-Hartman
2018-06-12 16:52 ` [PATCH 4.4 16/24] net/packet: refine check for priv area size Greg Kroah-Hartman
2018-06-12 16:52 ` [PATCH 4.4 18/24] packet: fix reserve calculation Greg Kroah-Hartman
2018-06-12 16:52 ` [PATCH 4.4 19/24] qed: Fix mask for physical address in ILT entry Greg Kroah-Hartman
2018-06-12 16:52 ` [PATCH 4.4 20/24] net/mlx4: Fix irq-unsafe spinlock usage Greg Kroah-Hartman
2018-06-12 16:52 ` [PATCH 4.4 21/24] team: use netdev_features_t instead of u32 Greg Kroah-Hartman
2018-06-12 16:52 ` [PATCH 4.4 22/24] rtnetlink: validate attributes in do_setlink() Greg Kroah-Hartman
2018-06-12 16:52 ` [PATCH 4.4 23/24] net: phy: broadcom: Fix bcm_write_exp() Greg Kroah-Hartman
2018-06-12 16:52 ` [PATCH 4.4 24/24] net: metrics: add proper netlink validation Greg Kroah-Hartman
2018-06-19 13:15 ` Ben Hutchings
2018-06-12 18:17 ` [PATCH 4.4 00/24] 4.4.137-stable review Nathan Chancellor
2018-06-12 18:49 ` Greg Kroah-Hartman
2018-06-12 20:59 ` Shuah Khan
2018-06-13 13:48 ` Guenter Roeck
2018-06-13 20:47 ` Rafael Tinoco
2018-06-13 20:52 ` [LTP] Fwd: " Rafael Tinoco
2018-06-13 21:36 ` [LTP] " Rafael Tinoco
2018-06-13 21:00 ` Greg Kroah-Hartman
2018-06-13 21:08 ` Rafael David Tinoco
2018-06-14 1:48 ` [LTP] " Rafael Tinoco
2018-06-14 1:48 ` Rafael Tinoco
2018-06-14 6:34 ` [LTP] " Greg Kroah-Hartman
2018-06-14 6:34 ` Greg Kroah-Hartman
2018-06-14 8:54 ` [LTP] " Naresh Kamboju
2018-06-14 8:54 ` Naresh Kamboju
2018-06-14 9:01 ` [LTP] " Greg Kroah-Hartman
2018-06-14 9:01 ` Greg Kroah-Hartman
2018-06-14 9:49 ` [LTP] " Jan Stancek
2018-06-14 9:49 ` Jan Stancek
2018-06-14 10:21 ` Greg Kroah-Hartman
2018-06-14 10:21 ` Greg Kroah-Hartman
2018-06-14 10:36 ` Jan Stancek
2018-06-14 10:36 ` Jan Stancek
2018-06-14 10:54 ` Rafael Tinoco
2018-06-14 10:54 ` Rafael Tinoco
2018-06-14 11:36 ` Greg Kroah-Hartman
2018-06-14 11:36 ` Greg Kroah-Hartman
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=20180612164816.651225293@linuxfoundation.org \
--to=gregkh@linuxfoundation.org \
--cc=enric.balletbo@collabora.com \
--cc=james.l.morris@oracle.com \
--cc=jarkko.sakkinen@linux.intel.com \
--cc=jgunthorpe@obsidianresearch.com \
--cc=linux-kernel@vger.kernel.org \
--cc=sonnyrao@chromium.org \
--cc=stable@vger.kernel.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.