Messages in this thread | | | Date | Fri, 29 May 2015 22:29:39 +0200 | From | Pavel Machek <> | Subject | Re: 4.1 touchscreen regression on n900 -- pinpointed [was Re: linux-n900 v4.1-rc4] |
| |
On Fri 2015-05-29 21:57:40, Maxime Ripard wrote: > 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.
Yes, and after your "cleanup", you overwrite maximum with zero with fuzz is specified.
->maximum contained 4096 before, your code sees that it is not specified in the device tree, and you go ahead and replace ->maximum with 0, anyway. Pavel -- (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
| |