linux-input.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Dmitry Torokhov <dmitry.torokhov@gmail.com>
To: "Pali Rohár" <pali.rohar@gmail.com>
Cc: Tommy Will <tommywill2011@gmail.com>,
	Hans de Goede <hdegoede@redhat.com>,
	Yunkang Tang <yunkang.tang@cn.alps.com>,
	linux-input@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 1/3] input: alps: Reset mouse before identifying it
Date: Wed, 15 Oct 2014 11:22:56 -0700	[thread overview]
Message-ID: <20141015182256.GE8625@dtor-ws> (raw)
In-Reply-To: <201410152010.39507@pali>

On Wed, Oct 15, 2014 at 08:10:39PM +0200, Pali Rohár wrote:
> On Wednesday 15 October 2014 20:00:11 Dmitry Torokhov wrote:
> > On Wed, Oct 15, 2014 at 07:57:37PM +0200, Pali Rohár wrote:
> > > On Wednesday 15 October 2014 19:43:15 Dmitry Torokhov wrote:
> > > > On Wed, Oct 15, 2014 at 02:53:11PM +0200, Pali Rohár wrote:
> > > > > On Tuesday 14 October 2014 08:08:34 Dmitry Torokhov 
> wrote:
> > > > > > On Fri, Oct 03, 2014 at 11:47:59AM +0200, Hans de
> > > > > > Goede
> > > 
> > > wrote:
> > > > > > > Hi,
> > > > > > > 
> > > > > > > Thanks for working on this!
> > > > > > > 
> > > > > > > On 10/03/2014 11:43 AM, Pali Rohár wrote:
> > > > > > > > On some systems after starting computer function
> > > > > > > > alps_identify() does not detect dual ALPS
> > > > > > > > touchpad+trackstick device correctly and detect
> > > > > > > > only touchpad.
> > > > > > > > 
> > > > > > > > Resetting ALPS device before identifiying it
> > > > > > > > fixing this problem and both parts touchpad and
> > > > > > > > trackstick are detected.
> > > > > > > > 
> > > > > > > > Signed-off-by: Pali Rohár <pali.rohar@gmail.com>
> > > > > > > > Tested-by: Pali Rohár <pali.rohar@gmail.com>
> > > > > > > 
> > > > > > > Looks good and seems sensible:
> > > > > > > 
> > > > > > > Acked-by: Hans de Goede <hdegoede@redhat.com>
> > > > > > 
> > > > > > *sigh* I am not really happy about this, as we making
> > > > > > boot longer and longer for people without ALPS
> > > > > > touchpads. It would be better if we only reset the
> > > > > > mouse when we knew we are dealing with ALPS, and even
> > > > > > better if we only reset it when we suspected that we
> > > > > > missed trackstick. Any chance of doing this?
> > > > > > 
> > > > > > Thanks.
> > > > > 
> > > > > Dmitry, problem is that function check which detecting
> > > > > trackstick does not working when I start my laptop from
> > > > > power-off state and do not reset PS/2 device. But
> > > > > detecting ALPS touchpad looks like working. So if do
> > > > > not like this idea, what about doing something like
> > > > > this in alps_dectect function?
> > > > > 
> > > > > int alps_detect(...)
> > > > > {
> > > > > ...
> > > > > /* detect if device is ALPS */
> > > > > if (alps_identify(...) < 0)
> > > > > return -1;
> > > > > /* now we know that device is ALPS */
> > > > > if (!(flags & ALPS_DUALPOINT)) {
> > > > > /* reset it and identify again, maybe there is
> > > > > trackstick */ psmouse_reset(...);
> > > > > alps_identify(...);
> > > > > }
> > > > > ...
> > > > > }
> > > > > 
> > > > > It will does not affect non ALPS devices (because first
> > > > > identify call will fail), but will affect ALPS devices
> > > > > without trackstick (because identify will be called
> > > > > twice and reset too).
> > > > 
> > > > I think this is a step in right direction. Do you know
> > > > what exactly fails in alps_identify() on your box if you
> > > > do not call psmouse_reset?
> > > > 
> > > > Thanks.
> > > 
> > > Yes, I know. It is failing in alps_probe_trackstick_v3(). It
> > > calls alps_command_mode_read_reg(...) and it returns 0 which
> > > means trackstick is not there.
> > 
> > OK, so can we try sticking psmouse_reset() there? This will
> > limit the exposure of the new delay.
> > 
> > Thanks.
> 
> Sorry, but I think this is not safe. Function psmouse_reset will 
> reset device (set it to relative mode, etc...) and before and 
> after alps_probe_trackstick_v3() are called other functions. So 
> it could break something else.

