[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4C756049.2090408@codeaurora.org>
Date: Wed, 25 Aug 2010 14:26:17 -0400
From: Neil Leeder <nleeder@...eaurora.org>
To: Dmitry Torokhov <dmitry.torokhov@...il.com>
CC: Stepan Moskovchenko <stepanm@...eaurora.org>,
"linux-input@...r.kernel.org" <linux-input@...r.kernel.org>,
"linux-arm-msm@...r.kernel.org" <linux-arm-msm@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
Horace Fu <horace.fu@...ntatw.com>,
Mandeep Singh Baines <msb@...omium.org>,
Trilok Soni <tsoni@...eaurora.org>
Subject: Re: [PATCH v2] input: mouse: add qci touchpad driver
On 8/19/2010 6:19 PM, Neil Leeder wrote:
> Hi Dmitry,
>
> On 8/19/2010 1:33 AM, Dmitry Torokhov wrote:
>> On Wed, Aug 18, 2010 at 05:38:38PM -0400, Neil Leeder wrote:
>>> Using proto=bare gets around the GETINFO failure, but doesn't help
>>> with the more important GETID failure.
>>
>> Does it help if you change write() to transmit (and read) 1 byte at a
>> time?
>>
>
> Thanks for the suggestions. Nothing I change seems able to get a
> consistent valid response to GETID. I think this is the first time
> anyone has written anything other than 0xF4 to the firmware in the EC
> and it's just not passing through the other PS/2 commands and responses
> reliably.
>
>> One way would be to look for PSMOUSE_CMD_ENABLE/PSMOUSE_CMD_DISABLE
>> (0xf4/0xf5) in ->write() method to switch between 1 and 3-byte transfers.
>
> If I force my way past GETID and set the receive length to 3 based on
> seeing F4/F5 being written then the touchpad does work. However the
> serio driver is now a touchpad-specific driver rather than a generic
> PS/2 one. I have a keyboard on the same device. I'm not sure if it will
> work with serio, but if so it will probably have its own requirements
> for the length of data sent on responses, probably not 3.
>
> BTW, using 1 as the receive length for commands has its own problems as
> some commands require more than one byte response (GETID, GETINFO). I
> can work around it, but it's not particularly clean and getting further
> away from a generic driver.
>
> At this point I'm thinking that the interface is close to being able to
> work with serio/psmouse, but just not close enough. The unreliability of
> responding to basic commands as well as the length of data problems
> indicates some custom driver is going to be needed. That could either be
> Quanta's original touchpad driver I posted, or a modification of your
> serio driver. I'd lean towards not having a serio driver which includes
> workarounds for a specific device, but I'd appreciate hearing your opinion.
>
> Thanks.
Hi Dmitry,
Any comment on the above alternatives?
A third suggestion might be to have a fairly general serio driver, and
rewrite the original Quanta driver to use serio rather than using i2c
directly. I think that has its own set of problems, but thought I'd
mention it anyway. The nuvoTon EC doesn't present a fully-working and
reliable PS/2 interface to the driver so I'd lean toward using the
Quanta touchpad driver by itself.
Thanks.
--
Neil
--
Sent by an employee of the Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists