linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [git pull] Input updates for 3.18-rc4
@ 2014-11-14 22:26 Dmitry Torokhov
  2014-11-19 15:32 ` Benjamin Tissoires
  0 siblings, 1 reply; 15+ messages in thread
From: Dmitry Torokhov @ 2014-11-14 22:26 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: linux-kernel, linux-input, Jiri Kosina

Hi Linus,

Please pull from:

	git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input.git for-linus
or
	master.kernel.org:/pub/scm/linux/kernel/git/dtor/input.git for-linus

to receive updates for the input subsystem. Mostly small fixups to PS/2
tochpad drivers (ALPS, Elantech, Synaptics) to better deal with specific
hardware.

Changelog:
---------

NeilBrown (1):
      Input: twl4030-pwrbutton - ensure a wakeup event is recorded.

Pali Rohár (3):
      Input: alps - ignore potential bare packets when device is out of sync
      Input: alps - allow up to 2 invalid packets without resetting device
      Input: alps - ignore bad data on Dell Latitudes E6440 and E7440

Takashi Iwai (1):
      Input: synaptics - add min/max quirk for Lenovo T440s

Ulrik De Bie (5):
      Input: elantech - use elantech_report_trackpoint for hardware v4 too
      Input: elantech - fix crc_enabled for Fujitsu H730
      Input: elantech - report the middle button of the touchpad
      Input: elantech - provide a sysfs knob for crc_enabled
      Input: elantech - update the documentation


Diffstat:
--------

 Documentation/input/elantech.txt       | 81 +++++++++++++++++++++++++++++++---
 drivers/input/misc/twl4030-pwrbutton.c |  1 +
 drivers/input/mouse/alps.c             | 28 +++++++++++-
 drivers/input/mouse/elantech.c         | 56 +++++++++++++++++++++--
 drivers/input/mouse/synaptics.c        |  5 ++-
 5 files changed, 158 insertions(+), 13 deletions(-)

-- 
Dmitry


^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [git pull] Input updates for 3.18-rc4
  2014-11-14 22:26 [git pull] Input updates for 3.18-rc4 Dmitry Torokhov
@ 2014-11-19 15:32 ` Benjamin Tissoires
  2014-11-19 18:00   ` Marcus Overhagen
  0 siblings, 1 reply; 15+ messages in thread
From: Benjamin Tissoires @ 2014-11-19 15:32 UTC (permalink / raw)
  To: Ulrik De Bie
  Cc: Hans de Goede, Dmitry Torokhov, linux-kernel, linux-input, Jiri Kosina

Hi Ulrik,


On Fri, Nov 14, 2014 at 5:26 PM, Dmitry Torokhov
<dmitry.torokhov@gmail.com> wrote:
> Hi Linus,
>
> Please pull from:
>
>         git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input.git for-linus
> or
>         master.kernel.org:/pub/scm/linux/kernel/git/dtor/input.git for-linus
>
> to receive updates for the input subsystem. Mostly small fixups to PS/2
> tochpad drivers (ALPS, Elantech, Synaptics) to better deal with specific
> hardware.
>
> Changelog:
> ---------
>
> NeilBrown (1):
>       Input: twl4030-pwrbutton - ensure a wakeup event is recorded.
>
> Pali Rohár (3):
>       Input: alps - ignore potential bare packets when device is out of sync
>       Input: alps - allow up to 2 invalid packets without resetting device
>       Input: alps - ignore bad data on Dell Latitudes E6440 and E7440
>
> Takashi Iwai (1):
>       Input: synaptics - add min/max quirk for Lenovo T440s
>
> Ulrik De Bie (5):
>       Input: elantech - use elantech_report_trackpoint for hardware v4 too
>       Input: elantech - fix crc_enabled for Fujitsu H730
>       Input: elantech - report the middle button of the touchpad
>       Input: elantech - provide a sysfs knob for crc_enabled
>       Input: elantech - update the documentation

It looks like this elantech changes raise some warnings on a Samsung
laptop. Can you have a look please?
https://bugzilla.redhat.com/show_bug.cgi?id=1165390

Hans and myself are in CC of the bug report, we can ask further
details to the reporter if requested.

Cheers,
Benjamin

>
>
> Diffstat:
> --------
>
>  Documentation/input/elantech.txt       | 81 +++++++++++++++++++++++++++++++---
>  drivers/input/misc/twl4030-pwrbutton.c |  1 +
>  drivers/input/mouse/alps.c             | 28 +++++++++++-
>  drivers/input/mouse/elantech.c         | 56 +++++++++++++++++++++--
>  drivers/input/mouse/synaptics.c        |  5 ++-
>  5 files changed, 158 insertions(+), 13 deletions(-)
>
> --
> Dmitry
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-input" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [git pull] Input updates for 3.18-rc4
  2014-11-19 15:32 ` Benjamin Tissoires
@ 2014-11-19 18:00   ` Marcus Overhagen
  2014-11-19 18:12     ` Dmitry Torokhov
  0 siblings, 1 reply; 15+ messages in thread
From: Marcus Overhagen @ 2014-11-19 18:00 UTC (permalink / raw)
  To: Benjamin Tissoires
  Cc: Ulrik De Bie, Hans de Goede, Dmitry Torokhov, linux-kernel,
	linux-input, Jiri Kosina

I'm not sure if my problems are related, but anyway:

I'm using a Samsung NP730U3E notebook that also has an elantech touchpad.

