From: Jarkko Sakkinen <jarkko@kernel.org>
To: James Bottomley <James.Bottomley@hansenpartnership.com>
Cc: Jerry Snitselaar <jsnitsel@redhat.com>,
linux-integrity@vger.kernel.org, Jason Gunthorpe <jgg@ziepe.ca>,
Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>,
Peter Huewe <peterhuewe@gmx.de>
Subject: Re: [PATCH v2 4/5] tpm_tis: fix IRQ probing
Date: Sat, 7 Nov 2020 00:07:33 +0200 [thread overview]
Message-ID: <20201106220733.GC55146@kernel.org> (raw)
In-Reply-To: <7e5806c2b12a75f51643599dd388a2b587839ecb.camel@HansenPartnership.com>
On Fri, Nov 06, 2020 at 08:21:44AM -0800, James Bottomley wrote:
> On Fri, 2020-11-06 at 17:32 +0200, Jarkko Sakkinen wrote:
> > On Fri, Oct 30, 2020 at 02:43:35PM +0200, Jarkko Sakkinen wrote:
> > > On Sat, Oct 24, 2020 at 03:17:18PM +0300, Jarkko Sakkinen wrote:
> > > > On Mon, Oct 19, 2020 at 04:41:35PM -0700, Jerry Snitselaar wrote:
> > > > > James Bottomley @ 2020-10-01 11:09 MST:
> > > > >
> > > > > > There are two problems with our current interrupt probing:
> > > > > > firstly the TPM_CHIP_FLAG_IRQ never gets set initially, so a
> > > > > > check for interrupts is never done. Fix this by setting the
> > > > > > flag before we generate and interrupt for probing. Secondly
> > > > > > our IRQ setup may be ineffective on a TPM without legacy
> > > > > > access cycles becuase according to the TPM Interface
> > > > > > Specification the interrupt registers are only
> > > > > > writeable in the current locality, so issue a
> > > > > > request_locality before setting up the interrupts.
> > > > > >
> > > > > > Signed-off-by: James Bottomley <
> > > > > > James.Bottomley@HansenPartnership.com>
> > > > > >
> > > > > > ---
> > > > > >
> > > > > > v2: improved description
> > > > > > ---
> > > > > > drivers/char/tpm/tpm_tis_core.c | 14 ++++++++++++++
> > > > > > 1 file changed, 14 insertions(+)
> > > > > >
> > > > > > diff --git a/drivers/char/tpm/tpm_tis_core.c
> > > > > > b/drivers/char/tpm/tpm_tis_core.c
> > > > > > index 0c07da8cd680..12b657ed3a39 100644
> > > > > > --- a/drivers/char/tpm/tpm_tis_core.c
> > > > > > +++ b/drivers/char/tpm/tpm_tis_core.c
> > > > > > @@ -809,6 +809,19 @@ static int
> > > > > > tpm_tis_probe_irq_single(struct tpm_chip *chip,
> > > > > > }
> > > > > > priv->irq = irq;
> > > > > >
> > > > > > + /*
> > > > > > + * note writes to the interrupt registers are only
> > > > > > effective
> > > > > > + * when the TPM is in the active locality, so we have
> > > > > > to
> > > > > > + * request the locality here to get the interrupt set
> > > > > > up.
> > > > > > + * This request has no corresponding release, because
> > > > > > the
> > > > > > + * locality will be relinquished at the end of the tpm
> > > > > > command
> > > > > > + * that probes the interrupts
> > > > > > + */
> > > > > > + if (request_locality(chip, 0) != 0) {
> > > > > > + dev_err(&chip->dev, "failed to gain locality
> > > > > > for irq probe\n");
> > > > > > + return -EBUSY;
> > > > > > + }
> > > >
> > > > Appreciate the comment a lot, but s/note/Note/
> > >
> > > I tested this with:
> > >
> > > -
> > > https://ark.intel.com/content/www/us/en/ark/products/84861/intel-nuc-kit-nuc5i5myhe.html
> > > dTPM 1.2
> > > -
> > > https://ark.intel.com/content/www/us/en/ark/products/74483/intel-nuc-kit-dc53427hye.html
> > > dTPM 2.0
> > >
> > > I did not get "TPM interrupt not working, polling instead" to klog.
> > > But I neither see tpm0 in /proc/interrupts. What I'm doing wrong?
> >
> > With dTPM2 NUC, I ended up get this when I just pass 'irq=0' to
> > tpm_tis_core_init():
> >
> > [ 0.584421] tpm_tis MSFT0101:00: 2.0 TPM (device-id 0x1A, rev-id
> > 16)
> > [ 0.680417] genirq: Flags mismatch irq 7. 00000008 (tpm0) vs.
> > 00040088 (INT3432:00)
> > [ 0.680448] tpm tpm0: Unable to request irq: 7 for probe
> > [ 0.704416] genirq: Flags mismatch irq 9. 00000000 (tpm0) vs.
> > 00000080 (acpi)
> > [ 0.704444] tpm tpm0: Unable to request irq: 9 for probe
>
> Well this looks normal: you forced the tis subsystem to probe for an
> IRQ even though ACPI says there isn't one and it didn't find one ... so
> ACPI was actually right (for once).
>
> James
True. I wanted to give quick feedback with the results, did not have
time to analyze at that point. Can you do one more round with remarks
fixed that I mentioned (if I recall right they were only about comments
and commit messages, code itself is in great condition), and you can add
my tested-by to each commit?
I'll put this then to my next rc request so that we get this to 5.10.
/Jarkko
next prev parent reply other threads:[~2020-11-06 22:07 UTC|newest]
Thread overview: 74+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-10-01 18:09 [PATCH v2 0/5] tpm_tis: fix interrupts (again) James Bottomley
2020-10-01 18:09 ` [PATCH v2 1/5] tpm_tis: Fix check_locality for correct locality acquisition James Bottomley
2020-10-05 15:34 ` Jarkko Sakkinen
2020-10-05 19:00 ` James Bottomley
2020-10-05 20:32 ` Jarkko Sakkinen
2020-10-19 23:16 ` Jerry Snitselaar
2020-10-24 12:07 ` Jarkko Sakkinen
2020-10-30 12:13 ` Jarkko Sakkinen
2020-10-01 18:09 ` [PATCH v2 2/5] tpm_tis: Clean up locality release James Bottomley
2020-10-05 17:02 ` Jarkko Sakkinen
2020-10-05 19:05 ` James Bottomley
2020-10-05 20:34 ` Jarkko Sakkinen
2020-10-05 17:03 ` Jarkko Sakkinen
2020-10-19 23:17 ` Jerry Snitselaar
2020-10-24 12:10 ` Jarkko Sakkinen
2020-10-30 12:17 ` Jarkko Sakkinen
2020-10-30 15:47 ` James Bottomley
2020-10-30 21:52 ` Jarkko Sakkinen
2020-10-01 18:09 ` [PATCH v2 3/5] tpm_tis: Fix interrupts for TIS TPMs without legacy cycles James Bottomley
2020-10-05 17:05 ` Jarkko Sakkinen
2020-10-20 0:14 ` Jerry Snitselaar
2020-10-24 12:15 ` Jarkko Sakkinen
2020-10-30 12:18 ` Jarkko Sakkinen
2020-10-30 16:06 ` Jerry Snitselaar
2020-11-03 4:16 ` Jarkko Sakkinen
2020-12-01 18:12 ` Jerry Snitselaar
2020-12-01 19:49 ` Jerry Snitselaar
2020-12-01 21:06 ` James Bottomley
2020-12-01 21:47 ` Jerry Snitselaar
2020-10-01 18:09 ` [PATCH v2 4/5] tpm_tis: fix IRQ probing James Bottomley
2020-10-05 17:05 ` Jarkko Sakkinen
2020-10-19 23:41 ` Jerry Snitselaar
2020-10-24 12:17 ` Jarkko Sakkinen
2020-10-30 12:43 ` Jarkko Sakkinen
2020-10-30 15:49 ` James Bottomley
2020-10-30 16:11 ` Jerry Snitselaar
2020-11-03 4:43 ` Jarkko Sakkinen
2020-11-03 23:00 ` Jerry Snitselaar
2020-11-04 0:31 ` Jarkko Sakkinen
2020-11-03 4:17 ` Jarkko Sakkinen
2020-11-06 15:32 ` Jarkko Sakkinen
2020-11-06 16:21 ` James Bottomley
2020-11-06 22:07 ` Jarkko Sakkinen [this message]
2020-10-01 18:09 ` [PATCH v2 5/5] Revert "tpm: Revert "tpm_tis_core: Turn on the TPM before probing IRQ's"" James Bottomley
2020-10-19 20:23 ` Jerry Snitselaar
2020-10-19 22:54 ` James Bottomley
2020-10-19 23:40 ` Jerry Snitselaar
2020-10-12 5:39 ` [PATCH v2 0/5] tpm_tis: fix interrupts (again) Jerry Snitselaar
2020-10-13 1:23 ` Jarkko Sakkinen
2020-10-18 5:34 ` Jarkko Sakkinen
2020-10-13 1:17 ` Jarkko Sakkinen
2020-10-13 15:15 ` Jerry Snitselaar
2020-10-13 15:24 ` James Bottomley
2020-10-13 16:05 ` Jerry Snitselaar
2020-10-14 15:03 ` Hans de Goede
2020-10-14 15:23 ` James Bottomley
2020-10-14 16:04 ` Hans de Goede
2020-10-14 16:34 ` Jerry Snitselaar
2020-10-14 16:46 ` Hans de Goede
2020-10-14 17:01 ` Jerry Snitselaar
2020-10-14 17:04 ` Jerry Snitselaar
2020-10-14 20:58 ` Jerry Snitselaar
2020-10-15 7:38 ` Hans de Goede
2020-10-18 21:09 ` Jarkko Sakkinen
2020-10-15 15:36 ` James Bottomley
2020-10-15 18:48 ` Jerry Snitselaar
2020-10-15 18:57 ` James Bottomley
2020-10-15 19:16 ` Jerry Snitselaar
2020-10-14 16:49 ` James Bottomley
2020-10-18 21:05 ` Jarkko Sakkinen
2020-10-20 23:10 ` Jerry Snitselaar
2020-10-24 12:20 ` Jarkko Sakkinen
2020-10-26 18:29 ` Jerry Snitselaar
2020-10-27 17:14 ` 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=20201106220733.GC55146@kernel.org \
--to=jarkko@kernel.org \
--cc=James.Bottomley@hansenpartnership.com \
--cc=jarkko.sakkinen@linux.intel.com \
--cc=jgg@ziepe.ca \
--cc=jsnitsel@redhat.com \
--cc=linux-integrity@vger.kernel.org \
--cc=peterhuewe@gmx.de \
/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.