Re: [PATCH v8] tpm_crb: fix fTPM on AMD Zen+ CPUs

From: Jarkko Sakkinen
Date: Fri Oct 25 2019 - 10:13:40 EST


On Mon, Oct 21, 2019 at 06:57:35PM +0300, Jarkko Sakkinen wrote:
> On Wed, Oct 16, 2019 at 09:28:14PM +0300, ivan.lazeev@xxxxxxxxx wrote:
> > From: Ivan Lazeev <ivan.lazeev@xxxxxxxxx>
> >
> > Bug link: https://bugzilla.kernel.org/show_bug.cgi?id=195657
> >
> > cmd/rsp buffers are expected to be in the same ACPI region.
> > For Zen+ CPUs BIOS's might report two different regions, some of
> > them also report region sizes inconsistent with values from TPM
> > registers.
> >
> > Memory configuration on ASRock x470 ITX:
> >
> > db0a0000-dc59efff : Reserved
> > dc57e000-dc57efff : MSFT0101:00
> > dc582000-dc582fff : MSFT0101:00
> >
> > Work around the issue by storing ACPI regions declared for the
> > device in a fixed array and adding an array for pointers to
> > corresponding possibly allocated resources in crb_map_io function.
> > This data was previously held for a single resource
> > in struct crb_priv (iobase field) and local variable io_res in
> > crb_map_io function. ACPI resources array is used to find index of
> > corresponding region for each buffer and make the buffer size
> > consistent with region's length. Array of pointers to allocated
> > resources is used to map the region at most once.
> >
> > Signed-off-by: Ivan Lazeev <ivan.lazeev@xxxxxxxxx>
>
> Almost tested this today. Unfortunately the USB stick at hand was
> broken. I'll retry tomorrow or Wed depending on which day I visit at
> the office and which day I WFH.
>
> At least the AMI BIOS had all the TPM stuff in it. The hardware I'll be
> using is Udoo Bolt V8 (thanks Jerry for pointing me out this device)
> with AMD Ryzen Embedded V1605B [1]
>
> Thanks for the patience with your patch.
>
> [1] https://en.wikichip.org/wiki/amd/ryzen_embedded/v1605b

Tested-by: Jarkko Sakkinen <jarkko.sakkinen@xxxxxxxxxxxxxxx>

Heh, the problem with my kernel config was that I didn't have xhci
(USB3) my kernel config :-) Never needed that one before when testing
TPM changes.

/Jarkko