mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-08-05 16:54:27 +00:00
![]() On a Chromebook I'm working on I noticed a big (~1 second) delay during bootup where nothing was happening. Right around this big delay there were messages about the TPM: [ 2.311352] tpm_tis_spi spi0.0: TPM ready IRQ confirmed on attempt 2 [ 3.332790] tpm_tis_spi spi0.0: Cr50 firmware version: ... I put a few printouts in and saw that tpm_tis_spi_init() (specifically tpm_chip_register() in that function) was taking the lion's share of this time, though ~115 ms of the time was in cr50_print_fw_version(). Let's make a one-line change to prefer async probe for tpm_tis_spi. There's no reason we need to block other drivers from probing while we load. NOTES: * It's possible that other hardware runs through the init sequence faster than Cr50 and this isn't such a big problem for them. However, even if they are faster they are still doing _some_ transfers over a SPI bus so this should benefit everyone even if to a lesser extent. * It's possible that there are extra delays in the code that could be optimized out. I didn't dig since once I enabled async probe they no longer impacted me. Signed-off-by: Douglas Anderson <dianders@chromium.org> Reviewed-by: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com> Signed-off-by: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com> |
||
---|---|---|
.. | ||
eventlog | ||
st33zp24 | ||
Kconfig | ||
Makefile | ||
tpm-chip.c | ||
tpm-dev-common.c | ||
tpm-dev.c | ||
tpm-dev.h | ||
tpm-interface.c | ||
tpm-sysfs.c | ||
tpm.h | ||
tpm1-cmd.c | ||
tpm2-cmd.c | ||
tpm2-space.c | ||
tpm_atmel.c | ||
tpm_atmel.h | ||
tpm_crb.c | ||
tpm_ftpm_tee.c | ||
tpm_ftpm_tee.h | ||
tpm_i2c_atmel.c | ||
tpm_i2c_infineon.c | ||
tpm_i2c_nuvoton.c | ||
tpm_ibmvtpm.c | ||
tpm_ibmvtpm.h | ||
tpm_infineon.c | ||
tpm_nsc.c | ||
tpm_ppi.c | ||
tpm_tis.c | ||
tpm_tis_core.c | ||
tpm_tis_core.h | ||
tpm_tis_spi.h | ||
tpm_tis_spi_cr50.c | ||
tpm_tis_spi_main.c | ||
tpm_vtpm_proxy.c | ||
tpmrm-dev.c | ||
xen-tpmfront.c |