From: "Fu, Zhonghui" <zhonghui.fu@linux.intel.com>
To: Dmitry Torokhov <dtor@chromium.org>, Jiri Kosina <jikos@kernel.org>
Cc: Benjamin Tissoires <benjamin.tissoires@redhat.com>,
Benson Leung <bleung@chromium.org>,
Mika Westerberg <mika.westerberg@linux.intel.com>,
Andrew Duggan <aduggan@synaptics.com>,
k.kozlowski@samsung.com, Doug Anderson <dianders@chromium.org>,
gabriele.mzt@gmail.com,
"linux-input@vger.kernel.org" <linux-input@vger.kernel.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH] i2c_hid: enable i2c-hid devices to suspend/resume asynchronously
Date: Wed, 1 Jun 2016 10:04:17 +0800 [thread overview]
Message-ID: <574E42A0.9080902@linux.intel.com> (raw)
In-Reply-To: <CAE_wzQ-Rwpf3Cb8cpw11s=rcRTMZ5kpod7jLAhF84A82CLaVcA@mail.gmail.com>
On 5/25/2016 1:31 AM, Dmitry Torokhov wrote:
> On Tue, May 24, 2016 at 3:24 AM, Jiri Kosina <jikos@kernel.org> wrote:
>
>> On Thu, 19 May 2016, Fu, Zhonghui wrote:
>>
>>> i2c-hid devices' suspend/resume are usually time-consuming process.
>>> For example, the touch controller(i2c-ATML1000:00) on ASUS T100 tablet
>>> takes about 160ms for suspending and 120ms for resuming. This patch
>>> enables i2c-hid devices to suspend/resume asynchronously. This will
>>> take advantage of multicore and speed up system suspend/resume process.
>> Umm, why do we need this in the first place, given the fact that we are
>> enabling async suspend for each and every HID device allocated via
>> hid_allocate_device() already?
>>
> i2c-hid is not a HID but I2C device on I2C bus and is currently resumed
> synchronously, in-line. Since it tries to reset device as part of resume it
> may take a while for the device to respond.
Sorry for late reply.
Yes, the devices driven by i2c-hid driver are I2C devices, not HID devices.
>
> BTW, I am not quite sure what async suspend enabled
> in hid_allocate_device() does for us, given that I do not see HID bus
> implementing the suspend/resume support for its devices (as far as I
> remember we rely on underlying transports - USB or I2C - to resume the
> devices properly).
Even if HID bus does not implement the suspend/resume support for its devices, the power domain, device type, device class or device driver subsystem related to HID devices can still implement the suspend/resume support for HID devices.
Thanks,
Zhonghui
>
> Thanks,
> Dmitry
>
next prev parent reply other threads:[~2016-06-01 2:04 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-05-19 2:46 [PATCH] i2c_hid: enable i2c-hid devices to suspend/resume asynchronously Fu, Zhonghui
2016-05-23 8:22 ` Mika Westerberg
2016-05-24 10:24 ` Jiri Kosina
[not found] ` <CAE_wzQ-Rwpf3Cb8cpw11s=rcRTMZ5kpod7jLAhF84A82CLaVcA@mail.gmail.com>
2016-06-01 2:04 ` Fu, Zhonghui [this message]
2016-06-03 7:56 ` Benjamin Tissoires
2016-06-06 8:41 ` Jiri Kosina
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=574E42A0.9080902@linux.intel.com \
--to=zhonghui.fu@linux.intel.com \
--cc=aduggan@synaptics.com \
--cc=benjamin.tissoires@redhat.com \
--cc=bleung@chromium.org \
--cc=dianders@chromium.org \
--cc=dtor@chromium.org \
--cc=gabriele.mzt@gmail.com \
--cc=jikos@kernel.org \
--cc=k.kozlowski@samsung.com \
--cc=linux-input@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mika.westerberg@linux.intel.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 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.