The current state of the TIS TPM is that interrupts have been globally disabled by various changes. The problems we got reported the last time they were enabled was interrupt storms. With my own TIS TPM, I've found that this is caused because my TPM doesn't do legacy cycles, The TIS spec (chapter 6.1 "Locality Usage Per Register") requires any TIS TPM without legacy cycles not to act on any write to an interrupt register unless the locality is enabled. This means if an interrupt fires after we relinquish the locality, the TPM_EOI in the interrupt routine is ineffective meaning the same interrupt triggers over and over again. This problem also means we can have trouble setting up interrupts on TIS TPMs because the current init code does the setup before the locality is claimed for the first time. James --- James Bottomley (5): tpm_tis: Fix check_locality for correct locality acquisition tpm_tis: Clean up locality release tpm_tis: Fix interrupts for TIS TPMs without legacy cycles tpm_tis: fix IRQ probing Revert "tpm: Revert "tpm_tis_core: Turn on the TPM before probing IRQ's"" drivers/char/tpm/tpm_tis_core.c | 185 ++++++++++++++++++++------------ 1 file changed, 117 insertions(+), 68 deletions(-) -- 2.28.0