From: "Shaikh, Azhar" <azhar.shaikh@intel.com>
To: "Shaikh, Azhar" <azhar.shaikh@intel.com>,
Javier Martinez Canillas <javierm@redhat.com>,
Jason Gunthorpe <jgg@ziepe.ca>
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: Mon, 18 Dec 2017 20:04:55 +0000 [thread overview]
Message-ID: <5FFFAD06ADE1CA4381B3F0F7C6AF5828987F4F@ORSMSX109.amr.corp.intel.com> (raw)
In-Reply-To: <5FFFAD06ADE1CA4381B3F0F7C6AF5828987F13@ORSMSX109.amr.corp.intel.com>
>-----Original Message-----
>From: linux-integrity-owner@vger.kernel.org [mailto:linux-integrity-
>owner@vger.kernel.org] On Behalf Of Shaikh, Azhar
>Sent: Monday, December 18, 2017 11:34 AM
>To: Javier Martinez Canillas <javierm@redhat.com>; Jason Gunthorpe
><jgg@ziepe.ca>
>Cc: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>; James Ettle
><james@ettle.org.uk>; linux-integrity@vger.kernel.org; linux-
>kernel@vger.kernel.org; james.l.morris@oracle.com
>Subject: RE: [BISECTED] tpm CLKRUN breaks PS/2 keyboard and touchpad on
>Braswell system
>
>
>
>>-----Original Message-----
>>From: Javier Martinez Canillas [mailto:javierm@redhat.com]
>>Sent: Monday, December 18, 2017 11:30 AM
>>To: Jason Gunthorpe <jgg@ziepe.ca>
>>Cc: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>; James Ettle
>><james@ettle.org.uk>; linux-integrity@vger.kernel.org; Shaikh, Azhar
>><azhar.shaikh@intel.com>; linux-kernel@vger.kernel.org;
>>james.l.morris@oracle.com
>>Subject: Re: [BISECTED] tpm CLKRUN breaks PS/2 keyboard and touchpad on
>>Braswell system
>>
>>Hello Jason,
>>
>>Thanks a lot for your feedback.
>>
>>On 12/18/2017 06:55 PM, Jason Gunthorpe wrote:
>>> On Mon, Dec 18, 2017 at 01:29:01PM +0100, Javier Martinez Canillas wrote:
>>>> On 12/18/2017 01:22 PM, Javier Martinez Canillas wrote:
>>>>
>>>> [snip]
>>>>
>>>>>
>>>>> James,
>>>>>
>>>>> Can you please test the following (untested) patch on top of the
>>>>> other two mentioned patches to see if it makes a difference for you?
>>>>>
>>>>
>>>> I should had tried to at least compile the patch :)
>>>
>>> I think this is backwards..
>>>
>>> If CLKRUN_EN is on (eg power management is NOT enabled on LPC) then
>>> TPM shouldn't do anything at all.
>>>
>>> If CLKRUN_EN is off, then it should try to turn it on/off to save
>>> power.
>>>
>>
>>My knowledge of LPC is near to non-existent so I please forgive me if
>>I'm wrong, but my understanding is that it's the opposite of what you said.
>>
>>When CLKRUN_EN is SET, power management is ENABLED on the LPC bus
>and
>>the host LCLK clock may be stopped when entering in some low-power
>states.
>>
>>The CLKRUN# signal is then used by peripherals to restart the LCLK
>>clock after resuming from low-power states to be able to transmit again.
>>
>>When CLKRUN_EN is CLEAR, power management is DISABLED on the LPC bus
>>and the host LCLK clock is never stopped even when entering in some
>>low- power states.
>>
>
>Hi Javier,
>
>Yes you are correct with the above understanding of the CLKRUN.
>
>>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.
>
>Since I do not have an end product to test this on, I managed to get one BSW
>Reference Verification Platform(RVP). I flashed the latest Ubuntu (17.10)
>which is on 4.13.13 kernel version and does have the patch.
>
The correct kernel version is 4.13.0-19
>I was able to use the PS/2 mouse and keyboard immediately after bootup and
>also after suspend/resume cycle. The system does have a TPM.(/dev/tpm0
>and /dev/tpmrm0 exist)
>
>
The RVP has a Nuvoton TPM
>>And that was the motivation of commit 5e572cab92f0 ("tpm: Enable CLKRUN
>>protocol for Braswell systems") that introduced the regression.
>>
>>> Perhaps the best work around is to just delete the turning off of
>>> CLKRUN_EN ? Uses more power but keeps the clock running which should
>>> keep both TPM and superio happy.
>>>
>>
>>But that's exactly the goal of the commit 5e572cab92f0, to disable the
>>CLKRUN protocol (probably for what I mentioned before). So doing so
>>will cause issues for those systems again.
>>
>>What the patch I shared with James does is to avoid disabling the
>>CLKRUN_EN if this is already disabled. Which should be a no-op anyways
>>but the problem is that latter it's enabled even when the driver found
>disabled to start with.
>>
>>I still don't like the overall solution since it's too error prone.
>>Touching a global bus configuration in a driver for a single peripheral isn't
>safe to say the least.
>>
>>But regardless of that, the patch I shared has merits on its own since
>>is wrong to keep the bus configuration in a different state that was
>>before the driver was probed. And in fact, James reported that it makes
>>his system to work again.
>>
>>> Jason
>>>
>>
>>Best regards,
>>--
>>Javier Martinez Canillas
>>Software Engineer - Desktop Hardware Enablement Red Hat
next prev parent reply other threads:[~2017-12-18 20:05 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-12-11 19:37 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
2017-12-18 12:22 ` 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 [this message]
2017-12-18 20:19 ` Jason Gunthorpe
2017-12-18 23:34 ` Javier Martinez Canillas
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-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=5FFFAD06ADE1CA4381B3F0F7C6AF5828987F4F@ORSMSX109.amr.corp.intel.com \
--to=azhar.shaikh@intel.com \
--cc=james.l.morris@oracle.com \
--cc=james@ettle.org.uk \
--cc=jarkko.sakkinen@linux.intel.com \
--cc=javierm@redhat.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®