On Wed, Jun 14, 2017 at 12:51:25AM +0000, Shaikh, Azhar wrote: > > > > -----Original Message----- > > From: Jarkko Sakkinen [mailto:jarkko.sakki...@linux.intel.com] > > Sent: Monday, June 12, 2017 12:50 AM > > To: Shaikh, Azhar <azhar.sha...@intel.com> > > Cc: jguntho...@obsidianresearch.com; tpmdd-de...@lists.sourceforge.net; > > linux-kernel@vger.kernel.org; linux-security-mod...@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: > > > > > > > > > > -----Original Message----- > > > > From: Jarkko Sakkinen [mailto:jarkko.sakki...@linux.intel.com] > > > > Sent: Saturday, June 10, 2017 4:14 AM > > > > To: Shaikh, Azhar <azhar.sha...@intel.com> > > > > Cc: jguntho...@obsidianresearch.com; > > > > tpmdd-de...@lists.sourceforge.net; > > > > linux-kernel@vger.kernel.org; linux-security-mod...@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: > > > > > 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 <azhar.sha...@intel.com> > > > > > --- > > > > > 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() > > > > > - 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. > > > > > > > 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. > > > > > > > > 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. > > > > > > > /Jarkko > > > > Thank you! > > > > Even with the corrected outb(), kmap version fails to boot. Could not get > boot logs :-( > > > /Jarkko
Lets go with the ioremap() version for now. /Jarkko