Thread (12 messages) 12 messages, 3 authors, 2015-02-03

Re: "i2c_hid: Could not register for interrupt, irq = -1" on Thinkpad Tablet 10

From: Benjamin Tissoires <hidden>
Date: 2015-02-02 15:42:30

On Mon, Feb 2, 2015 at 10:32 AM, Sébastien Bourdeauducq [off-list ref] wrote:
On 02/02/2015 09:48 PM, Mika Westerberg wrote:
quoted
On Mon, Feb 02, 2015 at 09:19:51PM +0800, Sebastien Bourdeauducq wrote:
quoted
With this computer nothing is normal. Every single component except the CPU,
display and USB has major issues under Linux.
We need to get one here then. Can you point me to the exact model?
That's a Lenovo Thinkpad Tablet 10, P/N 20C3001VHH. What would be the
plan for you to get one?
quoted
Since it has 20k internal pull-up configured, I'm guessing something
(the digitizer) drives it low like it still has something to report. Do
you see in the dmesg if the i2c-hid.c is able to read reports from the
device?
When I made the interrupt falling edge sensitive, i2c-hid was able to
read the first report as I could move the mouse cursor once using the
stylus.

A possible scenario is:
1) the digitizer is holding the interrupt line low after booting
2) enumerating or otherwise initializing the digitizer causes it to
release the interrupt line
3) using the stylus queues several reports in the device and it asserts
the interrupt line again. However, with the interrupt configured as edge
sensitive, only the first of those reports are retrieved and subsequent
ones are lost, with the interrupt line stuck.
There has been a patch floating around last year which tried to pull
all the available reports after the IRQ was triggered. I rejected it
for the sake of not breaking existing devices, but maybe your device
needs it.
http://www.spinics.net/lists/linux-input/msg31342.html

Cheers,
Benjamin
Maybe the interrupt should be level sensitive and enabled only after
certain parts of the device initialization have taken place.

Sébastien
--
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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help