summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMary Ruthven <mruthven@chromium.org>2020-12-10 05:59:56 +1100
committerCommit Bot <commit-bot@chromium.org>2021-02-25 16:58:19 +0000
commitcb02b4d81ebea2d4a46a173623dd388fbdb05f06 (patch)
treea93b06eb2cbf8537cdee42b59ad3a9aefff95aaa
parent034f610c05f8745125e31fc057ea220f33309dd9 (diff)
downloadchrome-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.c21
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;