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-23 21:31:42 +0000
commit4f0829c1401e31bc56a2948f0c19a5b10168defe (patch)
treebbffc59a9df49b11eb27ea48f4591ae303ca52ab
parente0879d9ccddac0c5dc7589b711ab7575326f231f (diff)
downloadchrome-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.c21
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;