From: Matthew Garrett <hidden> Date: 2012-05-19 22:57:13
The Sentelic touchpad in an Asus UX-21 failed to work since the native
driver was merged. Examination showed that the FSP_REG_SWC1 register had
reverted back to 0x80 and so the pad was sending normal packets despite
the driver expecting absolute ones.
I haven't been able to identify what causes this - dumping the register
state after ps2 setup shows it set correctly. The easiest workaround seems
to be to force a reconnect when an unexpected packet type is received.
Signed-off-by: Matthew Garrett <redacted>
---
drivers/input/mouse/sentelic.c | 14 ++++++++++++--
1 file changed, 12 insertions(+), 2 deletions(-)
The Sentelic touchpad in an Asus UX-21 failed to work since the native
driver was merged. Examination showed that the FSP_REG_SWC1 register had
reverted back to 0x80 and so the pad was sending normal packets despite
the driver expecting absolute ones.
Sounds to me that the hardware was reset, which usually happens if
there's intermittent power failure events. Is there any particular step
to reproduce this unexpected resetting?
quoted hunk
I haven't been able to identify what causes this - dumping the register
state after ps2 setup shows it set correctly. The easiest workaround seems
to be to force a reconnect when an unexpected packet type is received.
Signed-off-by: Matthew Garrett <redacted>
---
drivers/input/mouse/sentelic.c | 14 ++++++++++++--
1 file changed, 12 insertions(+), 2 deletions(-)
From: Matthew Garrett <mjg59@srcf.ucam.org> Date: 2012-05-21 15:28:59
On Mon, May 21, 2012 at 11:22:07PM +0800, Tai-hwa Liang wrote:
On Sat, 19 May 2012, Matthew Garrett wrote:
quoted
The Sentelic touchpad in an Asus UX-21 failed to work since the native
driver was merged. Examination showed that the FSP_REG_SWC1 register had
reverted back to 0x80 and so the pad was sending normal packets despite
the driver expecting absolute ones.
Sounds to me that the hardware was reset, which usually happens if
there's intermittent power failure events. Is there any particular step
to reproduce this unexpected resetting?
None that I've identified. It only seems to do it once, and afterwards
it's fine. I agree that this seems to be covering up some more insidious
bug, but I spent most of Friday and Saturday failing to find one.
--
Matthew Garrett | mjg59@srcf.ucam.org
On Mon, May 21, 2012 at 11:22:07PM +0800, Tai-hwa Liang wrote:
quoted
On Sat, 19 May 2012, Matthew Garrett wrote:
quoted
The Sentelic touchpad in an Asus UX-21 failed to work since the native
driver was merged. Examination showed that the FSP_REG_SWC1 register had
reverted back to 0x80 and so the pad was sending normal packets despite
the driver expecting absolute ones.
Sounds to me that the hardware was reset, which usually happens if
there's intermittent power failure events. Is there any particular step
to reproduce this unexpected resetting?
None that I've identified. It only seems to do it once, and afterwards
it's fine. I agree that this seems to be covering up some more insidious
bug, but I spent most of Friday and Saturday failing to find one.
Hi Matthew,
Would you please run the attached script and post the result next time
when you run into the abnormal scenario(FSP sends normal instead of abs.
packets)?
You probably need to do this experiment without the reconnecting patch
applied.
Thank you,
Tai-hwa Liang
When working: 0700, 4005, 4180, 4237
When broken : 0700, 4005, 4180, 4237
There's no hardware reset according to this dump.
Now I'm confused: the hardware default of FSP_REG_SWC1 is zero and
there's no single piece of code(dirver/firmware) that will set SWC1 to
0x80 as far as I can remember.