AnsweredAssumed Answered

The CPU utilization of [imx_adc_ts] on imx258

Question asked by zeng shu on Oct 17, 2012
Latest reply on Feb 4, 2015 by guru guru
Branched to a new discussion

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:

ts.jpg

 

anyone knows how to resolve it?

thanks!!!

 

 

zengshu

Outcomes