With 3.18.0-rc3 two finger scrolling in Firefox is smoth, but with
3.18.0-rc5 I have to press a
lot harder and usually scrolling only startes after stopping the
movement shortly and retrying once

I skipped rc4.

from RC3 dmesg:
[   20.507633] psmouse serio1: elantech: assuming hardware version 4
(with firmware version 0x675f04)
[   20.520740] psmouse serio1: elantech: Synaptics capabilities query
result 0x10, 0x15, 0x0e.

regards
Marcus



On Wed, Nov 19, 2014 at 4:32 PM, Benjamin Tissoires
<benjamin.tissoires@gmail.com> wrote:
> Hi Ulrik,
>
>
> On Fri, Nov 14, 2014 at 5:26 PM, Dmitry Torokhov
> <dmitry.torokhov@gmail.com> wrote:
>> Hi Linus,
>>
>> Please pull from:
>>
>>         git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input.git for-linus
>> or
>>         master.kernel.org:/pub/scm/linux/kernel/git/dtor/input.git for-linus
>>
>> to receive updates for the input subsystem. Mostly small fixups to PS/2
>> tochpad drivers (ALPS, Elantech, Synaptics) to better deal with specific
>> hardware.
>>
>> Changelog:
>> ---------
>>
>> NeilBrown (1):
>>       Input: twl4030-pwrbutton - ensure a wakeup event is recorded.
>>
>> Pali Rohár (3):
>>       Input: alps - ignore potential bare packets when device is out of sync
>>       Input: alps - allow up to 2 invalid packets without resetting device
>>       Input: alps - ignore bad data on Dell Latitudes E6440 and E7440
>>
>> Takashi Iwai (1):
>>       Input: synaptics - add min/max quirk for Lenovo T440s
>>
>> Ulrik De Bie (5):
>>       Input: elantech - use elantech_report_trackpoint for hardware v4 too
>>       Input: elantech - fix crc_enabled for Fujitsu H730
>>       Input: elantech - report the middle button of the touchpad
>>       Input: elantech - provide a sysfs knob for crc_enabled
>>       Input: elantech - update the documentation
>
> It looks like this elantech changes raise some warnings on a Samsung
> laptop. Can you have a look please?
> https://bugzilla.redhat.com/show_bug.cgi?id=1165390
>
> Hans and myself are in CC of the bug report, we can ask further
> details to the reporter if requested.
>
> Cheers,
> Benjamin
>
>>
>>
>> Diffstat:
>> --------
>>
>>  Documentation/input/elantech.txt       | 81 +++++++++++++++++++++++++++++++---
>>  drivers/input/misc/twl4030-pwrbutton.c |  1 +
>>  drivers/input/mouse/alps.c             | 28 +++++++++++-
>>  drivers/input/mouse/elantech.c         | 56 +++++++++++++++++++++--
>>  drivers/input/mouse/synaptics.c        |  5 ++-
>>  5 files changed, 158 insertions(+), 13 deletions(-)
>>
>> --
>> Dmitry
>>
>> --
>> To unsubscribe from this list: send the line "unsubscribe linux-input" in
>> the body of a message to majordomo@vger.kernel.org
>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [git pull] Input updates for 3.18-rc4
  2014-11-19 18:00   ` Marcus Overhagen
@ 2014-11-19 18:12     ` Dmitry Torokhov
  2014-11-19 18:20       ` Marcus Overhagen
  0 siblings, 1 reply; 15+ messages in thread
From: Dmitry Torokhov @ 2014-11-19 18:12 UTC (permalink / raw)
  To: Marcus Overhagen
  Cc: Benjamin Tissoires, Ulrik De Bie, Hans de Goede, linux-kernel,
	linux-input, Jiri Kosina

Hi Marcus,

On Wed, Nov 19, 2014 at 07:00:16PM +0100, Marcus Overhagen wrote:
> I'm not sure if my problems are related, but anyway:
> 
> I'm using a Samsung NP730U3E notebook that also has an elantech touchpad.
> 
> With 3.18.0-rc3 two finger scrolling in Firefox is smoth, but with
> 3.18.0-rc5 I have to press a
> lot harder and usually scrolling only startes after stopping the
> movement shortly and retrying once
> 
> I skipped rc4.
> 
> from RC3 dmesg:
> [   20.507633] psmouse serio1: elantech: assuming hardware version 4
> (with firmware version 0x675f04)
> [   20.520740] psmouse serio1: elantech: Synaptics capabilities query
> result 0x10, 0x15, 0x0e.
> 

Can you try reverting caeb0d37fa3e387eb0dd22e5d497523c002033d1 please?
The rest should have no effect on you.

Thanks.

-- 
Dmitry

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [git pull] Input updates for 3.18-rc4
  2014-11-19 18:12     ` Dmitry Torokhov
@ 2014-11-19 18:20       ` Marcus Overhagen
  2014-11-19 18:39         ` Dmitry Torokhov
  0 siblings, 1 reply; 15+ messages in thread
From: Marcus Overhagen @ 2014-11-19 18:20 UTC (permalink / raw)
  To: Dmitry Torokhov
  Cc: Benjamin Tissoires, Ulrik De Bie, Hans de Goede, linux-kernel,
	linux-input, Jiri Kosina

Hi,

I will try reverting that, but may need until tomorrow or Friday.

