From: Mika Westerberg <mika.westerberg@linux.intel.com>
To: "Sébastien Bourdeauducq" <sb@m-labs.hk>
Cc: Benjamin Tissoires <benjamin.tissoires@gmail.com>,
linux-input <linux-input@vger.kernel.org>
Subject: Re: "i2c_hid: Could not register for interrupt, irq = -1" on Thinkpad Tablet 10
Date: Mon, 2 Feb 2015 17:57:53 +0200 [thread overview]
Message-ID: <20150202155753.GW22740@lahna.fi.intel.com> (raw)
In-Reply-To: <54CF9883.10701@m-labs.hk>
On Mon, Feb 02, 2015 at 11:32:19PM +0800, Sébastien Bourdeauducq wrote:
> On 02/02/2015 09:48 PM, Mika Westerberg wrote:
> > On Mon, Feb 02, 2015 at 09:19:51PM +0800, Sebastien Bourdeauducq wrote:
> >> 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?
Thanks.
We've been purchasing these problematic devices from time to time and
then trying to enable what we can in the mainline kernel. I'll ask my
boss if I can order one of these as well.
> > 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.
That seems plausible explanation.
> Maybe the interrupt should be level sensitive and enabled only after
> certain parts of the device initialization have taken place.
The device should respond to reset by asserting an interrupt. You could
try so that you only enable the interrupt in i2c_hid_parse() right
before i2c_hid_hwreset() is called.
--
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
next prev parent reply other threads:[~2015-02-02 15:57 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-01-31 15:01 "i2c_hid: Could not register for interrupt, irq = -1" on Thinkpad Tablet 10 Sebastien Bourdeauducq
2015-01-31 20:39 ` Benjamin Tissoires
2015-02-01 3:27 ` Sebastien Bourdeauducq
2015-02-02 10:00 ` Mika Westerberg
2015-02-02 13:19 ` Sebastien Bourdeauducq
2015-02-02 13:48 ` Mika Westerberg
2015-02-02 15:32 ` Sébastien Bourdeauducq
2015-02-02 15:42 ` Benjamin Tissoires
2015-02-02 15:55 ` Sébastien Bourdeauducq
2015-02-02 15:57 ` Mika Westerberg [this message]
2015-02-03 8:53 ` Sébastien Bourdeauducq
2015-02-03 11:25 ` Mika Westerberg
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=20150202155753.GW22740@lahna.fi.intel.com \
--to=mika.westerberg@linux.intel.com \
--cc=benjamin.tissoires@gmail.com \
--cc=linux-input@vger.kernel.org \
--cc=sb@m-labs.hk \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.