On 02/22/2011 08:49 PM, Stefan Berger wrote:Ok. That's what most TPM seem to do now -- they run in polling mode.Below patch applies to the tip of the git tree.No, this is empty output.
This patch makes sure that if the TPM TIS interface is run in interrupt
mode (rather than polling mode) that the interrupts are enabled in the
TPM's interrupt enable register which may either have been cleared by
the TPM's TIS loosing its state during device sleep in ACPI S3 (suspend)
or by the BIOS, which upon resume sends a TPM_Startup() command to the
TPM, and may run the TPM in polling mode and leave the TIS interrupts
disabled once it transfers control to the OS again.
Problem is, I don't currently have a machine running the TPM in
interrupt mode. I found this through a self-built TPM device model for
Qemu and SeaBIOS patches, where this does resolve a problem upon resume.
You may want to check if your TPM runs with interrupts by doing
cat /proc/interrupts | grep -i tpm