<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/linux.git/drivers/input/mouse/elantech.h, branch v4.12.9</title>
<subtitle>Linux kernel stable tree (mirror)</subtitle>
<id>https://git.radix-linux.su/kernel/linux.git/atom?h=v4.12.9</id>
<link rel='self' href='https://git.radix-linux.su/kernel/linux.git/atom?h=v4.12.9'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/'/>
<updated>2015-08-07T21:54:15+00:00</updated>
<entry>
<title>Input: elantech - add special check for fw_version 0x470f01 touchpad</title>
<updated>2015-08-07T21:54:15+00:00</updated>
<author>
<name>Duson Lin</name>
<email>dusonlin@emc.com.tw</email>
</author>
<published>2015-08-07T21:37:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=6b30c73e9f37183ad60c7f7050acf8e8edf91e9c'/>
<id>urn:sha1:6b30c73e9f37183ad60c7f7050acf8e8edf91e9c</id>
<content type='text'>
It is no need to check the packet[0] for sanity check when doing
elantech_packet_check_v4() function for fw_version = 0x470f01 touchpad.

Signed-off by: Duson Lin &lt;dusonlin@emc.com.tw&gt;
Reviewed-by: Ulrik De Bie &lt;ulrik.debie-os@e2big.org&gt;
Signed-off-by: Dmitry Torokhov &lt;dmitry.torokhov@gmail.com&gt;
</content>
</entry>
<entry>
<title>Input: elantech - fix absolute mode setting on some ASUS laptops</title>
<updated>2015-04-06T22:39:07+00:00</updated>
<author>
<name>Ulrik De Bie</name>
<email>ulrik.debie-os@e2big.org</email>
</author>
<published>2015-04-06T22:35:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=bd884149aca61de269fd9bad83fe2a4232ffab21'/>
<id>urn:sha1:bd884149aca61de269fd9bad83fe2a4232ffab21</id>
<content type='text'>
On ASUS TP500LN and X750JN, the touchpad absolute mode is reset each
time set_rate is done.

In order to fix this, we will verify the firmware version, and if it
matches the one in those laptops, the set_rate function is overloaded
with a function elantech_set_rate_restore_reg_07 that performs the
set_rate with the original function, followed by a restore of reg_07
(the register that sets the absolute mode on elantech v4 hardware).

Also the ASUS TP500LN and X750JN firmware version, capabilities, and
button constellation is added to elantech.c

Cc: stable@vger.kernel.org
Reported-and-tested-by: George Moutsopoulos &lt;gmoutso@yahoo.co.uk&gt;
Signed-off-by: Ulrik De Bie &lt;ulrik.debie-os@e2big.org&gt;
Signed-off-by: Dmitry Torokhov &lt;dmitry.torokhov@gmail.com&gt;
</content>
</entry>
<entry>
<title>Input: elantech - add support for trackpoint found on some v3 models</title>
<updated>2014-08-26T22:17:41+00:00</updated>
<author>
<name>Ulrik De Bie</name>
<email>ulrik.debie-os@e2big.org</email>
</author>
<published>2014-08-23T00:06:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=a2418fc4a13b5da8d007a038c0a6a50a54edfabd'/>
<id>urn:sha1:a2418fc4a13b5da8d007a038c0a6a50a54edfabd</id>
<content type='text'>
Some elantech v3 touchpad equipped laptops also have a trackpoint, before
this commit, these give sync errors. With this patch, the trackpoint is
provided as another input device: 'Elantech PS/2 TrackPoint'

The patch will also output messages that do not follow the expected pattern.
In the mean time I've seen 2 unknown packets occasionally:
0x04 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00
0x00 , 0x00 , 0x00 , 0x02 , 0x00 , 0x00
I don't know what those are for, but they can be safely ignored.

Currently all packets that are not known to v3 touchpad and where
packet[3] (the fourth byte) lowest nibble is 6 are now recognized as
PACKET_TRACKPOINT and processed by the new elantech_report_trackpoint.

This has been verified to work on a laptop Lenovo L530 where the
touchpad/trackpoint combined identify themselves as:
psmouse serio1: elantech: assuming hardware version 3 (with firmware version 0x350f02)
psmouse serio1: elantech: Synaptics capabilities query result 0xb9, 0x15, 0x0c.

