diff options
author | Jason Gunthorpe <jgunthorpe@obsidianresearch.com> | 2014-05-21 18:26:44 -0600 |
---|---|---|
committer | Peter Huewe <peterhuewe@gmx.de> | 2014-07-29 23:10:56 +0200 |
commit | 8e54caf407b98efa05409e1fee0e5381abd2b088 (patch) | |
tree | 690ed020c643ca869e5fc27686d518cb3a9f5f1e /include/linux/tpm.h | |
parent | 3e14d83ef94a5806a865b85b513b4e891923c19b (diff) | |
download | op-kernel-dev-8e54caf407b98efa05409e1fee0e5381abd2b088.zip op-kernel-dev-8e54caf407b98efa05409e1fee0e5381abd2b088.tar.gz |
tpm: Provide a generic means to override the chip returned timeouts
Some Atmel TPMs provide completely wrong timeouts from their
TPM_CAP_PROP_TIS_TIMEOUT query. This patch detects that and returns
new correct values via a DID/VID table in the TIS driver.
Tested on ARM using an AT97SC3204T FW version 37.16
Cc: <stable@vger.kernel.org>
[PHuewe: without this fix these 'broken' Atmel TPMs won't function on
older kernels]
Signed-off-by: "Berg, Christopher" <Christopher.Berg@atmel.com>
Signed-off-by: Jason Gunthorpe <jgunthorpe@obsidianresearch.com>
Signed-off-by: Peter Huewe <peterhuewe@gmx.de>
Diffstat (limited to 'include/linux/tpm.h')
-rw-r--r-- | include/linux/tpm.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/include/linux/tpm.h b/include/linux/tpm.h index fff1d09..8350c53 100644 --- a/include/linux/tpm.h +++ b/include/linux/tpm.h @@ -39,6 +39,9 @@ struct tpm_class_ops { int (*send) (struct tpm_chip *chip, u8 *buf, size_t len); void (*cancel) (struct tpm_chip *chip); u8 (*status) (struct tpm_chip *chip); + bool (*update_timeouts)(struct tpm_chip *chip, + unsigned long *timeout_cap); + }; #if defined(CONFIG_TCG_TPM) || defined(CONFIG_TCG_TPM_MODULE) |