linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "H. Nikolaus Schaller" <hns@goldelico.com>
To: Pavel Machek <pavel@ucw.cz>
Cc: "Dmitry Torokhov" <dmitry.torokhov@gmail.com>,
	"Sebastian Reichel" <sre@kernel.org>,
	"Mark Rutland" <mark.rutland@arm.com>,
	"Benoît Cousson" <bcousson@baylibre.com>,
	"Tony Lindgren" <tony@atomide.com>,
	"Russell King" <linux@armlinux.org.uk>,
	"Arnd Bergmann" <arnd@arndb.de>,
	"Michael Welling" <mwelling@ieee.org>,
	"Mika Penttilä" <mika.penttila@nextfour.com>,
	"Javier Martinez Canillas" <javier@osg.samsung.com>,
	"Igor Grinberg" <grinberg@compulab.co.il>,
	"Andrew F. Davis" <afd@ti.com>, "Mark Brown" <broonie@kernel.org>,
	"Jonathan Cameron" <jic23@kernel.org>,
	"Rob Herring" <robh+dt@kernel.org>,
	"Alexander Stein" <alexander.stein@systec-electronic.com>,
	"Eric Engestrom" <eric@engestrom.ch>,
	"Hans de Goede" <hdegoede@redhat.com>,
	"Benjamin Tissoires" <benjamin.tissoires@redhat.com>,
	"Petr Cvek" <petr.cvek@tul.cz>,
	"Mauro Carvalho Chehab" <mchehab@kernel.org>,
	"Hans Verkuil" <hans.verkuil@cisco.com>,
	"Nick Dyer" <nick@shmanahar.org>,
	"Siebren Vroegindeweij" <siebren.vroegindeweij@hotmail.com>,
	"Michel Verlaan" <michel.verl@gmail.com>,
	linux-input@vger.kernel.org, devicetree@vger.kernel.org,
	linux-kernel@vger.kernel.org, linux-omap@vger.kernel.org,
	letux-kernel@openphoenux.org, linux-iio@vger.kernel.org,
	kernel@pyra-handheld.com,
	"Aaro Koskinen" <aaro.koskinen@nokia.com>,
	"Pali Rohár" <pali.rohar@gmail.com>,
	"Andrey Gelman" <andrey.gelman@compulab.co.il>,
	"Haibo Chen" <haibo.chen@freescale.com>
Subject: Re: [PATCH v9 1/8] drivers:input:tsc2007: add new common binding names, pre-calibration, flipping and rotation
Date: Sun, 19 Feb 2017 18:51:00 +0100	[thread overview]
Message-ID: <B41253A6-95D5-4E0F-ABD6-6909362843C4@goldelico.com> (raw)
In-Reply-To: <20170219171518.GA12833@amd>

[-- Attachment #1: Type: text/plain, Size: 3900 bytes --]

Hi Pavel,
I love discussions with you :)

> Am 19.02.2017 um 18:15 schrieb Pavel Machek <pavel@ucw.cz>:
> 
> 
>>> Solve it properly. That means passing calibration
>>> data from kernel to userland.
>> 
>> As written before, the really proper solution would be to provide floating
>> or fixed point subpixel input events. Not arbitrarily scaling up in kernel
>> and leaving downscaling to user space (where everybody can make it
>> worse).
> 
> That has no advantages,

It has the advantage of providing you with the full precision of raw data (but
properly scaled) so that you don't loose any bit of information. This is what
you just asked for - one or two mails before.

And it provides me (and my users) with properly scaled touch coordinates, which
is what I (and they - compare e.g. comment by Andreas Kemnade) ask for.

So it would be a solution that fulfills both requirements. And fulfilling
requirements of two groups of people is advantageous to making only one happy.
Isn't it?

> and floating point in kernel is hard. Also
> you'd either have to invent new interface, or you'd break touchscreen
> for people that already have their touchscreens calibrated.

No, I don't break calibration for people using a different chip.

And since we just upstream a solution for devices (GTA04) which already use this
mechanism for years, we also won't break their calibration, because they are happy
with the non-calibration it provides.

We break it only for those, who use the same chip *and* upgrade to a kernel which
includes this patch. And even then, only if they update their device tree to use
it (the default without DT modifications is to provide raw data as before). If
they stay with an older kernel or older DT there is no change and action required.

So there are ca. 5 pre-conditions that others will notice a change at all.

Do you think user-space recalibration is such a difficult task compared to
upgrading a kernel that it must therefore be avoided? Compared to other
kernel-userland synchronization problems it has the good side that you
even will notice it immediately and will know what to do (recalibrate once
and it is done forever).

> Just
> pass calibration data to userland.

What is this good for if kernel can already do the calibration for userland?
If the kernel does it, it don't even waste efforts to pass calibration data
to userland.

And don't forget: if you need calibration data in userland, there are much
better mechanisms. The simplest one is a file (e.g. xorg.conf) which is
something the kernel and X11 already supports.

I.e. adding a new mechanism to pass calibration data from the kernel to
user-space doesn't make any sense, IMHO.

