Re: [PATCH v2 0/3] Runtime PM for TPM2 CRB chips

From: Jarkko Sakkinen
Date: Sun Jun 19 2016 - 13:16:02 EST


On Sat, Jun 18, 2016 at 05:10:25PM +0200, Jarkko Sakkinen wrote:
> These patches implement support for runtime PM with TPM2 CRB chips such
> as PTT in Skylake.
>
> This is very naive implementation since the TPM is resumed and supended
> for every transaction thus causing total 40 ms latency for each
> transaction but for the existing use cases this shouldn't be an issue.
>
> Jarkko Sakkinen (3):
> tpm_crb: fix crb_req_canceled behavior
> tpm, tpm_crb: remove wmb()'s
> tpm, tpm_crb: runtime power management
>
> drivers/char/tpm/tpm-interface.c | 3 ++
> drivers/char/tpm/tpm_crb.c | 60 +++++++++++++++++++++++++++++++++++-----
> 2 files changed, 56 insertions(+), 7 deletions(-)

Reviewing myself:

* I fsckd the description. The latency is whopping 400 ms, not 4 ms.
Sorry about that. Thus it's better to use autosuspend.
* Callbacks should take tpm_mutex before doing anything.

I guess that tpm_tis could later on also take advantage of this work?

/Jarkko