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

From: Jarkko Sakkinen
Date: Mon Oct 14 2019 - 04:10:18 EST


On Wed, Oct 09, 2019 at 12:51:37AM +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>
> ---
> Changes in v7:
> - use terminator entry in iores_array

You must have always the full changelog i.e.

v7:
...

v6:
...

...

v2:
...

If there is need for new iteration, please add it. However, I don't
think there is. I'm getting Udoo Bolt this week that I can use for
testing this. If it doesn't break anything, I can apply it.

/Jarkko