diff options
author | Stefan Berger <stefanb@linux.vnet.ibm.com> | 2011-03-30 12:13:25 -0400 |
---|---|---|
committer | Rajiv Andrade <srajiv@linux.vnet.ibm.com> | 2011-07-12 17:53:07 -0400 |
commit | 04ab2293bbd36fc04060da93058cef7789414585 (patch) | |
tree | 051266e417a83140a7d2c80486f98e3c219d7eba /drivers/char/tpm/tpm.c | |
parent | e934acca1ee993e1d99d7dc203569a6e5cdfb392 (diff) |
tpm_tis: Introduce durations sysfs entry
Display the TPM's command timeouts in a 'durations' sysfs entry. Display
the entries as having been adjusted when they were scaled due to their values
being reported in milliseconds rather than microseconds.
Signed-off-by: Stefan Berger <stefanb@linux.vnet.ibm.com>
Tested-by: Guillaume Chazarain <guichaz@gmail.com>
Signed-off-by: Rajiv Andrade <srajiv@linux.vnet.ibm.com>
Diffstat (limited to 'drivers/char/tpm/tpm.c')
-rw-r--r-- | drivers/char/tpm/tpm.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/drivers/char/tpm/tpm.c b/drivers/char/tpm/tpm.c index 277cf22609ca..27abfd93714d 100644 --- a/drivers/char/tpm/tpm.c +++ b/drivers/char/tpm/tpm.c | |||
@@ -597,6 +597,7 @@ duration: | |||
597 | chip->vendor.duration[TPM_SHORT] = HZ; | 597 | chip->vendor.duration[TPM_SHORT] = HZ; |
598 | chip->vendor.duration[TPM_MEDIUM] *= 1000; | 598 | chip->vendor.duration[TPM_MEDIUM] *= 1000; |
599 | chip->vendor.duration[TPM_LONG] *= 1000; | 599 | chip->vendor.duration[TPM_LONG] *= 1000; |
600 | chip->vendor.duration_adjusted = true; | ||
600 | dev_info(chip->dev, "Adjusting TPM timeout parameters."); | 601 | dev_info(chip->dev, "Adjusting TPM timeout parameters."); |
601 | } | 602 | } |
602 | } | 603 | } |
@@ -944,6 +945,20 @@ ssize_t tpm_show_caps_1_2(struct device * dev, | |||
944 | } | 945 | } |
945 | EXPORT_SYMBOL_GPL(tpm_show_caps_1_2); | 946 | EXPORT_SYMBOL_GPL(tpm_show_caps_1_2); |
946 | 947 | ||
948 | ssize_t tpm_show_durations(struct device *dev, struct device_attribute *attr, | ||
949 | char *buf) | ||
950 | { | ||
951 | struct tpm_chip *chip = dev_get_drvdata(dev); | ||
952 | |||
953 | return sprintf(buf, "%d %d %d [%s]\n", | ||
954 | jiffies_to_usecs(chip->vendor.duration[TPM_SHORT]), | ||
955 | jiffies_to_usecs(chip->vendor.duration[TPM_MEDIUM]), | ||
956 | jiffies_to_usecs(chip->vendor.duration[TPM_LONG]), | ||
957 | chip->vendor.duration_adjusted | ||
958 | ? "adjusted" : "original"); | ||
959 | } | ||
960 | EXPORT_SYMBOL_GPL(tpm_show_durations); | ||
961 | |||
947 | ssize_t tpm_store_cancel(struct device *dev, struct device_attribute *attr, | 962 | ssize_t tpm_store_cancel(struct device *dev, struct device_attribute *attr, |
948 | const char *buf, size_t count) | 963 | const char *buf, size_t count) |
949 | { | 964 | { |