summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMary Ruthven <mruthven@chromium.org>2020-12-10 05:59:56 +1100
committerCommit Bot <commit-bot@chromium.org>2020-12-10 00:57:06 +0000
commitb9c633d0713a9e7c3123ac419354dc8ee65e8904 (patch)
treeeed6d761763b0bd907c3288544789e2bd58fc544
parenta75a2f19db500bcd1ede45e49db3a422e4ed768f (diff)
downloadchrome-ec-b9c633d0713a9e7c3123ac419354dc8ee65e8904.tar.gz
tpm_registers: suppress TPM_STS messages
When the AP polls TPM_STS, tpm_register_get(0x000018 messages overwhelm the console. This change modifies tpm_register_get to only print the initial TPM_STS information and a message whenever the tpm status changes. BUG=none TEST=chan 0xffffffff ; sysrst pulse Change-Id: I3091ab6341f58bbeade0c2a9ef6aa2113105016c Signed-off-by: Mary Ruthven <mruthven@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2582982 Reviewed-by: Vadim Bendebury <vbendeb@chromium.org>
-rw-r--r--common/tpm_registers.c21
1 files changed, 18 insertions, 3 deletions
diff --git a/common/tpm_registers.c b/common/tpm_registers.c
index 2bea30bb29..c73a38ab1e 100644
--- a/common/tpm_registers.c
+++ b/common/tpm_registers.c
@@ -512,8 +512,13 @@ static void fifo_reg_read(uint8_t *dest, uint32_t data_size)
void tpm_register_get(uint32_t regaddr, uint8_t *dest, uint32_t data_size)
{
int i;
+ static uint32_t last_sts;
+ static uint32_t checked_sts;
- CPRINTF("%s(0x%06x, %d)", __func__, regaddr, data_size);
+ if (regaddr != TPM_STS) {
+ CPRINTF("%s(0x%06x, %d)\n", __func__, regaddr, data_size);
+ checked_sts = 0;
+ }
switch (regaddr) {
case TPM_DID_VID:
copy_bytes(dest, data_size, (GOOGLE_DID << 16) | GOOGLE_VID);
@@ -528,7 +533,18 @@ void tpm_register_get(uint32_t regaddr, uint8_t *dest, uint32_t data_size)
copy_bytes(dest, data_size, tpm_.regs.access);
break;
case TPM_STS:
- CPRINTF(" %x", tpm_.regs.sts);
+ /*
+ * Print TPM_STS information from the first call and whenever
+ * the status changes.
+ */
+ if (!checked_sts || last_sts != tpm_.regs.sts) {
+ CPRINTF("tpm_get_status(%d)(0x%06x, %d) %x\n",
+ checked_sts, regaddr, data_size, tpm_.regs.sts);
+ checked_sts = 1;
+ } else {
+ checked_sts++;
+ }
+ last_sts = tpm_.regs.sts;
copy_bytes(dest, data_size, tpm_.regs.sts);
break;
case TPM_DATA_FIFO:
@@ -562,7 +578,6 @@ void tpm_register_get(uint32_t regaddr, uint8_t *dest, uint32_t data_size)
CPRINTS("%s(0x%06x, %d) => ??", __func__, regaddr, data_size);
return;
}
- CPRINTF("\n");
}
static __preserved interface_control_func if_start;