diff options
author | Mary Ruthven <mruthven@chromium.org> | 2020-12-10 05:59:56 +1100 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2021-02-23 21:31:42 +0000 |
commit | 4f0829c1401e31bc56a2948f0c19a5b10168defe (patch) | |
tree | bbffc59a9df49b11eb27ea48f4591ae303ca52ab | |
parent | e0879d9ccddac0c5dc7589b711ab7575326f231f (diff) | |
download | chrome-ec-4f0829c1401e31bc56a2948f0c19a5b10168defe.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>
(cherry picked from commit b9c633d0713a9e7c3123ac419354dc8ee65e8904)
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2669408
(cherry picked from commit 5f8acff42acda69b6c2567ff3df7851e6ab2d0a2)
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2713837
-rw-r--r-- | common/tpm_registers.c | 21 |
1 files changed, 18 insertions, 3 deletions
diff --git a/common/tpm_registers.c b/common/tpm_registers.c index 841c1f59fe..3d9dff21a3 100644 --- a/common/tpm_registers.c +++ b/common/tpm_registers.c @@ -503,8 +503,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); @@ -519,7 +524,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: @@ -553,7 +569,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; |