Platforms supporting direct message request v2 can
support Secure Partitions (SPs) that support multiple services.
If the TPM service is sharing the SP with another service,
it could get an error code of BUSY if the other service is
in process.
We need a way for the driver to retry sending the message
to the TPM service until it succeeds or we know that no forward progress
can be made.
This adds a parameterized variable (default 2000ms)
that indicates the maximum time to keep retrying for.

This is building on top of commit a85b55ee64a5.
A tpm service can be accessed by the driver using direct message 
request v2 interface according to chapter 3.3, TPM 
Service Command Response Buffer Interface Over FF-A 
specificationi v1.0 EAC.
See:
https://developer.arm.com/documentation/den0138/latest/

Changes in v3:
- Comments re-written per kernel coding style.

Prachotan Bathi (1):
  tpm_crb_ffa: handle tpm busy return code

 drivers/char/tpm/tpm_crb_ffa.c | 78 +++++++++++++++++++++++-----------
 1 file changed, 54 insertions(+), 24 deletions(-)

-- 
2.43.0


Reply via email to