All of lore.kernel.org
 help / color / mirror / Atom feed
From: Benjamin Tissoires <benjamin.tissoires@redhat.com>
To: Dmitry Torokhov <dmitry.torokhov@gmail.com>,
	KT Liao <kt.liao@emc.com.tw>, Rob Herring <robh+dt@kernel.org>,
	Aaron Ma <aaron.ma@canonical.com>,
	Hans de Goede <hdegoede@redhat.com>
Cc: "open list:HID CORE LAYER" <linux-input@vger.kernel.org>,
	lkml <linux-kernel@vger.kernel.org>,
	devicetree@vger.kernel.org
Subject: Re: [PATCH v2 00/10] Fix Elan I2C touchpads in latest generation from Lenovo
Date: Thu, 23 May 2019 15:25:19 +0200	[thread overview]
Message-ID: <CAO-hwJ+BzfWKKMKtM0Q3+qMfCm99kQeUfEdA97oz5bg_Jp_SyA@mail.gmail.com> (raw)
In-Reply-To: <20190521132712.2818-1-benjamin.tissoires@redhat.com>

Hi,

On Tue, May 21, 2019 at 3:27 PM Benjamin Tissoires
<benjamin.tissoires@redhat.com> wrote:
>
> Hi,
>
> This is the v2 from https://lkml.org/lkml/2018/10/12/633
>
> So I initially thought it would be easy to integrate the suggested changes
> in the v1, but it turns our that the changes to have the touchscreen-width
> and height parameters were quite hard to do.
>
> I finally postponed the issue by blacklisting the 2 laptops we knew were
> not working and tried to devote more time to understand both drivers more.
>
> But it s the time where Lenovo is preparing the new models, and guess what,
> they suffer from the same symptoms.

I just received the confirmation from Lenovo that this series makes
the new laptops working.

Cheers,
Benjamin

>
> So I took a few time to work on this and finally got my head around the
> width and height problem. Once I got it, it was simple clear, but this also
> means we can not really rely on a device tree property for that.
>
> So in the elan* drivers, the "traces" are simply how many antennas there
> are on each axis. Which means that if a trace of 4 is reported in the
> events, it means it is simply seen by 4 antennas. So the computation of the
> width/height is the following: we take how many antennas there are, we
> subtract one to have the number of holes between the antennas, and we
> divide the number of unit we have in the axis by the value we just
> computed.
> This gives a rough 4mm on the P52, in both directions.
>
> And once you get that, you can just realize that the unit of the width and
> height are just the same than the X and Y coordinates, so we can apply the
> same resolution.
>
> So, in the end, that means that elan_i2c needs the information, or it will
> not be able to convert the number of crossed antennas into a size, but this
> is something specific to this touchpad.
>
> So here come, 7 months later the v2 on the subject.
>
> Cheers,
> Benjamin
>
> Benjamin Tissoires (10):
>   Input: elantech - query the min/max information beforehand too
>   Input: elantech - add helper function elantech_is_buttonpad()
>   Input: elantech - detect middle button based on firmware version
>   dt-bindings: add more optional properties for elan_i2c touchpads
>   Input: elan_i2c - do not query the info if they are provided
>   Input: elantech/SMBus - export all capabilities from the PS/2 node
>   Input: elan_i2c - handle physical middle button
>   Input: elan_i2c - export true width/height
>   Input: elan_i2c - correct the width/size base value
>   Input: elantech: remove P52 from SMBus blacklist
>
>  .../devicetree/bindings/input/elan_i2c.txt    |  11 +
>  drivers/input/mouse/elan_i2c_core.c           |  85 +++--
>  drivers/input/mouse/elantech.c                | 318 ++++++++++--------
>  drivers/input/mouse/elantech.h                |   8 +
>  4 files changed, 251 insertions(+), 171 deletions(-)
>
> --
> 2.21.0
>

      parent reply	other threads:[~2019-05-23 13:25 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-05-21 13:27 [PATCH v2 00/10] Fix Elan I2C touchpads in latest generation from Lenovo Benjamin Tissoires
2019-05-21 13:27 ` [PATCH v2 01/10] Input: elantech - query the min/max information beforehand too Benjamin Tissoires
2019-05-21 13:27 ` [PATCH v2 02/10] Input: elantech - add helper function elantech_is_buttonpad() Benjamin Tissoires
2019-05-21 13:27 ` [PATCH v2 03/10] Input: elantech - detect middle button based on firmware version Benjamin Tissoires
2019-05-21 13:27 ` [PATCH v2 04/10] dt-bindings: add more optional properties for elan_i2c touchpads Benjamin Tissoires
2019-05-21 13:27 ` [PATCH v2 05/10] Input: elan_i2c - do not query the info if they are provided Benjamin Tissoires
2019-05-21 13:27 ` [PATCH v2 06/10] Input: elantech/SMBus - export all capabilities from the PS/2 node Benjamin Tissoires
2019-05-21 13:27 ` [PATCH v2 07/10] Input: elan_i2c - handle physical middle button Benjamin Tissoires
2019-05-21 13:27 ` [PATCH v2 08/10] Input: elan_i2c - export true width/height Benjamin Tissoires
2019-05-24  9:37   ` Benjamin Tissoires
2019-05-27  3:55     ` 廖崇榮
2019-05-27  3:55       ` 廖崇榮
2019-05-28  1:21       ` 'Dmitry Torokhov'
2019-05-28 18:13         ` Harry Cutts
2019-05-29  0:12           ` Sean O'Brien
2019-05-29  7:16             ` Benjamin Tissoires
2019-05-29 12:55               ` 廖崇榮
2019-05-29 12:55                 ` 廖崇榮
2019-05-29 13:16                 ` Benjamin Tissoires
2019-05-30  0:22               ` Peter Hutterer
2019-05-21 13:27 ` [PATCH v2 09/10] Input: elan_i2c - correct the width/size base value Benjamin Tissoires
2019-05-24  3:13   ` 廖崇榮
2019-05-24  3:13     ` 廖崇榮
2019-05-24  7:05     ` Benjamin Tissoires
2019-05-24  9:00       ` 廖崇榮
2019-05-24  9:00         ` 廖崇榮
2019-05-24  9:19         ` Benjamin Tissoires
2019-05-21 13:27 ` [PATCH v2 10/10] Input: elantech: remove P52 from SMBus blacklist Benjamin Tissoires
2019-05-23 13:25 ` Benjamin Tissoires [this message]

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=CAO-hwJ+BzfWKKMKtM0Q3+qMfCm99kQeUfEdA97oz5bg_Jp_SyA@mail.gmail.com \
    --to=benjamin.tissoires@redhat.com \
    --cc=aaron.ma@canonical.com \
    --cc=devicetree@vger.kernel.org \
    --cc=dmitry.torokhov@gmail.com \
    --cc=hdegoede@redhat.com \
    --cc=kt.liao@emc.com.tw \
    --cc=linux-input@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=robh+dt@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.