Thread (28 messages) 28 messages, 5 authors, 2017-06-19

[PATCH v4] tpm: Enable CLKRUN protocol for Braswell systems

From: Jarkko Sakkinen <hidden>
Date: 2017-06-14 14:46:29
Also in: lkml

On Wed, Jun 14, 2017 at 12:51:25AM +0000, Shaikh, Azhar wrote:
quoted
-----Original Message-----
From: Jarkko Sakkinen [mailto:jarkko.sakkinen at linux.intel.com]
Sent: Monday, June 12, 2017 12:50 AM
To: Shaikh, Azhar <redacted>
Cc: jgunthorpe at obsidianresearch.com; tpmdd-devel at lists.sourceforge.net;
linux-kernel at vger.kernel.org; linux-security-module at vger.kernel.org
Subject: Re: [PATCH v4] tpm: Enable CLKRUN protocol for Braswell systems

On Sat, Jun 10, 2017 at 04:35:50PM +0000, Shaikh, Azhar wrote:
quoted
quoted
-----Original Message-----
From: Jarkko Sakkinen [mailto:jarkko.sakkinen at linux.intel.com]
Sent: Saturday, June 10, 2017 4:14 AM
To: Shaikh, Azhar <redacted>
Cc: jgunthorpe at obsidianresearch.com;
tpmdd-devel at lists.sourceforge.net;
linux-kernel at vger.kernel.org; linux-security-module at vger.kernel.org
Subject: Re: [PATCH v4] tpm: Enable CLKRUN protocol for Braswell
systems

On Thu, Jun 08, 2017 at 04:46:33PM -0700, Azhar Shaikh wrote:
quoted
To overcome a hardware limitation on Intel Braswell systems,
disable CLKRUN protocol during TPM transactions and re-enable once
the transaction is completed.

Signed-off-by: Azhar Shaikh <redacted>
---
Changes from v1:
- Add CONFIG_X86 around disable_lpc_clk_run () and
enable_lpc_clk_run() to avoid
- build breakage on architectures which do not implement
kmap_atomic_pfn()

Changes from v2:
- Use ioremap()/iounmap() instead of
kmap_atomic_pfn()/kunmap_atomic()
quoted
- Move is_bsw() and all macros from tpm.h to tpm_tis.c file.
- Add the is_bsw() check in disable_lpc_clk_run() and
enable_lpc_clk_run()
- instead of adding it in each read/write API.

Changes from v3:
- Move the code under #ifdef CONFIG_X86 and create stub functions
for everything else
- Rename the functions disable_lpc_clk_run() ->
tpm_platform_begin_xfer() and
- enable_lpc_clk_run() -> tpm_platform_end_xfer()
- Remove wmb()
The wrong parameter order in outb() is not worth of mentioning in
your opinion?
Oh yes! It is definitely worth mentioning. I forgot to mention that.
Will definitely mention it in the changelog for the next version if any or will
re send v4 with updated changelog for v3.
quoted
quoted
Related.

I looked again the kmap version of the patch and still cannot figure
out what could be wrong. Obviously the wrong outb() cause unexpected
behavior.
quoted
quoted
Do you have chances to grab klog from kmap version with correct outb?
I have not tried the kmap version with corrected outb(). Will give that a try.
quoted
/Jarkko
Thank you!
Even with the corrected outb(), kmap version fails to boot. Could not get boot logs :-(
quoted
/Jarkko
Lets go with the ioremap() version for now.

/Jarkko
--
To unsubscribe from this list: send the line "unsubscribe linux-security-module" in
the body of a message to majordomo at vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help