linux-input.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Henrik Rydberg" <rydberg@euromail.se>
To: Benjamin Tissoires <benjamin.tissoires@gmail.com>
Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>,
	Jiri Kosina <jkosina@suse.cz>, Stephane Chatty <chatty@enac.fr>,
	linux-input@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH v4 14/14] HID: hid-multitouch: forwards MSC_TIMESTAMP
Date: Fri, 16 Nov 2012 21:09:26 +0100	[thread overview]
Message-ID: <20121116200926.GA652@polaris.bitmath.org> (raw)
In-Reply-To: <50A40CB3.8070105@gmail.com>

Hi Benjamin,

> > This was not what I envisioned from the discussion yesterday, I was
> > probably too vague. Firstly, the absolute time interval checked seems
> > to be 500 ms, which is arbitrary. Second, the wrap should probably use
> 
> Not exactly. The time interval was 5s, near enough the minimum requirement for this field (6.5535 s).

Sorry about that, but the argument remains; it should depend on logical_maximum.

> > (logical_maximum + 1). Third, we are still not sure whether we should
> > take the 'time = 0 means reset' logic literally, I think it needs to
> > be tested.
> 
> Again, the device I have never does any reset at the first touch, it just wraps the counter.
> The problem is that when there is no event, we now that no events occurred since the previous timestamp, modulus 6.5535 seconds.

So the very first win8 device we test already diverges from the win8
specification, how nice.

Ok, you have conviced me that comparing to a proper time makes
sense. However, I am not happy about using a separate time for this,
given that we will fill in the event time later in the
chain.

In addition, it would make perfect sense to extend the validity of the
hardware time with the event time for longer intervals. The relative
error only makes a difference on milisecond intervals.

A patch that seamlessly extends the validity of the hardware time,
ideally using the event time, seems like a viable solution.

> > +static void mt_compute_timestamp(struct mt_device *td, struct hid_field *field,
> > +				 unsigned value)
> > +{
> > +	unsigned dt;
> > +
> > +	if (value) {
> > +		dt = (value - td->dev_time) % (field->logical_maximum + 1);
> 
> The curious thing is that this is not working on my kernel:

Oups, I suspect (value - td->dev_time) needs to be explicitly converted to unsigned.

> I don't understand the meaning of adding !td->timestamp. :/

With the definition that timestamp == 0 means an unknown interval, we
do not want to send that value by accident.

Thanks,
Henrik

  reply	other threads:[~2012-11-16 20:02 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-11-14 15:59 [PATCH v4 00/14] Win 8 support for digitizers Benjamin Tissoires
2012-11-14 15:59 ` [PATCH v4 01/14] HID: hid-input: export hidinput_calc_abs_res Benjamin Tissoires
2012-11-14 15:59 ` [PATCH v4 02/14] HID: hid-input: round return value of hidinput_calc_abs_res Benjamin Tissoires
2012-11-14 15:59 ` [PATCH v4 03/14] HID: core: fix unit exponent parsing Benjamin Tissoires
2012-11-14 15:59 ` [PATCH v4 04/14] HID: hid-input: add usage_index in struct hid_usage Benjamin Tissoires
2012-11-14 15:59 ` [PATCH v4 05/14] HID: hid-multitouch: support arrays for the split of the touches in a report Benjamin Tissoires
2012-11-14 15:59 ` [PATCH v4 06/14] HID: hid-multitouch: get maxcontacts also from logical_max value Benjamin Tissoires
2012-11-14 15:59 ` [PATCH v4 07/14] HID: hid-multitouch: support T and C for win8 devices Benjamin Tissoires
2012-11-14 15:59 ` [PATCH v4 08/14] HID: hid-multitouch: move ALWAYS_VALID quirk check Benjamin Tissoires
2012-11-14 15:59 ` [PATCH v4 09/14] Input: introduce EV_MSC Timestamp Benjamin Tissoires
2012-11-14 16:33   ` Dmitry Torokhov
2012-11-15  9:14     ` Jiri Kosina
2012-11-14 17:53   ` Henrik Rydberg
2012-11-14 15:59 ` [PATCH v4 10/14] Input: mt: add input_mt_is_used Benjamin Tissoires
2012-11-14 17:16   ` Henrik Rydberg
2012-11-14 15:59 ` [PATCH v4 11/14] HID: hid-multitouch: add MT_QUIRK_IGNORE_DUPLICATES Benjamin Tissoires
2012-11-14 18:08   ` Henrik Rydberg
2012-11-14 15:59 ` [PATCH v4 12/14] HID: hid-multitouch: support for hovering devices Benjamin Tissoires
2012-11-14 18:43   ` Henrik Rydberg
2012-11-14 15:59 ` [PATCH v4 13/14] HID: hid-multitouch: fix Win 8 protocol Benjamin Tissoires
2012-11-14 18:47   ` Henrik Rydberg
2012-11-14 15:59 ` [PATCH v4 14/14] HID: hid-multitouch: forwards MSC_TIMESTAMP Benjamin Tissoires
2012-11-14 19:58   ` Henrik Rydberg
2012-11-14 21:27     ` Benjamin Tissoires
2012-11-16 20:09       ` Henrik Rydberg [this message]
2012-11-19 14:50         ` Benjamin Tissoires
2012-11-20 20:51           ` Henrik Rydberg
2012-11-20 20:54             ` Henrik Rydberg
2012-11-22 20:12               ` Benjamin Tissoires
2012-11-22 21:03                 ` Henrik Rydberg
2012-11-14 20:01 ` [PATCH v4 00/14] Win 8 support for digitizers Henrik Rydberg
2012-11-15  9:33   ` Jiri Kosina
2012-11-15 11:11     ` Benjamin Tissoires

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20121116200926.GA652@polaris.bitmath.org \
    --to=rydberg@euromail.se \
    --cc=benjamin.tissoires@gmail.com \
    --cc=chatty@enac.fr \
    --cc=dmitry.torokhov@gmail.com \
    --cc=jkosina@suse.cz \
    --cc=linux-input@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).