diff options
author | merge <null@invalid> | 2008-11-28 22:55:35 +0000 |
---|---|---|
committer | Andy Green <agreen@pads.home.warmcat.com> | 2008-11-28 22:55:35 +0000 |
commit | b6d34d41617a6315892217a49a62435f928e6ce4 (patch) | |
tree | 02264a4d6dbc7e1931930f4c66ccc35d7f3048a8 | |
parent | 7205f0aac5139e31ea870b056c7120ebcc0f234d (diff) |
MERGE-via-pending-tracking-hist-MERGE-via-stable-tracking-fix-last_issued-ts_filter_medi
pending-tracking-hist top was MERGE-via-stable-tracking-fix-last_issued-ts_filter_medi / 404664ee400e5a47f66a4dce9427f3fd4ae22d38 ... parent commitmessage:
From: merge <null@invalid>
MERGE-via-stable-tracking-hist-fix-last_issued-ts_filter_medi
stable-tracking-hist top was fix-last_issued-ts_filter_medi / 80f4b57fef5dcffbb1d93fa43432952c168860ed ... parent commitmessage:
From: Nelson Castillo <nelsoneci@gmail.com>
fix-last_issued-ts_filter_median.patch
- Decimation_below was not being used in the median filter. Fixed.
- Decimation_below should be small. There's no need to change many
points in the median filter if we're moving slow. In this way we
will filter more noise.
- Now we deliver 2X input events -- 1 each 5 milliseconds.
(side effect of the previous two changes)
- We should omit the last point before the UP event but I think this
belongs to user-space. I'm programming a tslib filter ("skip") and
if it doesn't work will I'll send a patch later to skip the last
point in the driver.
Signed-off-by: Nelson Castillo <nelsoneci@gmail.com>
-rw-r--r-- | arch/arm/mach-s3c2440/mach-gta02.c | 4 | ||||
-rw-r--r-- | drivers/input/touchscreen/ts_filter_median.c | 3 |
2 files changed, 4 insertions, 3 deletions
diff --git a/arch/arm/mach-s3c2440/mach-gta02.c b/arch/arm/mach-s3c2440/mach-gta02.c index 2baf38f9f95..dcf0d993337 100644 --- a/arch/arm/mach-s3c2440/mach-gta02.c +++ b/arch/arm/mach-s3c2440/mach-gta02.c @@ -1010,9 +1010,9 @@ static struct s3c2410_udc_mach_info gta02_udc_cfg = { static struct ts_filter_median_configuration gta02_ts_median_config = { .extent = 31, - .decimation_below = 28, + .decimation_below = 5, .decimation_threshold = 8 * 3, - .decimation_above = 12, + .decimation_above = 10, }; static struct ts_filter_mean_configuration gta02_ts_mean_config = { diff --git a/drivers/input/touchscreen/ts_filter_median.c b/drivers/input/touchscreen/ts_filter_median.c index 47970da3c6a..d60c4314b87 100644 --- a/drivers/input/touchscreen/ts_filter_median.c +++ b/drivers/input/touchscreen/ts_filter_median.c @@ -190,7 +190,8 @@ static int ts_filter_median_process(struct ts_filter *tsf, int *coords) else tsfm->decimation_count = tsfm->config->decimation_below; - memcpy(&tsfm->last_issued, coords, tsfm->tsf.count_coords); + memcpy(&tsfm->last_issued[0], coords, + tsfm->tsf.count_coords * sizeof(int)); if (tsf->next) /* chain */ return (tsf->next->api->process)(tsf->next, coords); |