All of lore.kernel.org
 help / color / mirror / Atom feed
From: Javier Martinez Canillas <javierm@redhat.com>
To: Jason Gunthorpe <jgg@ziepe.ca>, "Shaikh, Azhar" <azhar.shaikh@intel.com>
Cc: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>,
	James Ettle <james@ettle.org.uk>,
	"linux-integrity@vger.kernel.org"
	<linux-integrity@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"james.l.morris@oracle.com" <james.l.morris@oracle.com>
Subject: Re: [BISECTED] tpm CLKRUN breaks PS/2 keyboard and touchpad on Braswell system
Date: Tue, 19 Dec 2017 00:34:46 +0100	[thread overview]
Message-ID: <781b45aa-547c-9b0f-4669-4e081cf39a93@redhat.com> (raw)
In-Reply-To: <20171218201902.GF19056@ziepe.ca>

Hello Jason,

On 12/18/2017 09:19 PM, Jason Gunthorpe wrote:
> On Mon, Dec 18, 2017 at 07:34:29PM +0000, Shaikh, Azhar wrote:
> 
>>> IIUC, if CLKRUN_EN is enabled, then all the devices attached to the
>>> LPC bus have to support the CLKRUN protocol. My guess is that on
>>> some Braswell systems LPC power management is enabled but the TPM
>>> device doesn't have CLKRUN support.
>>
>> I think this is what might be happening here.
> 
> That makes it a BIOS bug, not a chipset bug, and we shouldn't be
> trying to fix it like this in Linux.
>

Indeed, the system integrator should make sure that all peripherals that
are connected through the LPC bus either support the CLKRUN protocol and
CLKRUN_EN is enabled or CLKRUN_EN should be disabled.
 
> Based on the original discussion I always thought this was an Intel
> chipset bug and applies to all cases.
>

After thinking about this and with a better understanding of the issue,
I think we have 2 options (please let me know if I got something wrong):

1) Leave the code as is and apply the patch I shared with James. In that
   case the CLKRUN protocol will be disabled only during TPM transactions
   and not enabled again after transactions if it wasn't enabled.

   This shouldn't affect other peripherals since even if they have CLKRUN
   support, they should work correctly while CLKRUN protocol is disabled.

   The disadvantage is that TPM devices that have CLKRUN support (do they
   exist?) will not take the advantage of the power management feature of
   stopping the LPC host LCLK clock during low-power states.

2) Drop the pending CLKRUN patch in linux-tpmdd and revert CLKRUN commit
   in mainline. And instead of disabling the CLKRUN protocol during the
   TPM transactions, disable if the CLKRUN_EN is enabled and the system
   is in a list of systems that have a TPM that doesn't support CLKRUN.

   This list could be for example a struct dmi_system_id array and match
   using DMI data on module_init().

   The advantage is that TPM devices with CLKRUN protocol support could
   make use of the CLKRUN power management feature and only systems with
   a TPM that doesn't support the CLKRUN protocol will disable it.

   The disadvantage is that the struct dmi_system_id array to match will
   have to be maintained and every known-to-be-broken system added to it.

Thoughts?

> Jason
> 

Best regards,
-- 
Javier Martinez Canillas
Software Engineer - Desktop Hardware Enablement
Red Hat

  reply	other threads:[~2017-12-18 23:34 UTC|newest]

Thread overview: 43+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-12-11 19:37 [BISECTED] tpm CLKRUN breaks PS/2 keyboard and touchpad on Braswell system James Ettle
2017-12-12 11:38 ` Javier Martinez Canillas
2017-12-12 18:57   ` Jason Gunthorpe
2017-12-12 19:12     ` Javier Martinez Canillas
2017-12-12 21:17   ` James Ettle
2017-12-14 19:08     ` Javier Martinez Canillas
2017-12-14 19:10       ` Jason Gunthorpe
2017-12-15 14:56         ` Jarkko Sakkinen
2017-12-15 17:38           ` Jason Gunthorpe
2017-12-16 17:01             ` Jarkko Sakkinen
2017-12-16 20:59               ` Javier Martinez Canillas
2017-12-18 11:11                 ` Javier Martinez Canillas
2018-01-02 20:53                   ` Pavel Machek
2018-01-02 20:53                     ` Pavel Machek
2017-12-18 12:22               ` Javier Martinez Canillas
2017-12-18 12:22                 ` Javier Martinez Canillas
2017-12-18 12:29                 ` Javier Martinez Canillas
2017-12-18 12:29                   ` Javier Martinez Canillas
2017-12-18 17:55                   ` Jason Gunthorpe
2017-12-18 19:29                     ` Javier Martinez Canillas
2017-12-18 19:34                       ` Shaikh, Azhar
2017-12-18 20:04                         ` Shaikh, Azhar
2017-12-18 20:19                         ` Jason Gunthorpe
2017-12-18 23:34                           ` Javier Martinez Canillas [this message]
2017-12-19  2:08                             ` Jason Gunthorpe
2017-12-19 13:10                             ` Jarkko Sakkinen
2017-12-19 13:12                               ` Javier Martinez Canillas
2017-12-19 13:04                           ` Jarkko Sakkinen
2017-12-19 20:20                             ` Jason Gunthorpe
2017-12-18 23:06                         ` Javier Martinez Canillas
2017-12-18 20:17                       ` Jason Gunthorpe
2017-12-19 13:02                     ` Jarkko Sakkinen
2017-12-18 18:26                   ` James Ettle
2017-12-18 19:34                     ` Javier Martinez Canillas
2017-12-19 13:00                     ` Jarkko Sakkinen
2017-12-19 13:18                       ` James Ettle
2017-12-22 18:30                         ` Jarkko Sakkinen
2017-12-19 12:59                 ` Jarkko Sakkinen
2017-12-19 13:10                   ` Javier Martinez Canillas
2017-12-19 21:08                 ` [PATCH 1/1] tpm: only attempt to disable the LPC CLKRUN if is already kbuild test robot
2017-12-19 21:08                   ` kbuild test robot
2017-12-14 11:21 ` [BISECTED] tpm CLKRUN breaks PS/2 keyboard and touchpad on Braswell system Jarkko Sakkinen
2017-12-14 12:05   ` Javier Martinez Canillas

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=781b45aa-547c-9b0f-4669-4e081cf39a93@redhat.com \
    --to=javierm@redhat.com \
    --cc=azhar.shaikh@intel.com \
    --cc=james.l.morris@oracle.com \
    --cc=james@ettle.org.uk \
    --cc=jarkko.sakkinen@linux.intel.com \
    --cc=jgg@ziepe.ca \
    --cc=linux-integrity@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.