Just now I made a warm reboot from rc3 to rc5 and initially scrolling
behaviour was ok,  but after about a minute it went wrong and I got
this:

[  179.705362] ------------[ cut here ]------------
[  179.705382] WARNING: CPU: 3 PID: 0 at
drivers/input/mouse/elantech.c:433
elantech_report_trackpoint.isra.5+0x199/0x1b0 [psmouse]()
[  179.705385] psmouse serio1: elantech: Unexpected trackpoint message
[  179.705387] Modules linked in: fuse ctr ccm nls_utf8 cifs
dns_resolver fscache joydev mousedev iTCO_wdt iTCO_vendor_support ecb
coretemp arc4 intel_rapl uvcvideo x86_pkg_temp_thermal iwldvm
intel_powerclamp samsung_laptop videobuf2_vmalloc videobuf2_memops
mac80211 kvm_intel videobuf2_core evdev v4l2_common btusb r8169 radeon
iwlwifi psmouse videodev mac_hid tpm_infineon kvm serio_raw bluetooth
pcspkr i2c_i801 lpc_ich rtsx_usb_ms snd_hda_codec_hdmi mii cfg80211
ttm i915 media tpm_tis rfkill ac memstick fan thermal hwmon wmi tpm
snd_hda_codec_realtek battery snd_hda_codec_generic button video
snd_hda_intel drm_kms_helper snd_hda_controller snd_hda_codec drm
snd_hwdep snd_pcm intel_gtt i2c_algo_bit snd_timer i2c_core mei_me snd
mei soundcore shpchp sch_fq_codel processor ext4 crc16 mbcache jbd2
algif_skcipher
[  179.705458]  af_alg dm_crypt dm_mod crct10dif_pclmul crc32_pclmul
crc32c_intel ghash_clmulni_intel rtsx_usb_sdmmc led_class mmc_core
rtsx_usb sd_mod aesni_intel ahci aes_x86_64 lrw gf128mul libahci atkbd
glue_helper ablk_helper libps2 cryptd libata ehci_pci xhci_pci
xhci_hcd ehci_hcd scsi_mod usbcore usb_common i8042 serio
[  179.705490] CPU: 3 PID: 0 Comm: swapper/3 Not tainted 3.18.0-rc5-marcus-1 #1
[  179.705493] Hardware name: SAMSUNG ELECTRONICS CO., LTD.
730U3E/740U3E/NP730U3E-S05DE, BIOS P03ABW.051.130226.dg 02/26/2013
[  179.705495]  0000000000000000 f7eda65f9c13f6f4 ffff8801af383c48
ffffffff81547b54
[  179.705500]  0000000000000000 ffff8801af383ca0 ffff8801af383c88
ffffffff8106bbc1
[  179.705504]  0000000000000000 ffff8800c4489400 ffff8801a5e50d78
ffff8800c47dd400
[  179.705509] Call Trace:
[  179.705512]  <IRQ>  [<ffffffff81547b54>] dump_stack+0x4e/0x71
[  179.705523]  [<ffffffff8106bbc1>] warn_slowpath_common+0x81/0xa0
[  179.705527]  [<ffffffff8106bc35>] warn_slowpath_fmt+0x55/0x70
[  179.705536]  [<ffffffffa0748639>]
elantech_report_trackpoint.isra.5+0x199/0x1b0 [psmouse]
[  179.705543]  [<ffffffffa0748e28>] elantech_process_byte+0x6e8/0xf90 [psmouse]
[  179.705548]  [<ffffffff810a37d8>] ? enqueue_task_fair+0x128/0x5d0
[  179.705555]  [<ffffffffa073ee95>] psmouse_handle_byte+0x15/0x150 [psmouse]
[  179.705561]  [<ffffffffa073f073>] psmouse_interrupt+0xa3/0x380 [psmouse]
[  179.705571]  [<ffffffffa0000f0a>] serio_interrupt+0x4a/0xa0 [serio]
[  179.705580]  [<ffffffffa000a607>] i8042_interrupt+0x197/0x3a0 [i8042]
[  179.705585]  [<ffffffff810d50bc>] ? __hrtimer_start_range_ns+0x2fc/0x420
[  179.705591]  [<ffffffff810c3bce>] handle_irq_event_percpu+0x3e/0x1f0
[  179.705596]  [<ffffffff810c3dc1>] handle_irq_event+0x41/0x70
[  179.705601]  [<ffffffff810c6eee>] handle_edge_irq+0x9e/0x110
[  179.705607]  [<ffffffff810172b2>] handle_irq+0x22/0x40
[  179.705612]  [<ffffffff81550201>] do_IRQ+0x51/0xf0
[  179.705617]  [<ffffffff8154e1ad>] common_interrupt+0x6d/0x6d
[  179.705619]  <EOI>  [<ffffffff813fbbc5>] ? cpuidle_enter_state+0x65/0x1a0
[  179.705629]  [<ffffffff813fbbb1>] ? cpuidle_enter_state+0x51/0x1a0
[  179.705634]  [<ffffffff813fbde7>] cpuidle_enter+0x17/0x20
[  179.705638]  [<ffffffff810ac509>] cpu_startup_entry+0x3d9/0x460
[  179.705644]  [<ffffffff81044074>] start_secondary+0x1b4/0x1f0
[  179.705647] ---[ end trace c9ff680de7cfddf7 ]---
[  179.705652] psmouse serio1: elantech: PS/2 packet [
[  179.705654]  0x24 , 0xed , 0xcf , 0x46 , 0xfd , 0xf3 ]
[  179.716569] psmouse serio1: elantech: PS/2 packet [
[  179.716573]  0x24 , 0xfa , 0xe9 , 0x46 , 0xfc , 0xec ]
[  179.727776] psmouse serio1: elantech: PS/2 packet [
[  179.727780]  0x24 , 0xfd , 0xe9 , 0x46 , 0xfa , 0xdc ]
[  179.738985] psmouse serio1: elantech: PS/2 packet [
[  179.738991]  0x24 , 0xff , 0xe9 , 0x46 , 0xf7 , 0xde ]
[  179.851051] psmouse serio1: elantech: PS/2 packet [
[  179.851057]  0x20 , 0x00 , 0xfd , 0x46 , 0x00 , 0x00 ]

