diff options
author | Mary Ruthven <mruthven@chromium.org> | 2020-12-10 05:59:56 +1100 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2021-02-25 16:58:19 +0000 |
commit | cb02b4d81ebea2d4a46a173623dd388fbdb05f06 (patch) | |
tree | a93b06eb2cbf8537cdee42b59ad3a9aefff95aaa | |
parent | 034f610c05f8745125e31fc057ea220f33309dd9 (diff) | |
download | chrome-ec-cb02b4d81ebea2d4a46a173623dd388fbdb05f06.tar.gz |
Reland "tpm_registers: suppress TPM_STS messages"
This is a reland of 4f0829c1401e31bc56a2948f0c19a5b10168defe
Original change's description:
> 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
Bug: none
Change-Id: Ib004bce77c840914e299c89ab66e7808f7ea8219
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2718506
Tested-by: Mary Ruthven <mruthven@chromium.org>
Reviewed-by: Mary Ruthven <mruthven@chromium.org>
Commit-Queue: Mary Ruthven <mruthven@chromium.org>
-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 9b01c7111c..5edb09c5c1 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; |