We might need to repeat bits of alps_identify() after resetting the
mouse, you are right. It should still be doable though.

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

  reply	other threads:[~2014-10-15 18:23 UTC|newest]

Thread overview: 41+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-10-03  9:43 [PATCH 0/3] input: alps: Fixes for ALPS driver Pali Rohár
2014-10-03  9:43 ` [PATCH 1/3] input: alps: Reset mouse before identifying it Pali Rohár
2014-10-03  9:47   ` Hans de Goede
2014-10-14  6:08     ` Dmitry Torokhov
2014-10-15 12:53       ` Pali Rohár
2014-10-15 17:43         ` Dmitry Torokhov
2014-10-15 17:57           ` Pali Rohár
2014-10-15 18:00             ` Dmitry Torokhov
2014-10-15 18:10               ` Pali Rohár
2014-10-15 18:22                 ` Dmitry Torokhov [this message]
2014-10-19 11:07                   ` Pali Rohár
2014-10-23 15:44                     ` Dmitry Torokhov
2014-11-01 23:29                       ` Pali Rohár
2014-10-03  9:43 ` [PATCH 2/3] input: alps: For protocol V3, do not process data when last packet's bit7 is set Pali Rohár
2014-10-03  9:51   ` Hans de Goede
2014-10-03  9:58     ` Pali Rohár
2014-10-03 10:01       ` Hans de Goede
2014-10-03  9:43 ` [PATCH 3/3] input: alps: Reset mouse and ALPS driver immediately after first invalid packet Pali Rohár
2014-10-03  9:55   ` Hans de Goede
2014-10-03 10:05     ` Pali Rohár
2014-10-03 10:18       ` Hans de Goede
2014-10-03 10:23         ` Pali Rohár
2014-10-03 11:03           ` Hans de Goede
2014-10-03 12:04             ` Hans de Goede
2014-11-01 23:25 ` [PATCH v3 0/4] Fixes for ALPS driver Pali Rohár
2014-11-01 23:25   ` [PATCH v3 1/4] input: alps: Do not try to parse data as 3 bytes packet when driver is out of sync Pali Rohár
2014-11-08 20:52     ` Dmitry Torokhov
2014-11-01 23:25   ` [PATCH v3 2/4] input: alps: Allow 2 invalid packets without resetting device Pali Rohár
2014-11-08 21:00     ` Dmitry Torokhov
2014-11-01 23:25   ` [PATCH v3 3/4] input: alps: For protocol V3, do not process data when last packet's bit7 is set Pali Rohár
2014-11-09  7:50     ` Dmitry Torokhov
2014-11-09 11:22       ` Pali Rohár
2014-11-09 20:34         ` Dmitry Torokhov
2014-11-10  9:18           ` Pali Rohár
2014-11-01 23:25   ` [PATCH v3 4/4] input: alps: Fix trackstick detection Pali Rohár
2014-11-09  8:05     ` Dmitry Torokhov
2014-11-09 11:30       ` Pali Rohár
2014-11-14 11:22         ` Pali Rohár
2014-11-14 19:41           ` Pali Rohár
2014-11-02 14:14   ` [PATCH v3 0/4] Fixes for ALPS driver Hans de Goede
2014-11-06 17:46     ` Pali Rohár

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=20141015182256.GE8625@dtor-ws \
    --to=dmitry.torokhov@gmail.com \
    --cc=hdegoede@redhat.com \
    --cc=linux-input@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=pali.rohar@gmail.com \
    --cc=tommywill2011@gmail.com \
    --cc=yunkang.tang@cn.alps.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).