From: Jarkko Sakkinen <jarkko@kernel.org>
To: Siddharth Chintamaneni <sidchintamaneni@gmail.com>
Cc: Peter Huewe <peterhuewe@gmx.de>, Jason Gunthorpe <jgg@ziepe.ca>,
Sudeep Holla <sudeep.holla@kernel.org>,
Yeoreum Yun <yeoreum.yun@arm.com>,
Stuart Yoder <stuart.yoder@arm.com>,
apais@microsoft.com, rlmenge@gmail.com,
hargar@linux.microsoft.com, linux-integrity@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH v2 1/4] tpm: Cache TPM2 start method
Date: Sat, 14 Nov 2026 22:54:38 +0200 [thread overview]
Message-ID: <avjKjhmtPChVMaF2@kernel.org> (raw)
In-Reply-To: <20261114193434.117714-2-sidchintamaneni@gmail.com>
On Sat, Nov 14, 2026 at 07:34:31PM +0000, Siddharth Chintamaneni wrote:
> From: Jarkko Sakkinen <jarkko@kernel.org>
>
> Both tpm_tis and tpm_crb retrieve the start method from the ACPI TPM2
> table during device probe, and tpm_crb_ffa also needs it before chip
> allocation.
>
> Cache the start method in tpm2_acpi_start_method during tpm_init() and
> export it for the leaf drivers, defaulting to ACPI_TPM2_NOT_ALLOWED when
> the table is absent or invalid.
>
> Signed-off-by: Jarkko Sakkinen <jarkko@kernel.org>
> Co-developed-by: Siddharth Chintamaneni <sidchintamaneni@gmail.com>
> Signed-off-by: Siddharth Chintamaneni <sidchintamaneni@gmail.com>
> ---
> drivers/char/tpm/tpm-interface.c | 21 +++++++++++++++++++++
> drivers/char/tpm/tpm.h | 1 +
> 2 files changed, 22 insertions(+)
>
> diff --git a/drivers/char/tpm/tpm-interface.c b/drivers/char/tpm/tpm-interface.c
> index e0385b16616b..7b7da79bee7c 100644
> --- a/drivers/char/tpm/tpm-interface.c
> +++ b/drivers/char/tpm/tpm-interface.c
> @@ -534,8 +534,17 @@ int tpm_get_random(struct tpm_chip *chip, u8 *out, size_t max)
> }
> EXPORT_SYMBOL_GPL(tpm_get_random);
>
> +#ifdef CONFIG_ACPI
> +u32 tpm2_acpi_start_method = ACPI_TPM2_NOT_ALLOWED;
> +EXPORT_SYMBOL_GPL(tpm2_acpi_start_method);
> +#endif
> +
> static int __init tpm_init(void)
> {
> +#ifdef CONFIG_ACPI
> + struct acpi_table_tpm2 *tbl;
> + acpi_status status;
> +#endif
> int rc;
>
> rc = class_register(&tpm_class);
> @@ -562,6 +571,18 @@ static int __init tpm_init(void)
> goto out_unreg_chrdev;
> }
>
> +#ifdef CONFIG_ACPI
> + if (!acpi_disabled) {
> + status = acpi_get_table(ACPI_SIG_TPM2, 1,
> + (struct acpi_table_header **)&tbl);
> + if (ACPI_SUCCESS(status)) {
> + if (tbl->header.length >= sizeof(*tbl))
> + tpm2_acpi_start_method = tbl->start_method;
> + acpi_put_table((struct acpi_table_header *)tbl);
I would add right after acpi_put_table:
pr_info("tpm: TPM2 ACPI start method: 0%02x\n", tpm2_acpi_start_method);
It covers all three possible conditions:
1. No TPM2: nothing gets printed.
2. Has TPM2 and start method: start method gets printed.
3. Has TPM2 but no start emthod: 0x00 gets printed.
I hate fostering klog messages as we have acquired great tracing
capabilities over the years but here I think having this is even
"sysadmin-useful".
Br, Jarkko
next prev parent reply other threads:[~2026-11-14 20:54 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-11-14 19:34 [PATCH v2 0/4] tpm: Cache ACPI TPM2 start method and gate tpm_crb_ffa probe Siddharth Chintamaneni
2026-11-14 19:34 ` [PATCH v2 1/4] tpm: Cache TPM2 start method Siddharth Chintamaneni
2026-11-14 20:54 ` Jarkko Sakkinen [this message]
2026-11-14 21:00 ` Jarkko Sakkinen
2026-11-14 19:34 ` [PATCH v2 2/4] tpm: tpm_crb_ffa: Only probe when ACPI TPM2 uses FF-A Siddharth Chintamaneni
2026-11-14 19:34 ` [PATCH v2 3/4] tpm: tpm_tis: Use cached tpm2_acpi_start_method Siddharth Chintamaneni
2026-11-14 21:14 ` Jarkko Sakkinen
2026-11-14 19:34 ` [PATCH v2 4/4] tpm: tpm_crb: " Siddharth Chintamaneni
2026-11-14 21:11 ` 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=avjKjhmtPChVMaF2@kernel.org \
--to=jarkko@kernel.org \
--cc=apais@microsoft.com \
--cc=hargar@linux.microsoft.com \
--cc=jgg@ziepe.ca \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-integrity@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=peterhuewe@gmx.de \
--cc=rlmenge@gmail.com \
--cc=sidchintamaneni@gmail.com \
--cc=stuart.yoder@arm.com \
--cc=sudeep.holla@kernel.org \
--cc=yeoreum.yun@arm.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.