Thread (17 messages) 17 messages, 2 authors, 2011-12-26

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

flat view

From: Feng Tang <hidden>
Date: 2011-12-01 06:19:03
Also in: lkml

On Thu, 1 Dec 2011 13:47:26 +0800
Dmitry Torokhov [off-list ref] wrote:
On Wed, Nov 30, 2011 at 10:34:18AM +0800, Feng Tang wrote:
quoted
On Tue, 29 Nov 2011 17:23:10 +0800
Dmitry Torokhov [off-list ref] wrote:
quoted
On Tue, Nov 29, 2011 at 04:12:58PM +0800, Feng Tang wrote:
quoted
This originates from a patch in Meego IVI kernel with the name
	linux-2.6.37-connext-0027-tsc2007.patch
There is no author info excepte a line "From  MeeGo
[off-list ref]"

When integrating tsc2007 on Intel IVI platform, there are a lot
of noise data whose z1 value is around 10 which is not a sane
"z1". So add a "z1_low_threshhold" to filter those nosie data,
to make the device work properly.
Sounds like a task for userspace to ignore pressure that is too
low. Bonus points for making it configurable so user can adjust
sensitivity.
Actually, there is one more point :), without this patch, the
driver won't work on our platforms.

The tsc2007_soft_irq will keep reading the input data unless there
is no valid pressure data. In our case, those noise data will be
seen as valid data during tsc2007_calculate_pressure(), and the
tsc2007_soft_irq will run endlessly.
Even if we add the pressure threshold would not that noise cause
endless stream of interrupts?
No, there is no endless interrupts for tsc2007. Without the z1
threshold, the while circle in tsc2007_soft_irq will run endlessly
as the noise data will be seen as a valid data:

		rt = tsc2007_calculate_pressure(ts, &tc);
		if (rt == 0 && !ts->get_pendown_state) {
			/*
			 * If pressure reported is 0 and we don't have
			 * callback to check pendown state, we have to
			 * assume that pen was lifted up.
			 */
			break;
		}

With the z1 threshold check, the rt will be 0 for noise data, and the
code flow broke out.
Also, what kind of z2 is reported with low z1? And do you implement
get_pendown_state()?
z2 seems normal as some data between 3000-4000. We don't have a
get_pendown_state().

Thanks,
Feng
Thanks.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help