Thread (29 messages) 29 messages, 3 authors, 2018-03-20

Re: [PATCH 01/14] Input: atmel_mxt_ts - do not pass suspend mode in platform data

From: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Date: 2018-03-17 17:42:47
Also in: lkml

On Fri, Mar 16, 2018 at 08:40:02PM +0000, Nick Dyer wrote:
On Thu, Mar 15, 2018 at 04:56:21PM -0700, Dmitry Torokhov wrote:
quoted
On Wed, Mar 14, 2018 at 08:51:24PM +0000, Nick Dyer wrote:
quoted
On Mon, Mar 12, 2018 at 12:08:54PM -0700, Dmitry Torokhov wrote:
quoted
The way we are supposed to put controller to sleep and wake it up does not
depend on the platform, but rather on controller itself. Controllers using
T9 require manipulating T9 control register, while others, using newer
T100, should be put to sleep by adjusting T7 power config.
I'm afraid this is actually a misconception. If you look at object table
for the older T9 device, you'll find it has the T7 object and it in fact
works exactly the same way as the T100-based device.

The MXT_SUSPEND_T9_CTRL is in there because on your older Pixel devices
the config saved into NVRAM on the touch controller has a zero byte in
the T9 CTRL setting, meaning the touch controller will never wake up
unless the driver knows to write 0x83 into it.
Ah, OK, I see. I would really like to drop this pdata->suspend_mode
stuff and I do not want to create "pixel-screwed-up" property either...
I guess for the time being I'll put a DMI quirk for Link to restore T9
control method, and then look into cleaning it all up. We have quite a
bit different code in chromeos kernel trees and I'd like to reconcile
it.
Yes, it would be great to get rid of it. The driver does have the
ability to download configuration via the firmware loader interface. So
you would be able to grab a copy of the config by saving it with
mxt-app, tweak it to ensure that the T9 CTRL byte is set correctly, then
ship it somehow (presumably it could be added to linux-firmware). This
would override what's currently stored in NVRAM on all those units and
mean we could remove the T9_CTRL stuff.
We can't really rely on people fetching updated config. Do you think we
could see if the device has only T9 and not T100 and if coming out of
suspend the T9 CTRL byte is 0 we overwrite it with the 0x83?
I'm happy to talk you through sorting that out in more detail if you
want to give it a go. I don't have any Pixel 1 hardware available at the
moment, unfortunately.
Yes, I have several Chromebooks with Atmel so I can try on a few of
them.

Thanks.

-- 
Dmitry
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help