* [PATCH AUTOSEL 5.4 277/350] tpm: Add a flag to indicate TPM power is managed by firmware
[not found] <20191210210735.9077-1-sashal@kernel.org>
@ 2019-12-10 21:06 ` Sasha Levin
2019-12-10 21:32 ` Guenter Roeck
0 siblings, 1 reply; 6+ messages in thread
From: Sasha Levin @ 2019-12-10 21:06 UTC (permalink / raw)
To: linux-kernel, stable
Cc: Stephen Boyd, Andrey Pronin, Duncan Laurie, Jason Gunthorpe,
Arnd Bergmann, Greg Kroah-Hartman, Guenter Roeck,
Alexander Steffen, Heiko Stuebner, Jarkko Sakkinen, Sasha Levin,
linux-integrity
From: Stephen Boyd <swboyd@chromium.org>
[ Upstream commit 2e2ee5a2db06c4b81315514b01d06fe5644342e9 ]
On some platforms, the TPM power is managed by firmware and therefore we
don't need to stop the TPM on suspend when going to a light version of
suspend such as S0ix ("freeze" suspend state). Add a chip flag,
TPM_CHIP_FLAG_FIRMWARE_POWER_MANAGED, to indicate this so that certain
platforms can probe for the usage of this light suspend and avoid
touching the TPM state across suspend/resume.
Cc: Andrey Pronin <apronin@chromium.org>
Cc: Duncan Laurie <dlaurie@chromium.org>
Cc: Jason Gunthorpe <jgg@ziepe.ca>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Guenter Roeck <groeck@chromium.org>
Cc: Alexander Steffen <Alexander.Steffen@infineon.com>
Cc: Heiko Stuebner <heiko@sntech.de>
Tested-by: Heiko Stuebner <heiko@sntech.de>
Reviewed-by: Heiko Stuebner <heiko@sntech.de>
Signed-off-by: Stephen Boyd <swboyd@chromium.org>
Reviewed-by: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
Signed-off-by: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
drivers/char/tpm/tpm-interface.c | 8 +++++++-
drivers/char/tpm/tpm.h | 1 +
2 files changed, 8 insertions(+), 1 deletion(-)
diff --git a/drivers/char/tpm/tpm-interface.c b/drivers/char/tpm/tpm-interface.c
index d7a3888ad80f0..7f105490604c8 100644
--- a/drivers/char/tpm/tpm-interface.c
+++ b/drivers/char/tpm/tpm-interface.c
@@ -23,6 +23,7 @@
#include <linux/slab.h>
#include <linux/mutex.h>
#include <linux/spinlock.h>
+#include <linux/suspend.h>
#include <linux/freezer.h>
#include <linux/tpm_eventlog.h>
@@ -394,7 +395,11 @@ int tpm_pm_suspend(struct device *dev)
return -ENODEV;
if (chip->flags & TPM_CHIP_FLAG_ALWAYS_POWERED)
- return 0;
+ goto suspended;
+
+ if ((chip->flags & TPM_CHIP_FLAG_FIRMWARE_POWER_MANAGED) &&
+ !pm_suspend_via_firmware())
+ goto suspended;
if (!tpm_chip_start(chip)) {
if (chip->flags & TPM_CHIP_FLAG_TPM2)
@@ -405,6 +410,7 @@ int tpm_pm_suspend(struct device *dev)
tpm_chip_stop(chip);
}
+suspended:
return rc;
}
EXPORT_SYMBOL_GPL(tpm_pm_suspend);
diff --git a/drivers/char/tpm/tpm.h b/drivers/char/tpm/tpm.h
index a7fea3e0ca86a..f3bf2f7f755c8 100644
--- a/drivers/char/tpm/tpm.h
+++ b/drivers/char/tpm/tpm.h
@@ -162,6 +162,7 @@ enum tpm_chip_flags {
TPM_CHIP_FLAG_VIRTUAL = BIT(3),
TPM_CHIP_FLAG_HAVE_TIMEOUTS = BIT(4),
TPM_CHIP_FLAG_ALWAYS_POWERED = BIT(5),
+ TPM_CHIP_FLAG_FIRMWARE_POWER_MANAGED = BIT(6),
};
#define to_tpm_chip(d) container_of(d, struct tpm_chip, dev)
--
2.20.1
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH AUTOSEL 5.4 277/350] tpm: Add a flag to indicate TPM power is managed by firmware
2019-12-10 21:06 ` [PATCH AUTOSEL 5.4 277/350] tpm: Add a flag to indicate TPM power is managed by firmware Sasha Levin
@ 2019-12-10 21:32 ` Guenter Roeck
2019-12-11 17:57 ` Jarkko Sakkinen
0 siblings, 1 reply; 6+ messages in thread
From: Guenter Roeck @ 2019-12-10 21:32 UTC (permalink / raw)
To: Sasha Levin
Cc: linux-kernel, # v4 . 10+, Stephen Boyd, Andrey Pronin,
Duncan Laurie, Jason Gunthorpe, Arnd Bergmann, Greg Kroah-Hartman,
Guenter Roeck, Alexander Steffen, Heiko Stuebner, Jarkko Sakkinen,
linux-integrity
On Tue, Dec 10, 2019 at 1:12 PM Sasha Levin <sashal@kernel.org> wrote:
>
> From: Stephen Boyd <swboyd@chromium.org>
>
> [ Upstream commit 2e2ee5a2db06c4b81315514b01d06fe5644342e9 ]
>
> On some platforms, the TPM power is managed by firmware and therefore we
> don't need to stop the TPM on suspend when going to a light version of
> suspend such as S0ix ("freeze" suspend state). Add a chip flag,
> TPM_CHIP_FLAG_FIRMWARE_POWER_MANAGED, to indicate this so that certain
> platforms can probe for the usage of this light suspend and avoid
> touching the TPM state across suspend/resume.
>
Are the patches needed to support CR50 (which need this patch) going
to be applied to v5.4.y as well ? If not, what is the purpose of
applying this patch to v5.4.y ?
Thanks,
Guenter
> Cc: Andrey Pronin <apronin@chromium.org>
> Cc: Duncan Laurie <dlaurie@chromium.org>
> Cc: Jason Gunthorpe <jgg@ziepe.ca>
> Cc: Arnd Bergmann <arnd@arndb.de>
> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> Cc: Guenter Roeck <groeck@chromium.org>
> Cc: Alexander Steffen <Alexander.Steffen@infineon.com>
> Cc: Heiko Stuebner <heiko@sntech.de>
> Tested-by: Heiko Stuebner <heiko@sntech.de>
> Reviewed-by: Heiko Stuebner <heiko@sntech.de>
> Signed-off-by: Stephen Boyd <swboyd@chromium.org>
> Reviewed-by: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
> Signed-off-by: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
> Signed-off-by: Sasha Levin <sashal@kernel.org>
> ---
> drivers/char/tpm/tpm-interface.c | 8 +++++++-
> drivers/char/tpm/tpm.h | 1 +
> 2 files changed, 8 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/char/tpm/tpm-interface.c b/drivers/char/tpm/tpm-interface.c
> index d7a3888ad80f0..7f105490604c8 100644
> --- a/drivers/char/tpm/tpm-interface.c
> +++ b/drivers/char/tpm/tpm-interface.c
> @@ -23,6 +23,7 @@
> #include <linux/slab.h>
> #include <linux/mutex.h>
> #include <linux/spinlock.h>
> +#include <linux/suspend.h>
> #include <linux/freezer.h>
> #include <linux/tpm_eventlog.h>
>
> @@ -394,7 +395,11 @@ int tpm_pm_suspend(struct device *dev)
> return -ENODEV;
>
> if (chip->flags & TPM_CHIP_FLAG_ALWAYS_POWERED)
> - return 0;
> + goto suspended;
> +
> + if ((chip->flags & TPM_CHIP_FLAG_FIRMWARE_POWER_MANAGED) &&
> + !pm_suspend_via_firmware())
> + goto suspended;
>
> if (!tpm_chip_start(chip)) {
> if (chip->flags & TPM_CHIP_FLAG_TPM2)
> @@ -405,6 +410,7 @@ int tpm_pm_suspend(struct device *dev)
> tpm_chip_stop(chip);
> }
>
> +suspended:
> return rc;
> }
> EXPORT_SYMBOL_GPL(tpm_pm_suspend);
> diff --git a/drivers/char/tpm/tpm.h b/drivers/char/tpm/tpm.h
> index a7fea3e0ca86a..f3bf2f7f755c8 100644
> --- a/drivers/char/tpm/tpm.h
> +++ b/drivers/char/tpm/tpm.h
> @@ -162,6 +162,7 @@ enum tpm_chip_flags {
> TPM_CHIP_FLAG_VIRTUAL = BIT(3),
> TPM_CHIP_FLAG_HAVE_TIMEOUTS = BIT(4),
> TPM_CHIP_FLAG_ALWAYS_POWERED = BIT(5),
> + TPM_CHIP_FLAG_FIRMWARE_POWER_MANAGED = BIT(6),
> };
>
> #define to_tpm_chip(d) container_of(d, struct tpm_chip, dev)
> --
> 2.20.1
>
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH AUTOSEL 5.4 277/350] tpm: Add a flag to indicate TPM power is managed by firmware
2019-12-10 21:32 ` Guenter Roeck
@ 2019-12-11 17:57 ` Jarkko Sakkinen
2019-12-11 18:05 ` Guenter Roeck
0 siblings, 1 reply; 6+ messages in thread
From: Jarkko Sakkinen @ 2019-12-11 17:57 UTC (permalink / raw)
To: Guenter Roeck
Cc: Sasha Levin, linux-kernel, # v4 . 10+, Stephen Boyd,
Andrey Pronin, Duncan Laurie, Jason Gunthorpe, Arnd Bergmann,
Greg Kroah-Hartman, Guenter Roeck, Alexander Steffen,
Heiko Stuebner, linux-integrity
On Tue, Dec 10, 2019 at 01:32:15PM -0800, Guenter Roeck wrote:
> On Tue, Dec 10, 2019 at 1:12 PM Sasha Levin <sashal@kernel.org> wrote:
> >
> > From: Stephen Boyd <swboyd@chromium.org>
> >
> > [ Upstream commit 2e2ee5a2db06c4b81315514b01d06fe5644342e9 ]
> >
> > On some platforms, the TPM power is managed by firmware and therefore we
> > don't need to stop the TPM on suspend when going to a light version of
> > suspend such as S0ix ("freeze" suspend state). Add a chip flag,
> > TPM_CHIP_FLAG_FIRMWARE_POWER_MANAGED, to indicate this so that certain
> > platforms can probe for the usage of this light suspend and avoid
> > touching the TPM state across suspend/resume.
> >
>
> Are the patches needed to support CR50 (which need this patch) going
> to be applied to v5.4.y as well ? If not, what is the purpose of
> applying this patch to v5.4.y ?
>
> Thanks,
> Guenter
Thanks Guenter. I think not.
/Jarkko
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH AUTOSEL 5.4 277/350] tpm: Add a flag to indicate TPM power is managed by firmware
2019-12-11 17:57 ` Jarkko Sakkinen
@ 2019-12-11 18:05 ` Guenter Roeck
2019-12-13 0:17 ` Jarkko Sakkinen
0 siblings, 1 reply; 6+ messages in thread
From: Guenter Roeck @ 2019-12-11 18:05 UTC (permalink / raw)
To: Jarkko Sakkinen
Cc: Sasha Levin, linux-kernel, # v4 . 10+, Stephen Boyd,
Andrey Pronin, Duncan Laurie, Jason Gunthorpe, Arnd Bergmann,
Greg Kroah-Hartman, Guenter Roeck, Alexander Steffen,
Heiko Stuebner, linux-integrity
On Wed, Dec 11, 2019 at 9:57 AM Jarkko Sakkinen
<jarkko.sakkinen@linux.intel.com> wrote:
>
> On Tue, Dec 10, 2019 at 01:32:15PM -0800, Guenter Roeck wrote:
> > On Tue, Dec 10, 2019 at 1:12 PM Sasha Levin <sashal@kernel.org> wrote:
> > >
> > > From: Stephen Boyd <swboyd@chromium.org>
> > >
> > > [ Upstream commit 2e2ee5a2db06c4b81315514b01d06fe5644342e9 ]
> > >
> > > On some platforms, the TPM power is managed by firmware and therefore we
> > > don't need to stop the TPM on suspend when going to a light version of
> > > suspend such as S0ix ("freeze" suspend state). Add a chip flag,
> > > TPM_CHIP_FLAG_FIRMWARE_POWER_MANAGED, to indicate this so that certain
> > > platforms can probe for the usage of this light suspend and avoid
> > > touching the TPM state across suspend/resume.
> > >
> >
> > Are the patches needed to support CR50 (which need this patch) going
> > to be applied to v5.4.y as well ? If not, what is the purpose of
> > applying this patch to v5.4.y ?
> >
> > Thanks,
> > Guenter
>
> Thanks Guenter. I think not.
>
Thought so. In that case this patch should be dropped.
Guenter
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH AUTOSEL 5.4 277/350] tpm: Add a flag to indicate TPM power is managed by firmware
2019-12-11 18:05 ` Guenter Roeck
@ 2019-12-13 0:17 ` Jarkko Sakkinen
2019-12-19 22:26 ` Sasha Levin
0 siblings, 1 reply; 6+ messages in thread
From: Jarkko Sakkinen @ 2019-12-13 0:17 UTC (permalink / raw)
To: Guenter Roeck
Cc: Sasha Levin, linux-kernel, # v4 . 10+, Stephen Boyd,
Andrey Pronin, Duncan Laurie, Jason Gunthorpe, Arnd Bergmann,
Greg Kroah-Hartman, Guenter Roeck, Alexander Steffen,
Heiko Stuebner, linux-integrity
On Wed, Dec 11, 2019 at 10:05:52AM -0800, Guenter Roeck wrote:
> On Wed, Dec 11, 2019 at 9:57 AM Jarkko Sakkinen
> <jarkko.sakkinen@linux.intel.com> wrote:
> >
> > On Tue, Dec 10, 2019 at 01:32:15PM -0800, Guenter Roeck wrote:
> > > On Tue, Dec 10, 2019 at 1:12 PM Sasha Levin <sashal@kernel.org> wrote:
> > > >
> > > > From: Stephen Boyd <swboyd@chromium.org>
> > > >
> > > > [ Upstream commit 2e2ee5a2db06c4b81315514b01d06fe5644342e9 ]
> > > >
> > > > On some platforms, the TPM power is managed by firmware and therefore we
> > > > don't need to stop the TPM on suspend when going to a light version of
> > > > suspend such as S0ix ("freeze" suspend state). Add a chip flag,
> > > > TPM_CHIP_FLAG_FIRMWARE_POWER_MANAGED, to indicate this so that certain
> > > > platforms can probe for the usage of this light suspend and avoid
> > > > touching the TPM state across suspend/resume.
> > > >
> > >
> > > Are the patches needed to support CR50 (which need this patch) going
> > > to be applied to v5.4.y as well ? If not, what is the purpose of
> > > applying this patch to v5.4.y ?
> > >
> > > Thanks,
> > > Guenter
> >
> > Thanks Guenter. I think not.
> >
> Thought so. In that case this patch should be dropped.
>
> Guenter
I fully agree with you.
/Jarkko
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH AUTOSEL 5.4 277/350] tpm: Add a flag to indicate TPM power is managed by firmware
2019-12-13 0:17 ` Jarkko Sakkinen
@ 2019-12-19 22:26 ` Sasha Levin
0 siblings, 0 replies; 6+ messages in thread
From: Sasha Levin @ 2019-12-19 22:26 UTC (permalink / raw)
To: Jarkko Sakkinen
Cc: Guenter Roeck, linux-kernel, # v4 . 10+, Stephen Boyd,
Andrey Pronin, Duncan Laurie, Jason Gunthorpe, Arnd Bergmann,
Greg Kroah-Hartman, Guenter Roeck, Alexander Steffen,
Heiko Stuebner, linux-integrity
On Fri, Dec 13, 2019 at 02:17:31AM +0200, Jarkko Sakkinen wrote:
>On Wed, Dec 11, 2019 at 10:05:52AM -0800, Guenter Roeck wrote:
>> On Wed, Dec 11, 2019 at 9:57 AM Jarkko Sakkinen
>> <jarkko.sakkinen@linux.intel.com> wrote:
>> >
>> > On Tue, Dec 10, 2019 at 01:32:15PM -0800, Guenter Roeck wrote:
>> > > On Tue, Dec 10, 2019 at 1:12 PM Sasha Levin <sashal@kernel.org> wrote:
>> > > >
>> > > > From: Stephen Boyd <swboyd@chromium.org>
>> > > >
>> > > > [ Upstream commit 2e2ee5a2db06c4b81315514b01d06fe5644342e9 ]
>> > > >
>> > > > On some platforms, the TPM power is managed by firmware and therefore we
>> > > > don't need to stop the TPM on suspend when going to a light version of
>> > > > suspend such as S0ix ("freeze" suspend state). Add a chip flag,
>> > > > TPM_CHIP_FLAG_FIRMWARE_POWER_MANAGED, to indicate this so that certain
>> > > > platforms can probe for the usage of this light suspend and avoid
>> > > > touching the TPM state across suspend/resume.
>> > > >
>> > >
>> > > Are the patches needed to support CR50 (which need this patch) going
>> > > to be applied to v5.4.y as well ? If not, what is the purpose of
>> > > applying this patch to v5.4.y ?
>> > >
>> > > Thanks,
>> > > Guenter
>> >
>> > Thanks Guenter. I think not.
>> >
>> Thought so. In that case this patch should be dropped.
>>
>> Guenter
>
>I fully agree with you.
I've dropped it, thanks!
--
Thanks,
Sasha
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2019-12-19 22:26 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <20191210210735.9077-1-sashal@kernel.org>
2019-12-10 21:06 ` [PATCH AUTOSEL 5.4 277/350] tpm: Add a flag to indicate TPM power is managed by firmware Sasha Levin
2019-12-10 21:32 ` Guenter Roeck
2019-12-11 17:57 ` Jarkko Sakkinen
2019-12-11 18:05 ` Guenter Roeck
2019-12-13 0:17 ` Jarkko Sakkinen
2019-12-19 22:26 ` Sasha Levin
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).