spi/tpm: Clear pending irqs during tpm2_init

Seeing some instances were cr50 spi driver is starting a new
transaction without getting a ready interrupt from cr50, which means
that there are pending interrupts.  Clearing these to be sure there
are not any stale irqs for the next transaction.

BUG=b:69567837
BRANCH=None
TEST=run FAFT and see if any 0x2b recovery boots occur

Change-Id: Ie099da9f2b3c4da417648ae10a5ba356b7a093ff
Signed-off-by: Shelley Chen <shchen@chromium.org>
Reviewed-on: https://review.coreboot.org/22909
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-by: Furquan Shaikh <furquan@google.com>
This commit is contained in:
Shelley Chen 2017-12-15 15:25:08 -08:00 committed by Shelley Chen
parent decd062875
commit f2e7b37c52
1 changed files with 3 additions and 0 deletions

View File

@ -429,6 +429,9 @@ int tpm2_init(struct spi_slave *spi_if)
memcpy(spi_slave, spi_if, sizeof(*spi_if)); memcpy(spi_slave, spi_if, sizeof(*spi_if));
/* clear any pending irqs */
tis_plat_irq_status();
/* /*
* 150 ms should be enough to synchronize with the TPM even under the * 150 ms should be enough to synchronize with the TPM even under the
* worst nested reset request conditions. In vast majority of cases * worst nested reset request conditions. In vast majority of cases