Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1670015
| From | Bastien Nocera <hadess@hadess.net> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | Re: [PATCH] input: goodix: Poll the 'buffer status' bit before reading data |
| Date | 2017-06-20 00:50 +0200 |
| Message-ID | <tUdEC-hg-5@gated-at.bofh.it> (permalink) |
| References | <tqR3c-4CX-9@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
Hey, Sorry I took this long to look into this. On Thu, 2017-03-30 at 15:33 +0200, Paul Cercueil wrote: > The Goodix panel triggers an interrupt on touch events. However, its > registers will contain the valid values a short time after the > interrupt, and not when it's raised. At that moment, the 'buffer > status' > bit is set. > > Previously, if the 'buffer status' bit was not set when the registers > were read, the data was discarded and no input event was emitted, > causing "finger down" or "finger up" events to be missed sometimes. > > This went unnoticed until v4.9, as the DesignWare I2C driver commonly > used with this driver had enough latency for that bug to never > trigger. > > Now, in the IRQ handler we will poll (with a timeout) I don't like the fact that the timeout isn't actually a timeout, but a loop counter... > the 'buffer status' > bit and process the data of the panel as soon as this bit gets set. OK. > Note that the Goodix panel will send a few spurious interrupts after > the > 'finger up' event, in which the 'buffer status' bit will never be > set. Can you please re-send the patch with diff option that makes it easier to comment on whole patch? There's various block levels being mixed because they have a linefeed in common... I'm also CC:ing Hans to test it out as my Goodix tablet is still out of commission. Cheers
Back to linux.kernel | Previous | Next | Find similar | Unroll thread
Re: [PATCH] input: goodix: Poll the 'buffer status' bit before reading data Bastien Nocera <hadess@hadess.net> - 2017-06-20 00:50 +0200
csiph-web