1. 28 7月, 2018 1 次提交
  2. 18 5月, 2018 1 次提交
    • N
      tpm: reduce polling time to usecs for even finer granularity · 424eaf91
      Nayna Jain 提交于
      The TPM burstcount and status commands are supposed to return very
      quickly [2][3]. This patch further reduces the TPM poll sleep time to usecs
      in get_burstcount() and wait_for_tpm_stat() by calling usleep_range()
      directly.
      
      After this change, performance on a system[1] with a TPM 1.2 with an 8 byte
      burstcount for 1000 extends improved from ~10.7 sec to ~7 sec.
      
      [1] All tests are performed on an x86 based, locked down, single purpose
      closed system. It has Infineon TPM 1.2 using LPC Bus.
      
      [2] From the TCG Specification "TCG PC Client Specific TPM Interface
      Specification (TIS), Family 1.2":
      
      "NOTE : It takes roughly 330 ns per byte transfer on LPC. 256 bytes would
      take 84 us, which is a long time to stall the CPU. Chipsets may not be
      designed to post this much data to LPC; therefore, the CPU itself is
      stalled for much of this time. Sending 1 kB would take 350 μs. Therefore,
      even if the TPM_STS_x.burstCount field is a high value, software SHOULD
      be interruptible during this period."
      
      [3] From the TCG Specification 2.0, "TCG PC Client Platform TPM Profile
      (PTP) Specification":
      
      "It takes roughly 330 ns per byte transfer on LPC. 256 bytes would take
      84 us. Chipsets may not be designed to post this much data to LPC;
      therefore, the CPU itself is stalled for much of this time. Sending 1 kB
      would take 350 us. Therefore, even if the TPM_STS_x.burstCount field is a
      high value, software should be interruptible during this period. For SPI,
      assuming 20MHz clock and 64-byte transfers, it would take about 120 usec
      to move 256B of data. Sending 1kB would take about 500 usec. If the
      transactions are done using 4 bytes at a time, then it would take about
      1 msec. to transfer 1kB of data."
      Signed-off-by: NNayna Jain <nayna@linux.vnet.ibm.com>
      Reviewed-by: NMimi Zohar <zohar@linux.vnet.ibm.com>
      Reviewed-by: NJarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
      Acked-by: NJay Freyensee <why2jjj.linux@gmail.com>
      Tested-by: NJarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
      Signed-off-by: NJarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
      424eaf91
  3. 14 5月, 2018 2 次提交
  4. 23 3月, 2018 1 次提交
  5. 27 2月, 2018 1 次提交
  6. 08 1月, 2018 6 次提交
  7. 17 12月, 2017 1 次提交
  8. 18 10月, 2017 2 次提交
  9. 24 9月, 2017 1 次提交
  10. 25 4月, 2017 1 次提交
    • J
      tpm_tis: convert to using locality callbacks · e6aef069
      Jerry Snitselaar 提交于
      This patch converts tpm_tis to use of the new tpm class ops
      request_locality, and relinquish_locality.
      
      With the move to using the callbacks, release_locality is changed so
      that we now release the locality even if there is no request pending.
      
      This required some changes to the tpm_tis_core_init code path to
      make sure locality is requested when needed:
      
        - tpm2_probe code path will end up calling request/release through
          callbacks, so request_locality prior to tpm2_probe not needed.
      
        - probe_itpm makes calls to tpm_tis_send_data which no longer calls
          request_locality, so add request_locality prior to tpm_tis_send_data
          calls. Also drop release_locality call in middleof probe_itpm, and
          keep locality until release_locality called at end of probe_itpm.
      
      Cc: Peter Huewe <peterhuewe@gmx.de>
      Cc: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
      Cc: Jason Gunthorpe <jgunthorpe@obsidianresearch.com>
      Cc: Marcel Selhorst <tpmdd@selhorst.net>
      Signed-off-by: NJerry Snitselaar <jsnitsel@redhat.com>
      Reviewed-by: NJarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
      Tested-by: NJarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
      Signed-off-by: NJarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
      e6aef069
  11. 04 4月, 2017 2 次提交
  12. 04 2月, 2017 1 次提交
  13. 24 1月, 2017 2 次提交
  14. 28 11月, 2016 3 次提交
  15. 15 9月, 2016 2 次提交
  16. 19 7月, 2016 3 次提交
  17. 25 6月, 2016 10 次提交