On Monday 17 June 2019 01:29:17 Xiaoxiao Liu wrote: > Hi Pali, > > Since design architecture change of CS19, input device connection has been changed to below architecture, > Touchpad has been moved to I2C connection. > > kernel/host <--PS/2--> EC <--PS/2--> external PS/2 mouse > | | > | <--PS/2--> trackstick > | > <--I2C--> Touchpad Hi, thank you for explanation! So in our case, ALPS device should not be put into passthrough mode as there is no device after it. > In the past TrackPoint does not show in the device list because of TrackPoint was hidden device of Touchpad. > But from CS19, TrackPoint is directly connecting with PS2 port, > 3 bytes packet does not need to take affect by other vendors Touchpad format. > So alps.c is no need for CS19 device. So if trackpoint.c driver is working fine with this configuration, it is just needed to instruct alps.c to not take this device. > Best Regards > Shona > -----邮件原件----- > 发件人: Pali Rohár <pali.rohar@xxxxxxxxx> > 发送时间: Wednesday, June 12, 2019 1:39 AM > 收件人: dmitry.torokhov@xxxxxxxxx > 抄送: Hui Wang <hui.wang@xxxxxxxxxxxxx>; 劉 曉曉 Xiaoxiao Liu <xiaoxiao.liu-1@xxxxxxxxxxx>; XiaoXiao Liu <sliuuxiaonxiao@xxxxxxxxx>; peter.hutterer@xxxxxxxxx; linux-input@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; 曹 曉建 Xiaojian Cao <xiaojian.cao@xxxxxxxxxxx>; zhangfp1@xxxxxxxxxx; 斉藤 直樹 Naoki Saito <naoki.saito@xxxxxxxxxxxxxx>; 川瀬 英夫 Hideo Kawase <hideo.kawase@xxxxxxxxxxxxxx> > 主题: Re: 答复: 答复: 答复: [PATCH] input: alps-fix the issue alps cs19 trackstick do not work. > > On Tuesday 11 June 2019 10:32:28 dmitry.torokhov@xxxxxxxxx wrote: > > On Tue, Jun 11, 2019 at 07:17:07PM +0200, Pali Rohár wrote: > > > On Tuesday 11 June 2019 10:07:07 dmitry.torokhov@xxxxxxxxx wrote: > > > > On Tue, Jun 11, 2019 at 09:23:33AM +0200, Pali Rohár wrote: > > > > > On Tuesday 11 June 2019 12:32:33 Hui Wang wrote: > > > > > > On 2019/6/11 上午11:23, Hui Wang wrote: > > > > > > > On 2019/6/11 上午11:05, Xiaoxiao Liu wrote: > > > > > > > > Hi Pali, > > > > > > > > > > > > > > > > I discussed with our FW team about this problem. > > > > > > > > We think the V8 method means a touchpad feature and does > > > > > > > > not fit the CS19 trackpoint device. > > > > > > > > CS19 TrackPoint needn't use any Absolute (Raw) mode and > > > > > > > > is usually use standard mouse data. > > > > > > > > CS19 TrackPoint device is a completely different device > > > > > > > > with DualPoint device of Dell/HP. > > > > > > > > CS19 TrackPoint device is independent of Touchpad. > > > > > > > > (Touchpad is connecting by I2C, TrackPoint is directly > > > > > > > > connecting with PS2 port.) And it has completely another FW. > > > > > > > > > > > > > > > > So we think it is better to use the mouse mode for CS19 trackpoint. > > > > > > > > > > > > > > Maybe here is some mis-understanding, the mouse mode here > > > > > > > doesn't mean we use psmouse-base.c for cs19 (bare ps/2 > > > > > > > mouse), we plan to use trackpoint.c to drive this HW, so > > > > > > > this trackpoint has all features a trackpoint should have. > > > > > > > > > > > > > And I sent a patch one month ago to let the the trackpoint.c > > > > > > to drive this > > > > > > HW: https://www.spinics.net/lists/linux-input/msg61341.html, > > > > > > maybe that patch is reference. > > > > > > > > > > So instead of creating blacklist, you should check for > > > > > TP_VARIANT_ALPS in alps.c and disallow its usage. > > > > > > > > > > Or maybe better, move trackpoint.c detect code before alsp.c > > > > > detect code in psmouse-base. And no changes in alps.c are needed. > > > > > > > > I'd be very cautions of moving around the protocol detection. It > > > > is very fragile, so if we can detect trackpoint-only case in > > > > alps.c and skip on to trackpoint I would prefer it. > > > > > > The main problem is that proposed trackpoint-only check in alps.c is > > > basically what trackpoint.c is doing for checking if device is > > > trackpoint (via function trackpoint_start_protocol()). > > > > > > So I'm not sure now what is the best solution... > > > > Unfortunately currently trackpoint is being probed only after we tried > > Elan, Genius, and Logitech PS2++ protocols, and I am not sure if > > moving trackpoint around will disturb them or not. > > > > I do not think there is much code duplication by pulling limited > > version of trackpoint detection code into alps.c and then have it bail > > out when it sees trackpoint-only device so trackpoint.c can handle it properly. > > Ok. Seems that it is the best solution. > > The last question is, should be use ALPS or Trackpoint protocol? Because it looks like that device can be configured to one or other. > > What are pros and cons of these two protocols? > > -- > Pali Rohár > pali.rohar@xxxxxxxxx -- Pali Rohár pali.rohar@xxxxxxxxx