Reviewed-by: David Herrmann &lt;dh.herrmann@gmail.com&gt;
Reviewed-by: Hans de Goede &lt;hdegoede@redhat.com&gt;
Signed-off-by: Ulrik De Bie &lt;ulrik.debie-os@e2big.org&gt;
Signed-off-by: Dmitry Torokhov &lt;dmitry.torokhov@gmail.com&gt;
</content>
</entry>
<entry>
<title>Input: elantech - fix touchpad initialization on Gigabyte U2442</title>
<updated>2014-05-05T19:34:22+00:00</updated>
<author>
<name>Hans de Goede</name>
<email>hdegoede@redhat.com</email>
</author>
<published>2014-05-05T16:36:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=36189cc3cd57ab0f1cd75241f93fe01de928ac06'/>
<id>urn:sha1:36189cc3cd57ab0f1cd75241f93fe01de928ac06</id>
<content type='text'>
The hw_version 3 Elantech touchpad on the Gigabyte U2442 does not accept
0x0b as initialization value for r10, this stand-alone version of the
driver: http://planet76.com/drivers/elantech/psmouse-elantech-v6.tar.bz2

Uses 0x03 which does work, so this means not setting bit 3 of r10 which
sets: "Enable Real H/W Resolution In Absolute mode"

Which will result in half the x and y resolution we get with that bit set,
so simply not setting it everywhere is not a solution. We've been unable to
find a way to identify touchpads where setting the bit will fail, so this
patch uses a dmi based blacklist for this.

https://bugzilla.kernel.org/show_bug.cgi?id=61151

Cc: stable@vger.kernel.org
Reported-by: Philipp Wolfer &lt;ph.wolfer@gmail.com&gt;
Tested-by: Philipp Wolfer &lt;ph.wolfer@gmail.com&gt;
Signed-off-by: Hans de Goede &lt;hdegoede@redhat.com&gt;
Signed-off-by: Dmitry Torokhov &lt;dmitry.torokhov@gmail.com&gt;
</content>
</entry>
<entry>
<title>Input: elantech - fix packet check for v3 and v4 hardware</title>
<updated>2013-08-25T00:52:35+00:00</updated>
<author>
<name>Matteo Delfino</name>
<email>kendatsuba@gmail.com</email>
</author>
<published>2013-08-15T07:09:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=acc0444bf83ea559fa84b527b1f49cf20b0df253'/>
<id>urn:sha1:acc0444bf83ea559fa84b527b1f49cf20b0df253</id>
<content type='text'>
The signatures of v3 and v4 packets change depending on the value of a
hardware flag called 'crc_enabled'. The packet type detection must change
accordingly.

This patch also restores a consistency check for v4 packets inadvertently
removed by commit:

9eebed7de660c0b5ab129a9de4f89d20b60de68c
Input: elantech - fix for newer hardware versions (v7)

A note about the naming convention: v3 hardware is associated with IC body
v5 while v4 hardware is associated with IC body v6 and v7. The above commit
refers to IC body v7, not to v7 hardware.

Tested on Samsung NP730U3E (fw = 0x675f05, ICv7, crc_enabled = 1)

Tested-by: Giovanni Frigione &lt;gio.frigione@gmail.com&gt;
Signed-off-by: Matteo Delfino &lt;kendatsuba@gmail.com&gt;
Signed-off-by: Dmitry Torokhov &lt;dmitry.torokhov@gmail.com&gt;
</content>
</entry>
<entry>
<title>Input: elantech - add resolution query support for v4 hardware</title>
<updated>2011-11-21T06:28:34+00:00</updated>
<author>
<name>JJ Ding</name>
<email>jj_ding@emc.com.tw</email>
</author>
<published>2011-11-21T06:26:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=3d95fd6ad8d3cf582a70ed65660017114b6e4065'/>
<id>urn:sha1:3d95fd6ad8d3cf582a70ed65660017114b6e4065</id>
<content type='text'>
It turns out that v4's firmware provides a command so we can query
the resolution. Let's use it.