On Wed, Nov 19, 2014 at 7:12 PM, Dmitry Torokhov
<dmitry.torokhov@gmail.com> wrote:
> Hi Marcus,
>
> On Wed, Nov 19, 2014 at 07:00:16PM +0100, Marcus Overhagen wrote:
>> I'm not sure if my problems are related, but anyway:
>>
>> I'm using a Samsung NP730U3E notebook that also has an elantech touchpad.
>>
>> With 3.18.0-rc3 two finger scrolling in Firefox is smoth, but with
>> 3.18.0-rc5 I have to press a
>> lot harder and usually scrolling only startes after stopping the
>> movement shortly and retrying once
>>
>> I skipped rc4.
>>
>> from RC3 dmesg:
>> [   20.507633] psmouse serio1: elantech: assuming hardware version 4
>> (with firmware version 0x675f04)
>> [   20.520740] psmouse serio1: elantech: Synaptics capabilities query
>> result 0x10, 0x15, 0x0e.
>>
>
> Can you try reverting caeb0d37fa3e387eb0dd22e5d497523c002033d1 please?
> The rest should have no effect on you.
>
> Thanks.
>
> --
> Dmitry

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [git pull] Input updates for 3.18-rc4
  2014-11-19 18:20       ` Marcus Overhagen
@ 2014-11-19 18:39         ` Dmitry Torokhov
  2014-11-19 19:23           ` Marcus Overhagen
  0 siblings, 1 reply; 15+ messages in thread
From: Dmitry Torokhov @ 2014-11-19 18:39 UTC (permalink / raw)
  To: Marcus Overhagen
  Cc: Benjamin Tissoires, Ulrik De Bie, Hans de Goede, linux-kernel,
	linux-input, Jiri Kosina

On Wed, Nov 19, 2014 at 07:20:21PM +0100, Marcus Overhagen wrote:
> Hi,
> 
> I will try reverting that, but may need until tomorrow or Friday.
> 
> Just now I made a warm reboot from rc3 to rc5 and initially scrolling
> behaviour was ok,  but after about a minute it went wrong and I got
> this:
> 
> [  179.705362] ------------[ cut here ]------------
> [  179.705382] WARNING: CPU: 3 PID: 0 at
> drivers/input/mouse/elantech.c:433
> elantech_report_trackpoint.isra.5+0x199/0x1b0 [psmouse]()
> [  179.705385] psmouse serio1: elantech: Unexpected trackpoint message

Or just this for now:

diff --git a/drivers/input/mouse/elantech.c b/drivers/input/mouse/elantech.c
index 3fcb6b3..294f613 100644
--- a/drivers/input/mouse/elantech.c
+++ b/drivers/input/mouse/elantech.c
@@ -793,7 +793,7 @@ static int elantech_packet_check_v4(struct psmouse *psmouse)
 	unsigned char packet_type = packet[3] & 0x03;
 	bool sanity_check;
 
-	if ((packet[3] & 0x0f) == 0x06)
+	if ((packet[3] & 0x0f) == 0x06 && etd->tp_dev)
 		return PACKET_TRACKPOINT;
 
 	/*

-- 
Dmitry

^ permalink raw reply related	[flat|nested] 15+ messages in thread

* Re: [git pull] Input updates for 3.18-rc4
  2014-11-19 18:39         ` Dmitry Torokhov
@ 2014-11-19 19:23           ` Marcus Overhagen
  2014-11-19 21:05             ` ulrik.debie-os
  0 siblings, 1 reply; 15+ messages in thread
From: Marcus Overhagen @ 2014-11-19 19:23 UTC (permalink / raw)
  To: Dmitry Torokhov
  Cc: Benjamin Tissoires, Ulrik De Bie, Hans de Goede, linux-kernel,
	linux-input, Jiri Kosina

Hi Dmitry,

luckily I found some time right now. I haven't reverted the original large
patch, but I tested your short patch and it fixes the problem for me.

regards
Marcus

