Re: [PATCH 1/2] Input: synaptics-rmi4 - clear irqs before set irqs

From: Christopher Heiny
Date: Tue Apr 02 2019 - 12:16:19 EST


On Thu, 2019-03-28 at 14:02 +0800, Aaron Ma wrote:
> Hi Dmitry and Chiristopher:
>
> Do you have any suggestion about these 2 patches?
>
> Many users confirmed that they fixed issues of Trackpoint/Touchpad
> after S3.
>
> Will you consider them be accepted?

Hi Aaron,

Sorry - I thought I'd replied on the NO SLEEP portion of these patches,
but looking back I don't find the draft or the sent email. Sorry about
that. I'll summarize here what I wrote last month.

This isn't so much a "fix" as a "hacky workaround" for the issue. From
the descriptions in the bug you linked in your original patch
submission, it appears that the root cause is somewhere in SMBus system
(could be SMBus driver, SMBus hardware, or the devices on the SMBus
(touch devices or other devices) - it's hard to tell with the info
available), where the SMBus is failing to come online correctly coming
out of S3 state. Anyway, this patch doesn't fix the root cause, but
merely works around it.

Setting the NO SLEEP bit will force the touch sensor to remain in a
high power consumption state while the rest of the system is in S3.
While not a lot of power compared to things like the CPU, display, and
others, it is still non-trivial and will result in shorter time-on-
battery capability.

If you have access to the power pin(s) for the touch sensor(s)/styk(s),
it might be interesting to try turning power off on entering S3, and
restoring it on exit. That's very hacky, and has the side effect of
slightly delaying touchpad readiness on exit from S3. Plus you'll need
to restore touch sensor configuration settings on exit. But it
definitely reduces power consumption.


Separately, I am still concerned about the possibility of dropped touch
events in the IRQ clearing. I'm not convinced that the code is safe
(as you mentioned in your reply to my earlier comment), so I'll have to
study the implementation more carefully.

Cheers,
Chris



>
> Thanks,
> Aaron