Signed-off-by: JJ Ding &lt;jj_ding@emc.com.tw&gt;
Reviewed-by: Daniel Kurtz &lt;djkurtz@chromium.org&gt;
Signed-off-by: Dmitry Torokhov &lt;dtor@mail.ru&gt;
</content>
</entry>
<entry>
<title>Input: elantech - add support for elantech fast command</title>
<updated>2011-11-21T06:28:30+00:00</updated>
<author>
<name>JJ Ding</name>
<email>jj_ding@emc.com.tw</email>
</author>
<published>2011-11-21T06:21:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=b56b92a9a175faad4c182309a63f221219de9191'/>
<id>urn:sha1:b56b92a9a175faad4c182309a63f221219de9191</id>
<content type='text'>
Starting with v3 hardware, the firmware supports this shorter
elantech_send_cmd. Teach the driver to use it.

Signed-off-by: JJ Ding &lt;jj_ding@emc.com.tw&gt;
Reviewed-by: Daniel Kurtz &lt;djkurtz@chromium.org&gt;
Signed-off-by: Dmitry Torokhov &lt;dtor@mail.ru&gt;
</content>
</entry>
<entry>
<title>Input: elantech - better support all those v2 variants</title>
<updated>2011-09-21T05:46:27+00:00</updated>
<author>
<name>JJ Ding</name>
<email>jj_ding@emc.com.tw</email>
</author>
<published>2011-09-21T05:42:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=84a90b610a1473d732818ec5d041ab18eae77f14'/>
<id>urn:sha1:84a90b610a1473d732818ec5d041ab18eae77f14</id>
<content type='text'>
V2 hardware has many variants. This patch adddresses two issues:

 - some model also has debounce packets, but with a different signature
   than v3. Now we just check debounce for all v2 hardware.

 - due to different scanning methods the hardware uses, x and y ranges have
   to be calculated differently. And for some specific versions, we can just
   see them as custom-made, so set {x, y} the same values as Windows driver
   does.

Signed-off-by: JJ Ding &lt;jj_ding@emc.com.tw&gt;
Tested-by: Richard Schütz &lt;r.schtz@t-online.de&gt;
Reviewed-by: Éric Piel &lt;eric.piel@tremplin-utc.net&gt;
Signed-off-by: Dmitry Torokhov &lt;dtor@mail.ru&gt;
</content>
</entry>
<entry>
<title>Input: elantech - add v4 hardware support</title>
<updated>2011-09-09T17:35:02+00:00</updated>
<author>
<name>JJ Ding</name>
<email>jj_ding@emc.com.tw</email>
</author>
<published>2011-09-09T17:31:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=1dc6edec127e1fdb89d246189c232fe635d2f921'/>
<id>urn:sha1:1dc6edec127e1fdb89d246189c232fe635d2f921</id>
<content type='text'>
v4 hardware is a true multitouch capable touchpad (up to 5 fingers).
The packet format is quite complex, please see protocol document for
reference.

Signed-off-by: JJ Ding &lt;jj_ding@emc.com.tw&gt;
Signed-off-by: Dmitry Torokhov &lt;dtor@mail.ru&gt;
</content>
</entry>
<entry>
<title>Input: elantech - add v3 hardware support</title>
<updated>2011-09-09T17:34:58+00:00</updated>
<author>
<name>JJ Ding</name>
<email>jj_ding@emc.com.tw</email>
</author>
<published>2011-09-09T17:30:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=28f49616113f3a1fbef789319bfd2122d0c3663f'/>
<id>urn:sha1:28f49616113f3a1fbef789319bfd2122d0c3663f</id>
<content type='text'>
v3 hardware's packet format is almost identical to v2 (one/three finger touch),
except when sensing two finger touch, the hardware sends 12 bytes of data.

Signed-off-by: JJ Ding &lt;jj_ding@emc.com.tw&gt;
Acked-by: Daniel Kurtz &lt;djkurtz@chromium.org&gt;
Acked-by: Éric Piel &lt;eric.piel@tremplin-utc.net&gt;
Signed-off-by: Dmitry Torokhov &lt;dtor@mail.ru&gt;
</content>
</entry>
</feed>
