From: Jason Gunthorpe <jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
To: Manuel Lauss <manuel.lauss-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Cc: tpmdd-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org
Subject: Re: [PATCH RFC] tpm_crb: Fix AMD Zen on-chip fTPM detection
Date: Fri, 16 Jun 2017 13:57:48 -0600 [thread overview]
Message-ID: <20170616195748.GA1624@obsidianresearch.com> (raw)
In-Reply-To: <CAOLZvyEeiRQ8LfCmq1p70xv9worYfTXDPTgEZrhFcqUev1+h+Q-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
On Fri, Jun 16, 2017 at 09:41:38PM +0200, Manuel Lauss wrote:
> On Fri, Jun 16, 2017 at 9:25 PM, Jason Gunthorpe
> <jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org> wrote:
> > On Fri, Jun 16, 2017 at 08:29:51PM +0200, Manuel Lauss wrote:
> >> This RFC patch fixes 2 issues which prevent the fTPM device from being initialized
> >> by the tpm_crb driver:
> >>
> >> 1) use devm_ioremap() instead of devm_ioremap_resource() to fix the following error
> >> due to it not allowing overlapping resources:
> >>
> >> tpm_crb MSFT0101:00: can't request region for resource [mem 0xdd84f000-0xdd84ffff]
> >> tpm_crb: probe of MSFT0101:00 failed with error -16
> >
> > No, we can't do this, it breaks other situations that rely on
> > request_resource.
> >
> > We already put a work around for a very similar problem on a different
> > system, do you have commit?
> >
> > commit b4e2eb0651ac3180a942d378b040c5cc045113ee
> > Author: Jason Gunthorpe <jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
> > Date: Tue Feb 21 14:14:24 2017 -0700
> >
> > tpm crb: Work around BIOS's that report the wrong ACPI region size
> >
>
> Yes, that was actually the third problem I encountered on 4.11.5, but this
> patch does not fix point 1) above.
>
> /proc/iomem looks like this before the probe attempt:
> dd759000-dd868fff : ACPI Non-volatile Storage
> dd84b000-dd84bfff : MSFT0101:00
> dd84f000-dd84ffff : MSFT0101:00
>
> I have no idea yet why devm_request_mem_region() fails here. Is it because
> the ACPI NVS parent is already marked busy by the previous mapping
> of b000-bfff?
Hum. I wonder what does
static int crb_map_io(struct acpi_device *device, struct crb_priv *priv,
struct acpi_table_tpm2 *buf)
{
ret = acpi_dev_get_resources(device, &resources, crb_check_resource,
&io_res);
return in io_res for this arrangment? I'm guessing it isn't
dd759000-dd868fff ?
The issue might be that crb_check_resource/iomem assumes that there is
a single contiguous io region, while this device seems to have two of
them..
If so then the required patch is to iomap all of the io regsions that
crb_check_resource finds, and search all of them in
crb_map_res. Currently it only does the first one.
Jason
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
next prev parent reply other threads:[~2017-06-16 19:57 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20170616182951.398757-1-manuel.lauss@gmail.com>
[not found] ` <20170616182951.398757-1-manuel.lauss-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2017-06-16 19:25 ` [PATCH RFC] tpm_crb: Fix AMD Zen on-chip fTPM detection Jason Gunthorpe
[not found] ` <CAOLZvyEeiRQ8LfCmq1p70xv9worYfTXDPTgEZrhFcqUev1+h+Q@mail.gmail.com>
[not found] ` <CAOLZvyEeiRQ8LfCmq1p70xv9worYfTXDPTgEZrhFcqUev1+h+Q-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2017-06-16 19:57 ` Jason Gunthorpe [this message]
[not found] ` <CAOLZvyFUS+Foj0ZycrZS=yWp+=x1mi8yL1-3Bq+mhcav9iesYA@mail.gmail.com>
[not found] ` <CAOLZvyFUS+Foj0ZycrZS=yWp+=x1mi8yL1-3Bq+mhcav9iesYA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2017-06-16 20:27 ` Jason Gunthorpe
[not found] ` <CAOLZvyH2rG3RpqPfiMOf68yHC91DdO8UEHXYh4FCb0ZqKJf1dw@mail.gmail.com>
[not found] ` <CAOLZvyH2rG3RpqPfiMOf68yHC91DdO8UEHXYh4FCb0ZqKJf1dw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2017-06-16 20:41 ` Jason Gunthorpe
2017-06-19 0:15 ` 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=20170616195748.GA1624@obsidianresearch.com \
--to=jgunthorpe-epgobjl8dl3ta4ec/59zmfatqe2ktcn/@public.gmane.org \
--cc=manuel.lauss-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
--cc=tpmdd-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org \
/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.