On Fri, Feb 01, 2019 at 10:04:35AM -0800, Linus Torvalds wrote: > On Thu, Jan 31, 2019 at 12:45 PM Jarkko Sakkinen > <jarkko.sakkinen@xxxxxxxxxxxxxxx> wrote: > > > > I understand what you mean. Just surprised that this hasn't failed > > before to anyone (the same driver has been even successfully used > > on ARM64 with TrustZone based fTPM implementation). It has been in > > for three years now. > > Just to finish this thread off: it turns out that both ARM and ARM64 > worked fine, because neither did a memcpy(), but had explicit IO copy > routines. > > And in those explicit routines, 32-bit ARM did only byte accesses, and > 64-bit ARM did 8-byte accesses for the bulk transfer part, but byte > accesses for the unaligned head and tail of the IO area. > > So I think it's all good. x86 used to work by luck (either because all > machines that used that TPM chip always had ERMS, or because the > people who didn't have it never cared), and ARM just worked because it > would never do unaligned IO accesses anyway (well, I guess you can > force them with "readl()" on an unaligned address, but then you just > have yourself to blame). > > Linus OK, thanks for the summary. This kind of answered to my question. Should be sufficient to include the tpm_crb fix to the 5.1 PR. /Jarkko