On Wed, Nov 19, 2014 at 7:39 PM, Dmitry Torokhov
<dmitry.torokhov@gmail.com> wrote:
> On Wed, Nov 19, 2014 at 07:20:21PM +0100, Marcus Overhagen wrote:
>> Hi,
>>
>> I will try reverting that, but may need until tomorrow or Friday.
>>
>> Just now I made a warm reboot from rc3 to rc5 and initially scrolling
>> behaviour was ok,  but after about a minute it went wrong and I got
>> this:
>>
>> [  179.705362] ------------[ cut here ]------------
>> [  179.705382] WARNING: CPU: 3 PID: 0 at
>> drivers/input/mouse/elantech.c:433
>> elantech_report_trackpoint.isra.5+0x199/0x1b0 [psmouse]()
>> [  179.705385] psmouse serio1: elantech: Unexpected trackpoint message
>
> Or just this for now:
>
> diff --git a/drivers/input/mouse/elantech.c b/drivers/input/mouse/elantech.c
> index 3fcb6b3..294f613 100644
> --- a/drivers/input/mouse/elantech.c
> +++ b/drivers/input/mouse/elantech.c
> @@ -793,7 +793,7 @@ static int elantech_packet_check_v4(struct psmouse *psmouse)
>         unsigned char packet_type = packet[3] & 0x03;
>         bool sanity_check;
>
> -       if ((packet[3] & 0x0f) == 0x06)
> +       if ((packet[3] & 0x0f) == 0x06 && etd->tp_dev)
>                 return PACKET_TRACKPOINT;
>
>         /*
>
> --
> Dmitry

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [git pull] Input updates for 3.18-rc4
  2014-11-19 19:23           ` Marcus Overhagen
@ 2014-11-19 21:05             ` ulrik.debie-os
  2014-11-19 21:49               ` Marcus Overhagen
  2014-11-20 14:44               ` Benjamin Tissoires
  0 siblings, 2 replies; 15+ messages in thread
From: ulrik.debie-os @ 2014-11-19 21:05 UTC (permalink / raw)
  To: Marcus Overhagen
  Cc: Dmitry Torokhov, Benjamin Tissoires, Hans de Goede, linux-kernel,
	linux-input, Jiri Kosina

Hi,

Thanks Dmitry, the fix you provided will mitigate the regression. But
there might be more that is going on for v4 hardware. The detection
of PACKET_TRACKPOINT can be made more strict.
Thank you Marcus and Benjamin for the reports.

Sorry for the regression, it was not expected that lowest nibble of packet[3]
is 0x6 for non-trackpoint packets.

So we have two laptops where 
1) according to the msb of the capabilities has no trackpoint
Benjamin, can you give feedback if the laptop has actually a trackpoint/stick/
how else one calls that strange but convenient thing in the middle of the 
keyboard ?
Marcus, do you even have a trackpoint ?


2) mouse packets are received on serio that smell like a trackpoint packet.
When I look at the packet dump from marcus,
It would also fail the sanity check when crc_enabled is off, but probably
succeeds on marcus laptop ? 

Marcus, can you send the firmware and capabilities information for your laptop
(it is available in the kernel messages). Could you send me a kernel message log for a period of 1 minute when using the touchpad with the debug set to 2 ?

I wonder packet[3]==0x46, why the 0x40 and 0x04 bits are set and the current
elantech driver does not do anything with that part of the information. The
packets from Marcus are probably v4 'MOTION' packets, and since the odd 
behaviour when they are ignored, they at least are containing the motion
information, but maybe some extra information is hidden. There are multiple
of those packets in a very short timeframe (milliseconds), I wonder if all
of the MOTION packets have this signature. 

At least now I'm happy that the warning is there, because otherwise it 
might be more difficult to pinpoint the cause.

Thanks,
Ulrik

On Wed, Nov 19, 2014 at 08:23:32PM +0100, Marcus Overhagen wrote:
> Date: Wed, 19 Nov 2014 20:23:32 +0100
> From: Marcus Overhagen <marcus.overhagen@gmail.com>
> To: Dmitry Torokhov <dmitry.torokhov@gmail.com>
> Cc: Benjamin Tissoires <benjamin.tissoires@gmail.com>, Ulrik De Bie
>  <ulrik.debie-os@e2big.org>, Hans de Goede <hdegoede@redhat.com>,
>  "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>, linux-input
>  <linux-input@vger.kernel.org>, Jiri Kosina <jkosina@suse.cz>
> Subject: Re: [git pull] Input updates for 3.18-rc4
> 
> Hi Dmitry,
> 
> luckily I found some time right now. I haven't reverted the original large
> patch, but I tested your short patch and it fixes the problem for me.
> 
> regards
> Marcus
> 
> On Wed, Nov 19, 2014 at 7:39 PM, Dmitry Torokhov
> <dmitry.torokhov@gmail.com> wrote:
> > On Wed, Nov 19, 2014 at 07:20:21PM +0100, Marcus Overhagen wrote:
> >> Hi,
> >>
> >> I will try reverting that, but may need until tomorrow or Friday.
> >>
> >> Just now I made a warm reboot from rc3 to rc5 and initially scrolling
> >> behaviour was ok,  but after about a minute it went wrong and I got
> >> this:
> >>
> >> [  179.705362] ------------[ cut here ]------------
> >> [  179.705382] WARNING: CPU: 3 PID: 0 at
> >> drivers/input/mouse/elantech.c:433
> >> elantech_report_trackpoint.isra.5+0x199/0x1b0 [psmouse]()
> >> [  179.705385] psmouse serio1: elantech: Unexpected trackpoint message
> >
> > Or just this for now:
> >
> > diff --git a/drivers/input/mouse/elantech.c b/drivers/input/mouse/elantech.c
> > index 3fcb6b3..294f613 100644
> > --- a/drivers/input/mouse/elantech.c
> > +++ b/drivers/input/mouse/elantech.c
> > @@ -793,7 +793,7 @@ static int elantech_packet_check_v4(struct psmouse *psmouse)
> >         unsigned char packet_type = packet[3] & 0x03;
> >         bool sanity_check;
> >
> > -       if ((packet[3] & 0x0f) == 0x06)
> > +       if ((packet[3] & 0x0f) == 0x06 && etd->tp_dev)
> >                 return PACKET_TRACKPOINT;
> >
> >         /*
> >
> > --
> > Dmitry

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [git pull] Input updates for 3.18-rc4
  2014-11-19 21:05             ` ulrik.debie-os
@ 2014-11-19 21:49               ` Marcus Overhagen
  2014-11-19 21:54                 ` ulrik.debie-os
  2014-11-20 14:44               ` Benjamin Tissoires
  1 sibling, 1 reply; 15+ messages in thread
From: Marcus Overhagen @ 2014-11-19 21:49 UTC (permalink / raw)
  To: Ulrik De Bie
  Cc: Dmitry Torokhov, Benjamin Tissoires, Hans de Goede, linux-kernel,
	linux-input, Jiri Kosina

On Wed, Nov 19, 2014 at 10:05 PM,  <ulrik.debie-os@e2big.org> wrote:

> Marcus, do you even have a trackpoint ?
This is a clickpad without buttons and without trackpoint.
Looks similar to this image: http://i.imgur.com/5pcCxqa.jpg

> Marcus, can you send the firmware and capabilities information for your laptop
> (it is available in the kernel messages). Could you send me a kernel message log for a period of 1 minute when using the touchpad with the debug set to 2 ?
I sent you an email. hope that helps.

regards
Marcus

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [git pull] Input updates for 3.18-rc4
  2014-11-19 21:49               ` Marcus Overhagen
@ 2014-11-19 21:54                 ` ulrik.debie-os
  2014-11-19 22:21                   ` Marcus Overhagen
  0 siblings, 1 reply; 15+ messages in thread
From: ulrik.debie-os @ 2014-11-19 21:54 UTC (permalink / raw)
  To: Marcus Overhagen
  Cc: Dmitry Torokhov, Benjamin Tissoires, Hans de Goede, linux-kernel,
	linux-input, Jiri Kosina

On Wed, Nov 19, 2014 at 10:49:05PM +0100, Marcus Overhagen wrote:
> On Wed, Nov 19, 2014 at 10:05 PM,  <ulrik.debie-os@e2big.org> wrote:
> 
> > Marcus, do you even have a trackpoint ?
> This is a clickpad without buttons and without trackpoint.
> Looks similar to this image: http://i.imgur.com/5pcCxqa.jpg
> 
> > Marcus, can you send the firmware and capabilities information for your laptop
> > (it is available in the kernel messages). Could you send me a kernel message log for a period of 1 minute when using the touchpad with the debug set to 2 ?
> I sent you an email. hope that helps.
> 

I received it, thanks. It contains both packet[3]==0x42 and packet[3]==0x46, 
but the touchpad part of the driver does not do anything different for the
bit 0x04. I'll anaylze the dump and look for patterns in the coming days.

Thanks again,
Ulrik

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [git pull] Input updates for 3.18-rc4
  2014-11-19 21:54                 ` ulrik.debie-os
@ 2014-11-19 22:21                   ` Marcus Overhagen
  2014-11-25 21:23                     ` ulrik.debie-os
  0 siblings, 1 reply; 15+ messages in thread
From: Marcus Overhagen @ 2014-11-19 22:21 UTC (permalink / raw)
  To: Ulrik De Bie
  Cc: Dmitry Torokhov, Benjamin Tissoires, Hans de Goede, linux-kernel,
	linux-input, Jiri Kosina

Hi,

when moving a single finger [3] seems to be one of 0x21, 0x25, 0x31, 0x35
moving two fingers [3] seems to be mostly 0x22, 0x26, 0x32, 0x36  but
also sometimes it's 0x42, 0x46, 0x52, 0x56.
It seems to occationally seems to switch between these two groups
after touching the pad with three or more fingers, but not every time.

Moving three fingers I see[3] beeing  0x26, 0x36, 0x76, 0x66 (probably more)

regards
Marcus

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [git pull] Input updates for 3.18-rc4
  2014-11-19 21:05             ` ulrik.debie-os
  2014-11-19 21:49               ` Marcus Overhagen
@ 2014-11-20 14:44               ` Benjamin Tissoires
  1 sibling, 0 replies; 15+ messages in thread
From: Benjamin Tissoires @ 2014-11-20 14:44 UTC (permalink / raw)
  To: Ulrik De Bie
  Cc: Marcus Overhagen, Dmitry Torokhov, Hans de Goede, linux-kernel,
	linux-input, Jiri Kosina

On Wed, Nov 19, 2014 at 4:05 PM,  <ulrik.debie-os@e2big.org> wrote:
> Hi,
>
> Thanks Dmitry, the fix you provided will mitigate the regression. But
> there might be more that is going on for v4 hardware. The detection
> of PACKET_TRACKPOINT can be made more strict.
> Thank you Marcus and Benjamin for the reports.
>
> Sorry for the regression, it was not expected that lowest nibble of packet[3]
> is 0x6 for non-trackpoint packets.
>
> So we have two laptops where
> 1) according to the msb of the capabilities has no trackpoint
> Benjamin, can you give feedback if the laptop has actually a trackpoint/stick/
> how else one calls that strange but convenient thing in the middle of the
> keyboard ?


Ulrik, the reporter said that there is no trackstick on his device.
The exact reference is Samsung Notebook NP900X3E-A01SE.

Cheers,
Benjamin

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [git pull] Input updates for 3.18-rc4
  2014-11-19 22:21                   ` Marcus Overhagen
@ 2014-11-25 21:23                     ` ulrik.debie-os
  2014-11-26 14:33                       ` Benjamin Tissoires
  0 siblings, 1 reply; 15+ messages in thread
From: ulrik.debie-os @ 2014-11-25 21:23 UTC (permalink / raw)
  To: Marcus Overhagen
  Cc: Dmitry Torokhov, Benjamin Tissoires, Hans de Goede, linux-kernel,
	linux-input, Jiri Kosina

Hi,

On Wed, Nov 19, 2014 at 11:21:31PM +0100, Marcus Overhagen wrote:
> Hi,
> 
> when moving a single finger [3] seems to be one of 0x21, 0x25, 0x31, 0x35
> moving two fingers [3] seems to be mostly 0x22, 0x26, 0x32, 0x36  but
> also sometimes it's 0x42, 0x46, 0x52, 0x56.
> It seems to occationally seems to switch between these two groups
> after touching the pad with three or more fingers, but not every time.
> 
> Moving three fingers I see[3] beeing  0x26, 0x36, 0x76, 0x66 (probably more)
> 
> regards
> Marcus


Ok, after some digging through the packet dump kindly provided by Marcus,
it is clear that Documentation/input/elantech.txt is not correctly 
representing anymore the packets of the v4 hardware. There should be some
0 and 1's replaced by x because they are currently "don't know" and definitely
not always 0 or 1.

Example:
He has 0x26,0x36,0x46,0x56,0x66,0x76 in packet[3], and the documentation had
the bits as:
id2 id1 id0   1   0   0   1   0
              X       X
The bits marked with X can thus be different. But when those are changed to
X==don't care then it is not trivial to differentiate them from the trackpoint
that has the following signature for that byte:
0   0   ~sy  ~sx  0   1   1   0



I'm considering the following change:
The test

        t = get_unaligned_le32(&packet[0]);

        switch (t & ~7U) {
        case 0x06000030U:
        case 0x16008020U:
        case 0x26800010U:
        case 0x36808000U:

could be moved to elantech_packet_check_v3/4() instead of the
simpler test on the lowest nibble of packet[3] (and keep the etd->tp_dev check):
       if ((packet[3] & 0x0f) == 0x06 && etd->tp_dev)
                return PACKET_TRACKPOINT;

I'll think a little bit more on it. Based on the packet dump I have this
seems to allow a perfect discrimation between trackpoint and touchpad packets.

Thanks,
Regards,
Ulrik


^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [git pull] Input updates for 3.18-rc4
  2014-11-25 21:23                     ` ulrik.debie-os
@ 2014-11-26 14:33                       ` Benjamin Tissoires
  2014-11-27 20:41                         ` ulrik.debie-os
  0 siblings, 1 reply; 15+ messages in thread
From: Benjamin Tissoires @ 2014-11-26 14:33 UTC (permalink / raw)
  To: Ulrik De Bie
  Cc: Marcus Overhagen, Dmitry Torokhov, Hans de Goede, linux-kernel,
	linux-input, Jiri Kosina

Hi Ulrik,

On Tue, Nov 25, 2014 at 4:23 PM,  <ulrik.debie-os@e2big.org> wrote:
> Hi,
>
> On Wed, Nov 19, 2014 at 11:21:31PM +0100, Marcus Overhagen wrote:
>> Hi,
>>
>> when moving a single finger [3] seems to be one of 0x21, 0x25, 0x31, 0x35
>> moving two fingers [3] seems to be mostly 0x22, 0x26, 0x32, 0x36  but
>> also sometimes it's 0x42, 0x46, 0x52, 0x56.
>> It seems to occationally seems to switch between these two groups
>> after touching the pad with three or more fingers, but not every time.
>>
>> Moving three fingers I see[3] beeing  0x26, 0x36, 0x76, 0x66 (probably more)
>>
>> regards
>> Marcus
>
>
> Ok, after some digging through the packet dump kindly provided by Marcus,
> it is clear that Documentation/input/elantech.txt is not correctly
> representing anymore the packets of the v4 hardware. There should be some
> 0 and 1's replaced by x because they are currently "don't know" and definitely
> not always 0 or 1.
>
> Example:
> He has 0x26,0x36,0x46,0x56,0x66,0x76 in packet[3], and the documentation had
> the bits as:
> id2 id1 id0   1   0   0   1   0
>               X       X
> The bits marked with X can thus be different. But when those are changed to
> X==don't care then it is not trivial to differentiate them from the trackpoint
> that has the following signature for that byte:
> 0   0   ~sy  ~sx  0   1   1   0
>
>
>
> I'm considering the following change:
> The test
>
>         t = get_unaligned_le32(&packet[0]);
>
>         switch (t & ~7U) {
>         case 0x06000030U:
>         case 0x16008020U:
>         case 0x26800010U:
>         case 0x36808000U:
>
> could be moved to elantech_packet_check_v3/4() instead of the
> simpler test on the lowest nibble of packet[3] (and keep the etd->tp_dev check):
>        if ((packet[3] & 0x0f) == 0x06 && etd->tp_dev)
>                 return PACKET_TRACKPOINT;
>
> I'll think a little bit more on it. Based on the packet dump I have this
> seems to allow a perfect discrimation between trackpoint and touchpad packets.
>

Thanks for the progress on these. Do you think you will be able to get
something in shape before the final 3.18?

Dmitry, can we either revert the current patches and reschedule them
for 3.19 or at least apply one quick fix? I am starting to see a lot
of people complaining about it, and I am wondering if adding this
functionality in a -rc5 release was not a good idea :-/.

Cheers,
Benjamin

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [git pull] Input updates for 3.18-rc4
  2014-11-26 14:33                       ` Benjamin Tissoires
@ 2014-11-27 20:41                         ` ulrik.debie-os
  0 siblings, 0 replies; 15+ messages in thread
From: ulrik.debie-os @ 2014-11-27 20:41 UTC (permalink / raw)
  To: Benjamin Tissoires
  Cc: Marcus Overhagen, Dmitry Torokhov, Hans de Goede, linux-kernel,
	linux-input, Jiri Kosina

Hi Benjamin,

On Wed, Nov 26, 2014 at 09:33:26AM -0500, Benjamin Tissoires wrote:
> 
> Hi Ulrik,
> 
> On Tue, Nov 25, 2014 at 4:23 PM,  <ulrik.debie-os@e2big.org> wrote:
> > Hi,
> >
> > On Wed, Nov 19, 2014 at 11:21:31PM +0100, Marcus Overhagen wrote:
> >> Hi,
> >>
> >> when moving a single finger [3] seems to be one of 0x21, 0x25, 0x31, 0x35
> >> moving two fingers [3] seems to be mostly 0x22, 0x26, 0x32, 0x36  but
> >> also sometimes it's 0x42, 0x46, 0x52, 0x56.
> >> It seems to occationally seems to switch between these two groups
> >> after touching the pad with three or more fingers, but not every time.
> >>
> >> Moving three fingers I see[3] beeing  0x26, 0x36, 0x76, 0x66 (probably more)
> >>
> >> regards
> >> Marcus
> >
> >
> > Ok, after some digging through the packet dump kindly provided by Marcus,
> > it is clear that Documentation/input/elantech.txt is not correctly
> > representing anymore the packets of the v4 hardware. There should be some
> > 0 and 1's replaced by x because they are currently "don't know" and definitely
> > not always 0 or 1.
> >
> > Example:
> > He has 0x26,0x36,0x46,0x56,0x66,0x76 in packet[3], and the documentation had
> > the bits as:
> > id2 id1 id0   1   0   0   1   0
> >               X       X
> > The bits marked with X can thus be different. But when those are changed to
> > X==don't care then it is not trivial to differentiate them from the trackpoint
> > that has the following signature for that byte:
> > 0   0   ~sy  ~sx  0   1   1   0
> >
> >
> >
> > I'm considering the following change:
> > The test
> >
> >         t = get_unaligned_le32(&packet[0]);
> >
> >         switch (t & ~7U) {
> >         case 0x06000030U:
> >         case 0x16008020U:
> >         case 0x26800010U:
> >         case 0x36808000U:
> >
> > could be moved to elantech_packet_check_v3/4() instead of the
> > simpler test on the lowest nibble of packet[3] (and keep the etd->tp_dev check):
> >        if ((packet[3] & 0x0f) == 0x06 && etd->tp_dev)
> >                 return PACKET_TRACKPOINT;
> >
> > I'll think a little bit more on it. Based on the packet dump I have this
> > seems to allow a perfect discrimation between trackpoint and touchpad packets.
> >
> 
> Thanks for the progress on these. Do you think you will be able to get
> something in shape before the final 3.18?
> 
> Dmitry, can we either revert the current patches and reschedule them
> for 3.19 or at least apply one quick fix? I am starting to see a lot
> of people complaining about it, and I am wondering if adding this
> functionality in a -rc5 release was not a good idea :-/.

Dmitry has already requested Linus to pull the quick fix 
b54783f2de0c216115333eca1a8d3d5c3e75b 

I expect this fix from Dmitry to also help the person that you reported,
could you confirm that ? Basically when the hardware reports no trackpoint
present, it will then behave like before the trackpoint as enabled on v4.

I expect some responses from people soon in order to find out if there
is even a better way to fix it.

Thanks,
Kind regards,
Ulrik



> Cheers,
> Benjamin
> --
> To unsubscribe from this list: send the line "unsubscribe linux-input" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2014-11-27 20:41 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-11-14 22:26 [git pull] Input updates for 3.18-rc4 Dmitry Torokhov
2014-11-19 15:32 ` Benjamin Tissoires
2014-11-19 18:00   ` Marcus Overhagen
2014-11-19 18:12     ` Dmitry Torokhov
2014-11-19 18:20       ` Marcus Overhagen
2014-11-19 18:39         ` Dmitry Torokhov
2014-11-19 19:23           ` Marcus Overhagen
2014-11-19 21:05             ` ulrik.debie-os
2014-11-19 21:49               ` Marcus Overhagen
2014-11-19 21:54                 ` ulrik.debie-os
2014-11-19 22:21                   ` Marcus Overhagen
2014-11-25 21:23                     ` ulrik.debie-os
2014-11-26 14:33                       ` Benjamin Tissoires
2014-11-27 20:41                         ` ulrik.debie-os
2014-11-20 14:44               ` Benjamin Tissoires

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).