All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Jarkko Sakkinen" <jarkko@kernel.org>
To: "Vitor Soares" <ivitro@gmail.com>,
	<linux-integrity@vger.kernel.org>, <linux-kernel@vger.kernel.org>
Cc: <jgg@ziepe.ca>, <peterhuewe@gmx.de>, <vitor.soares@toradex.com>
Subject: Re: tpm_tis_spi takes minutes to probe
Date: Fri, 17 May 2024 18:42:04 +0300	[thread overview]
Message-ID: <D1C18M92CMJ1.GNLD51L95OHV@kernel.org> (raw)
In-Reply-To: <bf67346ef623ff3c452c4f968b7d900911e250c3.camel@gmail.com>

On Fri May 17, 2024 at 5:53 PM EEST, Vitor Soares wrote:
> Greetings,
>
> I'm using the tpm_tis_spi.ko module and it is taking several minutes to probe on
> kernel:
>  - commit ea5f6ad9ad96 ("Merge tag 'platform-drivers-x86-v6.10-1' of
> git://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86")
>
> root@verdin-imx8mm-07317726:~# time modprobe tpm_tis_spi 
> [   57.534597] SPI driver tpm_tis_spi has no spi_device_id for atmel,attpm20p

This was added in 6.9:

$ git --no-pager log -1 3c45308c44eda
commit 3c45308c44eda6cc3343a48341a82b96753c8a13
Author: Lukas Wunner <lukas@wunner.de>
Date:   Sat Jan 13 18:10:52 2024 +0100

    tpm_tis_spi: Add compatible string atmel,attpm20p
    
    Commit 4f2a348aa365 ("arm64: dts: imx8mm-venice-gw73xx: add TPM device")
    added a devicetree node for the Trusted Platform Module on certain
    Gateworks boards.
    
    The commit only used the generic "tcg,tpm_tis-spi" compatible string,
    but public documentation shows that the chip is an ATTPM20P from Atmel
    (nowadays Microchip):
    https://trac.gateworks.com/wiki/tpm
    
    Add the chip to the supported compatible strings of the TPM TIS SPI
    driver.
    
    For reference, a datasheet is available at:
    https://ww1.microchip.com/downloads/en/DeviceDoc/ATTPM20P-Trusted-Platform-Module-TPM-2.0-SPI-Interface-Summary-Data-Sheet-DS40002082A.pdf
    
    Signed-off-by: Lukas Wunner <lukas@wunner.de>
    Reviewed-by: Jarkko Sakkinen <jarkko.sakkinen@kernel.org>
    Cc: Tim Harvey <tharvey@gateworks.com>
    Signed-off-by: Jarkko Sakkinen <jarkko@kernel.org>

linux-tpmdd on  tpm2_key 
$ git describe --contains 3c45308c44eda
tpmdd-v6.9-rc1~2

> [   57.560684] tpm_tis_spi spi2.1: 2.0 TPM (device-id 0x3205, rev-id 1)
> [   57.584943] tpm tpm0: A TPM error (256) occurred attempting the self test

Course of event is I think:

	rc = tpm2_do_selftest(chip);
	if (rc && rc != TPM2_RC_INITIALIZE)
		goto out;

	/* 1. TPM_RC_INITIALIZE */
	if (rc == TPM2_RC_INITIALIZE) {
		/* 2. Branches here. */
		rc = tpm2_startup(chip);
		if (rc)
			goto out;

		rc = tpm2_do_selftest(chip);
		if (rc)
			goto out;
	}

	/* 4. Second self-test successful. */

It is possible that there is a performance regression given multitude
of HMAC changes. It would likely had to be in tpm2_do_selftest(), since
it is the most time-consuming function.

I checked the timeouts etc. but in the first seek did find anything
obvious.

BR, Jarkko

  reply	other threads:[~2024-05-17 15:42 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-05-17 14:53 tpm_tis_spi takes minutes to probe Vitor Soares
2024-05-17 15:42 ` Jarkko Sakkinen [this message]
2024-05-17 15:57   ` Jarkko Sakkinen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=D1C18M92CMJ1.GNLD51L95OHV@kernel.org \
    --to=jarkko@kernel.org \
    --cc=ivitro@gmail.com \
    --cc=jgg@ziepe.ca \
    --cc=linux-integrity@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=peterhuewe@gmx.de \
    --cc=vitor.soares@toradex.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.