|
From: | Stefan Berger |
Subject: | Re: [PATCH v2 4/5] acpi: Enable TPM IRQ |
Date: | Tue, 16 Jun 2020 10:05:01 -0400 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.4.1 |
On 6/16/20 9:01 AM, Auger Eric wrote:
Hi Stefan, On 6/15/20 7:11 PM, Stefan Berger wrote:On 6/15/20 11:13 AM, Marc-André Lureau wrote:diff --git a/include/hw/acpi/tpm.h b/include/hw/acpi/tpm.h index 1a2a57a21f..063a9eb42a 100644 --- a/include/hw/acpi/tpm.h +++ b/include/hw/acpi/tpm.h @@ -24,7 +24,7 @@ #define TPM_TIS_ADDR_BASE 0xFED40000 #define TPM_TIS_ADDR_SIZE 0x5000 -#define TPM_TIS_IRQ 5 +#define TPM_TIS_IRQ 13Eric, does this change have any negative side effects on ARM? If you prefer, we can split this part here up into TPM_TIS_ISA_IRQ and TPM_TIS_SYSBUS IRQ and leave the latter at '5' because we know that this is working.The IRQ is not advertised in dt nor ACPI on ARM. However it is advertised in the capability reg and in the vector. reg So I think this should be fixed? I guess on ARM we will pick up a completely different IRQ num, allocated from the platform bus slot.
The specification https://trustedcomputinggroup.org/wp-content/uploads/PC-Client-Specific-Platform-TPM-Profile-for-TPM-2p0-v1p04_r0p37_pub-1.pdfdeclares several fields in the Interface Capability Register (table 23, pdf page 89) to be mandatory and they must be set to '1'. So I would not want to touch those. We can set the interrupt vector register to '0' in case interrupts are not supported. Following the spec 0 means that no interrupts are supported. I will now split TPM_TIS_IRQ into TPM_TIS_ISA_IRQ and TPM_TIS_SYSBUS_IRQ and will in the end set TPM_TIS_SYSBUS_IRQ to 'disabled', indicating that IRQs are not supported, though they should work even though on ARM there may not be a driver to test this with. Does this sound ok?
Stefan
Thanks EricStefan#define TPM_TIS_NUM_LOCALITIES 5 /* per spec */ #define TPM_TIS_LOCALITY_SHIFT 12 -- 2.24.1
[Prev in Thread] | Current Thread | [Next in Thread] |