Hi Dimitry, 2011/12/12 Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> > > Hi Zhang, > > On Wed, Dec 07, 2011 at 05:10:02PM +0800, Zhang Jiejing wrote: > > egalax_ts use threaded_irq to report touch event, it will wake up the > > irq thread and stop the thread irq after process one touch event, so > > even user touch the screen very fast, the fastest event report speed > > is depends on the scheduler, so the event reported is a uniform speed. > > I am not sure what you mean by "the event reported is a uniform speed" > but since I2C operations generally sleep you are at the mercy of > scheduler anyways. But since IRQ thread is a real-time one it should get > scheduled immediately. I'm using 2.6.38 kernel and Android 4.0 and with a Freescale ARM A9(1.0GHz) Soc doing this test, but in my test, if I sweep on the touch screen with very fast speed, my UI can't move as fast as my finger, I first suspect our GPU not powerful to drive UI, but after test with USB mouse doing same sweep operation, the UI was moving quite fast. So I made this change, after made this change, I can't feed any lay between finger and the UI animation. I think the threaded_irq not quite real time. I checked kernel/irq/handle.c file, I found in handle_IRQ_event() functin, it will use wake_up_processs(action->thread); and the thread was created by kthread_create() in __setup_irq() function. I think in this implementation, it will be not so realtime, it depends on schedule time. > > > > > > This patch will let thread irq check the gpio's status, if the gpio > > is down, means still have more events, it will not exit the irq handler > > and continue process another new event, it can improve user experience. > > Does it really or it is your opinion that it would? > As I mentioned in above, I got this result with a real machine and environment test. > > Also, your change means that the driver can not be stopped/unloaded as > long as user had finger on the touchpad. This would need to be corrected > (but first you need to prove that the change is actually needed). > I need test in the driver unload case and suspend case. Thanks for you advance. BR, Jiejing > > Thanks. > > -- > Dmitry > -- > To unsubscribe from this list: send the line "unsubscribe linux-input" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html