Hi all,
I am found that when I touch the touchscreen on a imx258 machine and move quickly and not to stop, the kernel thread [imx_adc_ts] consume the cpu over 40% or more(sometimes 90%).
the kernel is 2.6.31 form the ltib.
Did anyone met that problem before?and how to solve it?
Here is the thread:
static int ts_thread(void *arg)
{
struct t_touch_screen ts_sample;
int wait = 0;
daemonize("imx_adc_ts");
while (input_ts_installed) {
try_to_freeze();
memset(&ts_sample, 0, sizeof(ts_sample));
if (0 != imx_adc_get_touch_sample(&ts_sample, !wait))
continue;
input_report_abs(imx_inputdev, ABS_X, ts_sample.x_position);
input_report_abs(imx_inputdev, ABS_Y, ts_sample.y_position);
input_report_abs(imx_inputdev, ABS_PRESSURE,
ts_sample.contact_resistance);
input_sync(imx_inputdev);
wait = ts_sample.contact_resistance;
msleep(10);
}
return 0;
}
And here is the cpu utilization:

anyone knows how to resolve it?
thanks!!!
zengshu