Re: 4.1 touchscreen regression on n900 -- pinpointed [was Re: linux-n900 v4.1-rc4]

From: Maxime Ripard
Date: Fri May 29 2015 - 16:00:17 EST


On Fri, May 29, 2015 at 09:25:05PM +0200, Pavel Machek wrote:
> On Fri 2015-05-29 21:08:16, Pavel Machek wrote:
> > Hi!
> >
> > > mh I remember having problems with tsc2005 before. It helped to
> > > reset the controller (should actually happen automatically when it
> > > hangs, but I'm not sure, that it actually works).
> >
> > Ok, I did some more testing, and found out rather bogus values in
> > evtest:
> >
> > Input device name: "TSC2005 touchscreen"
> > Supported events:
> > Event type 0 (EV_SYN)
> > Event type 1 (EV_KEY)
> > Event code 330 (BTN_TOUCH)
> > Event type 3 (EV_ABS)
> > Event code 0 (ABS_X)
> > Value 2514
> > Min 0
> > Max 0
> > Fuzz 4
> >
> > Which made me go through the git logs, and these patches looked
> > suspicious. After a revert... yes, touchscreen works as well as it
> > worked before.
> >
> > 0a363a380954e10fece7cd9931b66056eeb07d56
> > 3eea8b5d68c801fec788b411582b803463834752
> >
> > (It is impossible to revert just 3eea..)
>
> Hmm, I see:
>
> touchscreen-max-x = <4096>;
> touchscreen-max-y = <4096>;
> ...that's n900 dts.. this should be size-x/size-y... so we have a bug
> in dts.
>
> But the 3eea8b5d68c801fec788b411582b803463834752 is buggy, it should
> not overwrite ->maximum for axis it has no devicetree data for.

What do you mean? touchscreen-max-* _is_ device tree data for an axis.

> Maybe replacing
>
> + if (maximum || fuzz)
>
> in 3eea to (maximum && fuzz)... would help, but it is late in the
> cycle now, so I'd suggest just reverting 3eea8b.

No, both maximum and fuzz are optional. You can perfectly have one
without another.

Maxime

--
Maxime Ripard, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

Attachment: signature.asc
Description: Digital signature