Hi Dmitry, On Mon, 5 Dec 2011 13:35:41 +0800 Feng Tang <feng.tang@xxxxxxxxx> wrote: > > > /* > > > * Sample found inconsistent by debouncing > > > or pressure is > > > * beyond the maximum. Don't report it to > > > user space, > > > * repeat at least once more the > > > measurement. */ > > > dev_dbg(&ts->client->dev, "ignored pressure > > > %d\n", rt); } > > > > What I meant that we need to ajust the logic to _exit_ the loop if we > > receive several samples with rt > max_rt instead of adding a new > > parameter. > > Yes, I did try a similar way to set a retry limit which also works > basically, code is like this > > @@ -169,6 +169,7 @@ static irqreturn_t tsc2007_soft_irq(int irq, void *handle) > struct tsc2007 *ts = handle; > struct input_dev *input = ts->input; > struct ts_event tc; > + u32 max_retry = 2; > u32 rt; > > while (!ts->stopped && tsc2007_is_pen_down(ts)) { > @@ -206,6 +207,8 @@ static irqreturn_t tsc2007_soft_irq(int irq, void *handle) > * repeat at least once more the measurement. > */ > dev_dbg(&ts->client->dev, "ignored pressure %d\n", > rt); > + if (!--max_retry) > + break; > } > > > But I still have some concerns: > 1. How many retries should we try? the tsc2007_read_values() will take about > 70 ms on our platform, plus the "poll_period", one retry will take about > 100ms. 2. I checked the noise data, its z1 value is always in a range from 9 > to 13, while the real data's z1 is always bigger than 300. So I think there > is a very clear gap to tell the noise data from valid data by z1 value. > > How do you think about it? Any further comments? Thanks, Feng -- 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