tmp/tpm_crb: fix Intel PTT hw bug during idle state
authorWinkler, Tomas <tomas.winkler@intel.com>
Mon, 12 Sep 2016 13:04:19 +0000 (16:04 +0300)
committerJarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
Fri, 16 Sep 2016 12:47:45 +0000 (15:47 +0300)
commit9514ff1961c6f0f5983ba72d94f384bc13e0d4a1
tree804e90f2e3481877dec47c4b483330679751d804
parente17acbbb69d30836a8c12e2c09bbefab8656693e
tmp/tpm_crb: fix Intel PTT hw bug during idle state

There is a HW bug in Skylake, and Broxton PCH Intel PTT device, where
most of the registers in the control area except START, REQUEST, CANCEL,
and LOC_CTRL lost retention when the device is in the idle state. Hence
we need to bring the device to ready state before accessing the other
registers. The fix brings device to ready state before trying to read
command and response buffer addresses in order to remap the for access.

Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Tested-by: Jarkko Sakkinen <jarkko.sakkinn@linux.intel.com>
Reviewed-by: Jarkko Sakkinen <jarkko.sakkinn@linux.intel.com>
drivers/char/tpm/tpm_crb.c