If the kernel knows about calibration it should use it directly and process it.
Like in iio where you can get raw and processed data, although processing could
also be done completely in user-space. So there seem to be good reasons to do
it in kernel...

And, citing your argument from above: "Also you'd either have to invent
new interface, or you'd break touchscreen for people that already have their
touchscreens calibrated."

> 
>> But I don't think it is worth implementing subpixel touch events for real
>> world devices due to the jitter I mentioned.
> 
> Yes, that's not really proper solution, that just overengineered. Not
> worth implementing. Pass calibration data to userland.

You seem to repeat yourself and just say which solution you prefer,
but I am missing the arguments why your solution (Pass calibration data
to userland) is right and the best one. Which problems does it solve?
Which one does it solve better than others? How can you implement it in
a stable and portable way? How can you make sure that all user-space GUI
systems can and will make use of this calibration data?

BR and thanks,
Nikolaus


[-- Attachment #2: Message signed with OpenPGP using GPGMail --]
[-- Type: application/pgp-signature, Size: 801 bytes --]

  reply	other threads:[~2017-02-19 17:51 UTC|newest]

Thread overview: 94+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-12-28 14:53 [PATCH v9 0/8] drivers: touchscreen: tsc2007 and ads7846/tsc2046 improvements (use common touchscreen bindings, pre-calibration, spi fix and provide iio raw values) H. Nikolaus Schaller
2016-12-28 14:53 ` [PATCH v9 1/8] drivers:input:tsc2007: add new common binding names, pre-calibration, flipping and rotation H. Nikolaus Schaller
2017-01-09 17:43   ` Rob Herring
2017-01-28 19:33   ` Dmitry Torokhov
2017-01-28 21:44     ` H. Nikolaus Schaller
2017-02-17 20:40       ` Dmitry Torokhov
2017-02-18  3:22         ` Sebastian Reichel
2017-02-18 11:33           ` H. Nikolaus Schaller
2017-02-18 23:44             ` Sebastian Reichel
2017-02-19 12:07               ` H. Nikolaus Schaller
2017-02-19 20:15                 ` Sebastian Reichel
2017-02-20 16:49                   ` H. Nikolaus Schaller
2017-02-18  7:45         ` [Letux-kernel] " Andreas Kemnade
2017-02-18  9:15         ` Pavel Machek
2017-02-18 11:33           ` H. Nikolaus Schaller
2017-02-18 18:08             ` Pavel Machek
2017-02-18 19:17               ` H. Nikolaus Schaller
2017-02-18 22:54                 ` Pavel Machek
2017-02-19 12:05                   ` H. Nikolaus Schaller
2017-02-19 14:17                     ` Pavel Machek
2017-02-19 17:04                       ` H. Nikolaus Schaller
2017-02-19 17:15                         ` Pavel Machek
2017-02-19 17:51                           ` H. Nikolaus Schaller [this message]
2017-02-19 19:05                             ` Pavel Machek
2017-02-19 19:31                               ` H. Nikolaus Schaller
2017-02-19 20:57                                 ` Pavel Machek
2017-02-19 22:01                                   ` H. Nikolaus Schaller
2017-02-19 22:19                                     ` Pavel Machek
2017-02-20 16:50                                       ` H. Nikolaus Schaller
2017-02-20 19:29                                         ` Pavel Machek
2017-02-20 20:20                                           ` H. Nikolaus Schaller
2017-02-20 22:26                                         ` Petr Cvek
2017-02-21  8:29                                           ` H. Nikolaus Schaller
2017-02-19 22:29                                   ` [Letux-kernel] " Andreas Kemnade
2017-02-19 22:39                                     ` Pavel Machek
2017-02-20 16:50                                       ` H. Nikolaus Schaller
2017-02-20 19:32                                         ` Pavel Machek
2017-02-20 20:22                                           ` H. Nikolaus Schaller
2017-02-20 20:50                                             ` H. Nikolaus Schaller
2017-02-18 11:32         ` H. Nikolaus Schaller
2017-02-20  1:07           ` Dmitry Torokhov
2017-02-20 16:50             ` H. Nikolaus Schaller
2017-02-20 19:42               ` Pali Rohár
2017-02-20 20:35                 ` H. Nikolaus Schaller
2017-02-20 21:07                   ` Pali Rohár
2017-02-20 21:24                     ` H. Nikolaus Schaller
2017-02-20 21:54                       ` Pali Rohár
2017-02-21  6:42                         ` H. Nikolaus Schaller
2017-02-21  8:53                           ` Pali Rohár
2017-02-20 21:08                 ` Pali Rohár
2017-02-20 21:27                   ` H. Nikolaus Schaller
2017-02-20 21:50                     ` Dmitry Torokhov
2017-02-20 22:21                       ` Petr Cvek
2017-02-20 22:24                         ` Dmitry Torokhov
2017-02-21  6:56                           ` H. Nikolaus Schaller
2017-02-20 22:45                         ` Pali Rohár
2017-02-21  6:36                       ` H. Nikolaus Schaller
2017-02-21  9:09                         ` Pali Rohár
2017-02-21 17:07                           ` [Letux-kernel] " Andreas Kemnade
2017-02-20 22:04                     ` Pali Rohár
2017-02-21  6:49                       ` H. Nikolaus Schaller
2017-02-21  7:14                 ` H. Nikolaus Schaller
2017-02-21  8:47                   ` Pali Rohár
2017-02-21  8:57                     ` [Letux-kernel] " Christ van Willegen
2017-02-21 11:07               ` Pavel Machek
2016-12-28 14:53 ` [PATCH v9 2/8] drivers:input:tsc2007: check for presence and power down tsc2007 during probe H. Nikolaus Schaller
2017-02-17 20:52   ` Dmitry Torokhov
2016-12-28 14:53 ` [PATCH v9 3/8] DT:omap3+tsc2007: use new common touchscreen bindings H. Nikolaus Schaller
2016-12-28 14:53 ` [PATCH v9 4/8] drivers:input:ads7846(+tsc2046): add new common binding names, pre-calibration and flipping H. Nikolaus Schaller
2016-12-28 14:53 ` [PATCH v9 5/8] dt-bindings: input: move ads7846 bindings to touchscreen subdirectory H. Nikolaus Schaller
2017-02-23  9:54   ` H. Nikolaus Schaller
2016-12-28 14:53 ` [PATCH v9 6/8] drivers:input:ads7846(+tsc2046): fix spi module table H. Nikolaus Schaller
2017-01-28 19:35   ` Dmitry Torokhov
2017-01-29  8:39     ` H. Nikolaus Schaller
2017-01-29 18:01       ` Dmitry Torokhov
2017-01-29 18:25         ` H. Nikolaus Schaller
2017-02-01 20:20           ` H. Nikolaus Schaller
2017-02-01 21:14             ` Javier Martinez Canillas
2017-02-01 22:28               ` Dmitry Torokhov
2017-02-01 22:50                 ` Javier Martinez Canillas
2017-02-02  5:47                 ` H. Nikolaus Schaller
2016-12-28 14:53 ` [PATCH v9 7/8] DT:omap3+ads7846: use new common touchscreen bindings H. Nikolaus Schaller
2016-12-28 14:53 ` [PATCH v9 8/8] drivers:input:tsc2007: add iio interface to read external ADC input and temperature H. Nikolaus Schaller
2016-12-30 20:36   ` Jonathan Cameron
2017-02-17 21:27     ` Dmitry Torokhov
2017-02-18 11:35       ` H. Nikolaus Schaller
2017-01-16  6:34 ` [PATCH v9 0/8] drivers: touchscreen: tsc2007 and ads7846/tsc2046 improvements (use common touchscreen bindings, pre-calibration, spi fix and provide iio raw values) H. Nikolaus Schaller
2017-01-21 13:08   ` Jonathan Cameron
2017-01-21 13:17     ` H. Nikolaus Schaller
2017-01-28 18:16       ` [Letux-kernel] " H. Nikolaus Schaller
2017-02-12 15:18         ` H. Nikolaus Schaller
2017-02-15 14:03           ` H. Nikolaus Schaller
2017-02-17 20:43             ` Dmitry Torokhov
2017-02-18 11:30               ` H. Nikolaus Schaller

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=B41253A6-95D5-4E0F-ABD6-6909362843C4@goldelico.com \
    --to=hns@goldelico.com \
    --cc=aaro.koskinen@nokia.com \
    --cc=afd@ti.com \
    --cc=alexander.stein@systec-electronic.com \
    --cc=andrey.gelman@compulab.co.il \
    --cc=arnd@arndb.de \
    --cc=bcousson@baylibre.com \
    --cc=benjamin.tissoires@redhat.com \
    --cc=broonie@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=dmitry.torokhov@gmail.com \
    --cc=eric@engestrom.ch \
    --cc=grinberg@compulab.co.il \
    --cc=haibo.chen@freescale.com \
    --cc=hans.verkuil@cisco.com \
    --cc=hdegoede@redhat.com \
    --cc=javier@osg.samsung.com \
    --cc=jic23@kernel.org \
    --cc=kernel@pyra-handheld.com \
    --cc=letux-kernel@openphoenux.org \
    --cc=linux-iio@vger.kernel.org \
    --cc=linux-input@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-omap@vger.kernel.org \
    --cc=linux@armlinux.org.uk \
    --cc=mark.rutland@arm.com \
    --cc=mchehab@kernel.org \
    --cc=michel.verl@gmail.com \
    --cc=mika.penttila@nextfour.com \
    --cc=mwelling@ieee.org \
    --cc=nick@shmanahar.org \
    --cc=pali.rohar@gmail.com \
    --cc=pavel@ucw.cz \
    --cc=petr.cvek@tul.cz \
    --cc=robh+dt@kernel.org \
    --cc=siebren.vroegindeweij@hotmail.com \
    --cc=sre@kernel.org \
    --cc=tony@atomide.com \
    /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).