All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jason Gunthorpe <jgunthorpe@obsidianresearch.com>
To: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
Cc: "Martin Wilck" <Martin.Wilck@ts.fujitsu.com>,
	tpmdd-devel@lists.sourceforge.net, linux-kernel@vger.kernel.org,
	"Uwe Kleine-König" <u.kleine-koenig@pengutronix.de>
Subject: Re: [tpmdd-devel] [PATCH v2 0/3] tpm_tis: Clean up force module parameter
Date: Wed, 2 Dec 2015 12:11:55 -0700	[thread overview]
Message-ID: <20151202191155.GA2832@obsidianresearch.com> (raw)
In-Reply-To: <20151202182726.GB30972@obsidianresearch.com>

On Wed, Dec 02, 2015 at 11:27:27AM -0700, Jason Gunthorpe wrote:

> I'm guessing that if the driver probe order is tpm_crb,tpm_tis then
> things work because tpm_crb will claim the device first? Otherwise
> tpm_tis claims these things unconditionally? If the probe order is
> reversed things become broken?

Okay, I didn't find the is_fifo before, so that make sense

But this:

> What is the address tpm_tis should be using? I see two things, it
> either uses the x86 default address or it expects the ACPI to have a
> MEM resource. AFAIK ACPI should never rely on hard wired addresses, so
> I removed that code in this series. Perhaps tpm_tis should be using
> control_area_pa ? Will ACPI ever present a struct resource? (if yes,
> why isn't tpm_crb using one?)

Is then still a problem. On Martin's system the MSFT0101 device does
not have a struct resource attached to it. Does any system, or is this
just dead code?

Should the control_area_pa be used?

Martin: could you try this (along with the other hunk to prevent the
oops):

diff --git a/drivers/char/tpm/tpm_tis.c b/drivers/char/tpm/tpm_tis.c
index 8a3509cb10da..6824a00ba513 100644
--- a/drivers/char/tpm/tpm_tis.c
+++ b/drivers/char/tpm/tpm_tis.c
@@ -138,6 +138,8 @@ static inline int is_fifo(struct acpi_device *dev)
 	if (le32_to_cpu(tbl->start_method) != TPM2_START_FIFO)
 		return 0;
 
+	dev_err(&dev->dev, "control area pa is %x\n", tbl->control_area_pa);
+
 	/* TPM 2.0 FIFO */
 	return 1;
 }

Hoping to see it print 0xFED40000

> There is also something wrong with the endianness in the acpi
> stuff. I don't see endianness conversions in other acpi places, so I
> wonder if the ones in tpm_crb are correct. If they are correct then
> the struct needs le/be notations and there are some missing
> conversions.

I've made a patch to take care of this and move every thing to the
include/acpi/actbl2.h definitions, which is why I didn't notice
is_fifo in the first place...

Jason

  reply	other threads:[~2015-12-02 19:12 UTC|newest]

Thread overview: 47+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-12-01 18:58 [PATCH v2 0/3] tpm_tis: Clean up force module parameter Jason Gunthorpe
2015-12-01 18:58 ` [PATCH v2 1/3] tpm_tis: Disable interrupt auto probing on a per-device basis Jason Gunthorpe
2015-12-01 19:19   ` Uwe Kleine-König
2015-12-01 19:36     ` Jason Gunthorpe
2015-12-01 18:58 ` [PATCH v2 2/3] tpm_tis: Use devm_ioremap_resource Jason Gunthorpe
2015-12-01 19:22   ` Uwe Kleine-König
2015-12-01 19:44     ` Jason Gunthorpe
2015-12-01 19:52       ` Uwe Kleine-König
2015-12-01 20:46         ` Jason Gunthorpe
2015-12-01 18:58 ` [PATCH v2 3/3] tpm_tis: Clean up the force=1 module parameter Jason Gunthorpe
2015-12-01 19:33   ` Uwe Kleine-König
2015-12-01 19:51     ` Jason Gunthorpe
2015-12-01 21:14 ` [PATCH v2 0/3] tpm_tis: Clean up force " Jarkko Sakkinen
2015-12-01 21:33 ` Jarkko Sakkinen
2015-12-01 22:22   ` Jason Gunthorpe
2015-12-02  1:15     ` Peter Huewe
2015-12-02  8:14       ` Jarkko Sakkinen
2015-12-02  9:02         ` Peter Huewe
2015-12-02  8:11     ` Jarkko Sakkinen
2015-12-02  8:21       ` Uwe Kleine-König
2015-12-02 16:53         ` Greg Kroah-Hartman
2015-12-02 16:59           ` Uwe Kleine-König
2015-12-03  8:51           ` [PATCH v3] base/platform: fix binding for drivers without probe callback martin.wilck
2015-12-03  9:00             ` Uwe Kleine-König
2015-12-03  9:34             ` [tpmdd-devel] " Jarkko Sakkinen
2015-12-02 18:27   ` [PATCH v2 0/3] tpm_tis: Clean up force module parameter Jason Gunthorpe
2015-12-02 19:11     ` Jason Gunthorpe [this message]
2015-12-03  6:00       ` [tpmdd-devel] " Jarkko Sakkinen
2015-12-03 18:19         ` Jason Gunthorpe
2015-12-06  4:02           ` Jarkko Sakkinen
2015-12-06  4:15             ` Jarkko Sakkinen
2015-12-06  4:20               ` Jarkko Sakkinen
2015-12-07  6:15               ` Jason Gunthorpe
2015-12-07  8:06               ` Wilck, Martin
2015-12-07  8:56                 ` Jarkko Sakkinen
2015-12-07  9:52                   ` Wilck, Martin
2015-12-07 10:16                     ` Jarkko Sakkinen
2015-12-03  8:30       ` Wilck, Martin
2015-12-03 17:00         ` Jason Gunthorpe
2015-12-04  8:39           ` Wilck, Martin
2015-12-04  9:10           ` Wilck, Martin
2015-12-04 18:09             ` Jason Gunthorpe
2015-12-07  9:59               ` Wilck, Martin
2015-12-07 17:35                 ` Jason Gunthorpe
2015-12-03  5:58     ` Jarkko Sakkinen
2015-12-02 12:34 ` Wilck, Martin
2015-12-02 18:11   ` Jason Gunthorpe

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=20151202191155.GA2832@obsidianresearch.com \
    --to=jgunthorpe@obsidianresearch.com \
    --cc=Martin.Wilck@ts.fujitsu.com \
    --cc=jarkko.sakkinen@linux.intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=tpmdd-devel@lists.sourceforge.net \
    --cc=u.kleine-koenig@pengutronix.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.