Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1426865 > unrolled thread
| Started by | Dmitry Torokhov <dmitry.torokhov@gmail.com> |
|---|---|
| First post | 2016-06-20 19:50 +0200 |
| Last post | 2016-06-22 14:10 +0200 |
| Articles | 5 — 3 participants |
Back to article view | Back to linux.kernel
This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by
below is the oldest one visible, not the original post.
Re: [PATCH] Input: elan_i2c - +200 ms delay before setting to ABS mode Dmitry Torokhov <dmitry.torokhov@gmail.com> - 2016-06-20 19:50 +0200
RE: [PATCH] Input: elan_i2c - +200 ms delay before setting to ABS mode 廖崇榮 <kt.liao@emc.com.tw> - 2016-06-21 03:40 +0200
RE: [PATCH] Input: elan_i2c - +200 ms delay before setting to ABS mode 廖崇榮 <kt.liao@emc.com.tw> - 2016-06-21 14:50 +0200
Re: [PATCH] Input: elan_i2c - +200 ms delay before setting to ABS mode Daniel Drake <drake@endlessm.com> - 2016-06-21 17:00 +0200
RE: [PATCH] Input: elan_i2c - +200 ms delay before setting to ABS mode 廖崇榮 <kt.liao@emc.com.tw> - 2016-06-22 14:10 +0200
| From | Dmitry Torokhov <dmitry.torokhov@gmail.com> |
|---|---|
| Date | 2016-06-20 19:50 +0200 |
| Subject | Re: [PATCH] Input: elan_i2c - +200 ms delay before setting to ABS mode |
| Message-ID | <rMbuF-2Oc-19@gated-at.bofh.it> |
On Tue, Jun 07, 2016 at 09:34:09PM +0800, Chris Chiu wrote:
> When performing a warm reboot from a system which does not correctly
> support ELAN I2C touchpads, the touchpad will sometimes enter standard
> mouse mode, cursor then never respond to touchpad event, and making the
> driver discard the HID reports and flood dmesg with following error
> messages.
> "elan_i2c i2c-ELAN1000:00: invalid report id data (1)"
>
> This change is from ELAN's correction. It needs 200ms delay before
> set_mode() so that the mode setting will correctly take effect.
KT, is this feasible?
>
> Signed-off-by: Chris Chiu <chiu@endlessm.com>
> ---
> drivers/input/mouse/elan_i2c_core.c | 12 +++++++-----
> 1 file changed, 7 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/input/mouse/elan_i2c_core.c b/drivers/input/mouse/elan_i2c_core.c
> index 2f58985..95080f9 100644
> --- a/drivers/input/mouse/elan_i2c_core.c
> +++ b/drivers/input/mouse/elan_i2c_core.c
> @@ -210,18 +210,20 @@ static int __elan_initialize(struct elan_tp_data *data)
> return error;
> }
>
> - data->mode |= ETP_ENABLE_ABS;
> - error = data->ops->set_mode(client, data->mode);
> + error = data->ops->sleep_control(client, false);
> if (error) {
> dev_err(&client->dev,
> - "failed to switch to absolute mode: %d\n", error);
> + "failed to wake device up: %d\n", error);
> return error;
> }
>
> - error = data->ops->sleep_control(client, false);
> + msleep(200);
> +
> + data->mode |= ETP_ENABLE_ABS;
> + error = data->ops->set_mode(client, data->mode);
> if (error) {
> dev_err(&client->dev,
> - "failed to wake device up: %d\n", error);
> + "failed to switch to absolute mode: %d\n", error);
> return error;
> }
>
> --
> 2.1.4
>
Thanks.
--
Dmitry
[toc] | [next] | [standalone]
| From | 廖崇榮 <kt.liao@emc.com.tw> |
|---|---|
| Date | 2016-06-21 03:40 +0200 |
| Subject | RE: [PATCH] Input: elan_i2c - +200 ms delay before setting to ABS mode |
| Message-ID | <rMiPv-7uu-11@gated-at.bofh.it> |
| In reply to | #1426865 |
Hi Dmitry,
The modification from Chris is a special case.
Because the Touchpad FW is a little different from normal one, It cause
problem in Asus's OBE test.
That's why Elan's driver use work-around to solve the problem. It's not
tested by other touchpad.
Let me discuss with internal FW team to confirm the harmless of the patch.
B.R KT
-----Original Message-----
From: Dmitry Torokhov [mailto:dmitry.torokhov@gmail.com]
Sent: Tuesday, June 21, 2016 1:43 AM
To: Chris Chiu; kt.liao@emc.com.tw
Cc: Charlie Mooney; Michele Curti; Krzysztof Kozlowski; Benson Leung;
linux-input@vger.kernel.org; linux-kernel@vger.kernel.org;
linux@endlessm.com
Subject: Re: [PATCH] Input: elan_i2c - +200 ms delay before setting to ABS
mode
On Tue, Jun 07, 2016 at 09:34:09PM +0800, Chris Chiu wrote:
> When performing a warm reboot from a system which does not correctly
> support ELAN I2C touchpads, the touchpad will sometimes enter standard
> mouse mode, cursor then never respond to touchpad event, and making
> the driver discard the HID reports and flood dmesg with following
> error messages.
> "elan_i2c i2c-ELAN1000:00: invalid report id data (1)"
>
> This change is from ELAN's correction. It needs 200ms delay before
> set_mode() so that the mode setting will correctly take effect.
KT, is this feasible?
>
> Signed-off-by: Chris Chiu <chiu@endlessm.com>
> ---
> drivers/input/mouse/elan_i2c_core.c | 12 +++++++-----
> 1 file changed, 7 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/input/mouse/elan_i2c_core.c
> b/drivers/input/mouse/elan_i2c_core.c
> index 2f58985..95080f9 100644
> --- a/drivers/input/mouse/elan_i2c_core.c
> +++ b/drivers/input/mouse/elan_i2c_core.c
> @@ -210,18 +210,20 @@ static int __elan_initialize(struct elan_tp_data
*data)
> return error;
> }
>
> - data->mode |= ETP_ENABLE_ABS;
> - error = data->ops->set_mode(client, data->mode);
> + error = data->ops->sleep_control(client, false);
> if (error) {
> dev_err(&client->dev,
> - "failed to switch to absolute mode: %d\n", error);
> + "failed to wake device up: %d\n", error);
> return error;
> }
>
> - error = data->ops->sleep_control(client, false);
> + msleep(200);
> +
> + data->mode |= ETP_ENABLE_ABS;
> + error = data->ops->set_mode(client, data->mode);
> if (error) {
> dev_err(&client->dev,
> - "failed to wake device up: %d\n", error);
> + "failed to switch to absolute mode: %d\n", error);
> return error;
> }
>
> --
> 2.1.4
>
Thanks.
--
Dmitry
[toc] | [prev] | [next] | [standalone]
| From | 廖崇榮 <kt.liao@emc.com.tw> |
|---|---|
| Date | 2016-06-21 14:50 +0200 |
| Subject | RE: [PATCH] Input: elan_i2c - +200 ms delay before setting to ABS mode |
| Message-ID | <rMthU-5Vb-9@gated-at.bofh.it> |
| In reply to | #1426865 |
Hi Dmitry,
-----Original Message-----
From: Dmitry Torokhov [mailto:dmitry.torokhov@gmail.com]
Sent: Tuesday, June 21, 2016 1:43 AM
To: Chris Chiu; kt.liao@emc.com.tw
Cc: Charlie Mooney; Michele Curti; Krzysztof Kozlowski; Benson Leung;
linux-input@vger.kernel.org; linux-kernel@vger.kernel.org;
linux@endlessm.com
Subject: Re: [PATCH] Input: elan_i2c - +200 ms delay before setting to ABS
mode
On Tue, Jun 07, 2016 at 09:34:09PM +0800, Chris Chiu wrote:
> When performing a warm reboot from a system which does not correctly
> support ELAN I2C touchpads, the touchpad will sometimes enter standard
> mouse mode, cursor then never respond to touchpad event, and making
> the driver discard the HID reports and flood dmesg with following
> error messages.
> "elan_i2c i2c-ELAN1000:00: invalid report id data (1)"
>
> This change is from ELAN's correction. It needs 200ms delay before
> set_mode() so that the mode setting will correctly take effect.
KT, is this feasible?
[KT] After internal discussion, we don't agree this patch.
It's a work-around to fix firmware bug for specific touchpad and not
tested by other device.
>
> Signed-off-by: Chris Chiu <chiu@endlessm.com>
> ---
> drivers/input/mouse/elan_i2c_core.c | 12 +++++++-----
> 1 file changed, 7 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/input/mouse/elan_i2c_core.c
> b/drivers/input/mouse/elan_i2c_core.c
> index 2f58985..95080f9 100644
> --- a/drivers/input/mouse/elan_i2c_core.c
> +++ b/drivers/input/mouse/elan_i2c_core.c
> @@ -210,18 +210,20 @@ static int __elan_initialize(struct elan_tp_data
*data)
> return error;
> }
>
> - data->mode |= ETP_ENABLE_ABS;
> - error = data->ops->set_mode(client, data->mode);
> + error = data->ops->sleep_control(client, false);
> if (error) {
> dev_err(&client->dev,
> - "failed to switch to absolute mode: %d\n", error);
> + "failed to wake device up: %d\n", error);
> return error;
> }
>
> - error = data->ops->sleep_control(client, false);
> + msleep(200);
> +
> + data->mode |= ETP_ENABLE_ABS;
> + error = data->ops->set_mode(client, data->mode);
> if (error) {
> dev_err(&client->dev,
> - "failed to wake device up: %d\n", error);
> + "failed to switch to absolute mode: %d\n", error);
> return error;
> }
>
> --
> 2.1.4
>
Thanks.
--
Dmitry
[toc] | [prev] | [next] | [standalone]
| From | Daniel Drake <drake@endlessm.com> |
|---|---|
| Date | 2016-06-21 17:00 +0200 |
| Subject | Re: [PATCH] Input: elan_i2c - +200 ms delay before setting to ABS mode |
| Message-ID | <rMvjH-797-23@gated-at.bofh.it> |
| In reply to | #1427712 |
On Tue, Jun 21, 2016 at 6:40 AM, 廖崇榮 <kt.liao@emc.com.tw> wrote: > KT, is this feasible? > [KT] After internal discussion, we don't agree this patch. > It's a work-around to fix firmware bug for specific touchpad and not > tested by other device. For better or worse, Linux often takes on the responsibility of working around firmware bugs. This is a real issue that affects multiple Asus laptops; you'll have no touchpad input upon reboot from any OS that drives the touchpad in "generic hid" mode (e.g. older version of Linux, some embedded OS, etc). If the sleep is really that controversial, we could make it specific to the ELAN1000 model that is the one in question here? Thanks Daniel
[toc] | [prev] | [next] | [standalone]
| From | 廖崇榮 <kt.liao@emc.com.tw> |
|---|---|
| Date | 2016-06-22 14:10 +0200 |
| Subject | RE: [PATCH] Input: elan_i2c - +200 ms delay before setting to ABS mode |
| Message-ID | <rMP8J-3bX-13@gated-at.bofh.it> |
| In reply to | #1427853 |
-----Original Message----- From: Daniel Drake [mailto:drake@endlessm.com] Sent: Tuesday, June 21, 2016 10:42 PM To: 廖崇榮 Cc: Dmitry Torokhov; Chris Chiu; Charlie Mooney; Michele Curti; Krzysztof Kozlowski; Benson Leung; linux-input@vger.kernel.org; Linux Kernel; Linux Upstreaming Team; 黃世鵬 經理 Subject: Re: [PATCH] Input: elan_i2c - +200 ms delay before setting to ABS mode On Tue, Jun 21, 2016 at 6:40 AM, 廖崇榮 <kt.liao@emc.com.tw> wrote: > KT, is this feasible? > [KT] After internal discussion, we don't agree this patch. > It's a work-around to fix firmware bug for specific touchpad and > not tested by other device. For better or worse, Linux often takes on the responsibility of working around firmware bugs. This is a real issue that affects multiple Asus laptops; you'll have no touchpad input upon reboot from any OS that drives the touchpad in "generic hid" mode (e.g. older version of Linux, some embedded OS, etc). If the sleep is really that controversial, we could make it specific to the ELAN1000 model that is the one in question here? [KT]:We can consider to control specific module, our FW engineer is checking it and confirm which part number for ASUS should adopt work-around. we will reply you once we confirm. Thanks Daniel
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web