Re: [PATCH 2/2] Input: tsc2007 - Add a z1_low_threshhold platformdata parameter

From: Feng Tang
Date: Sun Dec 25 2011 - 22:17:11 EST


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-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/