Re: [PATCH] tpm_tis: reserve chip for duration of tpm_tis_core_init

From: Jerry Snitselaar
Date: Wed Dec 11 2019 - 18:49:51 EST


On Wed Dec 11 19, Dan Williams wrote:
On Wed, Dec 11, 2019 at 3:27 PM Jerry Snitselaar <jsnitsel@xxxxxxxxxx> wrote:

On Wed Dec 11 19, Jerry Snitselaar wrote:
>Instead of repeatedly calling tpm_chip_start/tpm_chip_stop when
>issuing commands to the tpm during initialization, just reserve the
>chip after wait_startup, and release it when we are ready to call
>tpm_chip_register.
>
>Cc: Christian Bundy <christianbundy@xxxxxxxxxxx>
>Cc: Dan Williams <dan.j.williams@xxxxxxxxx>
>Cc: Peter Huewe <peterhuewe@xxxxxx>
>Cc: Jarkko Sakkinen <jarkko.sakkinen@xxxxxxxxxxxxxxx>
>Cc: Jason Gunthorpe <jgg@xxxxxxxx>
>Cc: Stefan Berger <stefanb@xxxxxxxxxxxxxxxxxx>
>Cc: stable@xxxxxxxxxxxxxxx
>Cc: linux-intergrity@xxxxxxxxxxxxxxx

Typo on the list address, do you want me to resend Jarkko?

>Fixes: a3fbfae82b4c ("tpm: take TPM chip power gating out of tpm_transmit()")
>Signed-off-by: Jerry Snitselaar <jsnitsel@xxxxxxxxxx>
>---

I did some initial testing with both a 1.2 device and a 2.0 device here.
Christian, can you verify that this still solves your timeouts problem
you were seeing? Dan, can you try this on the internal system with
the interrupt issues? I will see if I can get the t490s owner to run
it as well.

Will do. I assume you'd also want to add 'Fixes: 5b359c7c4372
("tpm_tis_core: Turn on the TPM before probing IRQ's")' if it works?


Yes. I'm not certain this deals with the interrupt issue though, so
didn't want to stick it on there yet. I guess it should go on there
anyways since it is replacing that code. I'll post a v2.