Devices that support locality has failed to transmit due to
reserved order of locality request and cmdReady/goIdle handshake.
The cmdReady/goIdle should be performed on the requested locality.
The first patch corrects the locality and power-save order,
adds required polling for completion of goIdle and locality relinquish.
The second patch removes cmdRead/goIdle handshake from runtime_pm as it's
rather a part of TPM2 protocol then true device power management,
and on device it's no longer optional.
Tomas Winkler (2):
tpm: cmd_ready command can be issued only after granting locality
tpm: separate cmd_ready/go_idle from runtime_pm
drivers/char/tpm/tpm-interface.c | 28 +++++--
drivers/char/tpm/tpm_crb.c | 157 +++++++++++++++++++++++----------------
drivers/char/tpm/tpm_tis_core.c | 4 +-
include/linux/tpm.h | 4 +-
4 files changed, 122 insertions(+), 71 deletions(-)