[PATCH 0/1] Fix touchpad not working on smbus

classic Classic list List threaded Threaded
10 messages Options
Reply | Threaded
Open this post in threaded view
|

[PATCH 0/1] Fix touchpad not working on smbus

Aaron Ma
BugLink: https://bugs.launchpad.net/bugs/1802135

[Impact]
ThinkPad 11e 2nd/3rd touchpad not working when load i2c-i801.
PNP LEN0049 will use smbus by default in kernel, but i2c bus is in
runtime suspend mode in old touchpad fw.
Then touchpad will not work.
LEN2040 on 11e 3rd can reproduce this issue by passing
psmouse.synaptics_intertouch=1

These 2 pnp device should be the same one Synaptics s3203_ver5.

[Fix]
i2c-i801 should auto suspend when not used, no need runtime pm.

[Test Case]
Tested on Thinkpad 11e 3rd.
Touchpad works fine.

[Regression Potential]
Low, upstream fix cherry-picked.

4.18 kernel patch, no need for cosmic.

Jean Delvare (1):
  i2c: i801: Don't restore config registers on runtime PM

 drivers/i2c/busses/i2c-i801.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

--
2.17.1


--
kernel-team mailing list
[hidden email]
https://lists.ubuntu.com/mailman/listinfo/kernel-team
Reply | Threaded
Open this post in threaded view
|

[PATCH 1/1] i2c: i801: Don't restore config registers on runtime PM

Aaron Ma
From: Jean Delvare <[hidden email]>

BugLink: https://bugs.launchpad.net/bugs/1802135

Restoring configuration registers is only needed when we hand control
to the firmware. This is never the case with runtime power
management. The device will autosuspend whenever not used, so avoid
useless register writes by defining suspend/resume only, and not
runtime_suspend/runtime_resume.

Signed-off-by: Jean Delvare <[hidden email]>
Reviewed-by: Jarkko Nikula <[hidden email]>
Signed-off-by: Wolfram Sang <[hidden email]>
(cherry picked from commit a9c8088c7988e3a8a364cac9c26eba9ee2ea6153)
Signed-off-by: Aaron Ma <[hidden email]>
---
 drivers/i2c/busses/i2c-i801.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/i2c/busses/i2c-i801.c b/drivers/i2c/busses/i2c-i801.c
index ba8df2fde1b2..00da6eae32db 100644
--- a/drivers/i2c/busses/i2c-i801.c
+++ b/drivers/i2c/busses/i2c-i801.c
@@ -1730,8 +1730,7 @@ static int i801_resume(struct device *dev)
 }
 #endif
 
-static UNIVERSAL_DEV_PM_OPS(i801_pm_ops, i801_suspend,
-    i801_resume, NULL);
+static SIMPLE_DEV_PM_OPS(i801_pm_ops, i801_suspend, i801_resume);
 
 static struct pci_driver i801_driver = {
  .name = "i801_smbus",
--
2.17.1


--
kernel-team mailing list
[hidden email]
https://lists.ubuntu.com/mailman/listinfo/kernel-team
Reply | Threaded
Open this post in threaded view
|

[SRU] [B/OEM] [PATCH 0/1] Fix touchpad not working on smbus

Aaron Ma
In reply to this post by Aaron Ma
Add kernel info in subject.

--
kernel-team mailing list
[hidden email]
https://lists.ubuntu.com/mailman/listinfo/kernel-team
Reply | Threaded
Open this post in threaded view
|

ACK: [PATCH 1/1] i2c: i801: Don't restore config registers on runtime PM

Hui Wang
In reply to this post by Aaron Ma
Acked-by: Hui Wang <[hidden email]>

On 2018/11/23 下午4:33, Aaron Ma wrote:

> From: Jean Delvare <[hidden email]>
>
> BugLink: https://bugs.launchpad.net/bugs/1802135
>
> Restoring configuration registers is only needed when we hand control
> to the firmware. This is never the case with runtime power
> management. The device will autosuspend whenever not used, so avoid
> useless register writes by defining suspend/resume only, and not
> runtime_suspend/runtime_resume.
>
> Signed-off-by: Jean Delvare <[hidden email]>
> Reviewed-by: Jarkko Nikula <[hidden email]>
> Signed-off-by: Wolfram Sang <[hidden email]>
> (cherry picked from commit a9c8088c7988e3a8a364cac9c26eba9ee2ea6153)
> Signed-off-by: Aaron Ma <[hidden email]>
> ---
>   drivers/i2c/busses/i2c-i801.c | 3 +--
>   1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/drivers/i2c/busses/i2c-i801.c b/drivers/i2c/busses/i2c-i801.c
> index ba8df2fde1b2..00da6eae32db 100644
> --- a/drivers/i2c/busses/i2c-i801.c
> +++ b/drivers/i2c/busses/i2c-i801.c
> @@ -1730,8 +1730,7 @@ static int i801_resume(struct device *dev)
>   }
>   #endif
>  
> -static UNIVERSAL_DEV_PM_OPS(i801_pm_ops, i801_suspend,
> -    i801_resume, NULL);
> +static SIMPLE_DEV_PM_OPS(i801_pm_ops, i801_suspend, i801_resume);
>  
>   static struct pci_driver i801_driver = {
>   .name = "i801_smbus",



--
kernel-team mailing list
[hidden email]
https://lists.ubuntu.com/mailman/listinfo/kernel-team
Reply | Threaded
Open this post in threaded view
|

ACK: [PATCH 1/1] i2c: i801: Don't restore config registers on runtime PM

Anthony Wong-2
In reply to this post by Aaron Ma
On Fri, Nov 23, 2018 at 04:33:04PM +0800, Aaron Ma wrote:

> From: Jean Delvare <[hidden email]>
>
> BugLink: https://bugs.launchpad.net/bugs/1802135
>
> Restoring configuration registers is only needed when we hand control
> to the firmware. This is never the case with runtime power
> management. The device will autosuspend whenever not used, so avoid
> useless register writes by defining suspend/resume only, and not
> runtime_suspend/runtime_resume.
>
> Signed-off-by: Jean Delvare <[hidden email]>
> Reviewed-by: Jarkko Nikula <[hidden email]>
> Signed-off-by: Wolfram Sang <[hidden email]>
> (cherry picked from commit a9c8088c7988e3a8a364cac9c26eba9ee2ea6153)
> Signed-off-by: Aaron Ma <[hidden email]>
> ---
>  drivers/i2c/busses/i2c-i801.c | 3 +--
>  1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/drivers/i2c/busses/i2c-i801.c b/drivers/i2c/busses/i2c-i801.c
> index ba8df2fde1b2..00da6eae32db 100644
> --- a/drivers/i2c/busses/i2c-i801.c
> +++ b/drivers/i2c/busses/i2c-i801.c
> @@ -1730,8 +1730,7 @@ static int i801_resume(struct device *dev)
>  }
>  #endif
>  
> -static UNIVERSAL_DEV_PM_OPS(i801_pm_ops, i801_suspend,
> -    i801_resume, NULL);
> +static SIMPLE_DEV_PM_OPS(i801_pm_ops, i801_suspend, i801_resume);
>  
>  static struct pci_driver i801_driver = {
>   .name = "i801_smbus",
> --
> 2.17.1

Acked-by: Anthony Wong <[hidden email]>

--
kernel-team mailing list
[hidden email]
https://lists.ubuntu.com/mailman/listinfo/kernel-team
Reply | Threaded
Open this post in threaded view
|

APPLIED[OEM-B]: [PATCH 0/1] Fix touchpad not working on smbus

AceLan Kao
In reply to this post by Aaron Ma
Applied on oem kernel 4.15.0-1029.34

--
kernel-team mailing list
[hidden email]
https://lists.ubuntu.com/mailman/listinfo/kernel-team
Reply | Threaded
Open this post in threaded view
|

APPLIED(B): [PATCH 0/1] Fix touchpad not working on smbus

Khaled Elmously
In reply to this post by Aaron Ma
On 2018-11-23 16:33:03 , Aaron Ma wrote:

> BugLink: https://bugs.launchpad.net/bugs/1802135
>
> [Impact]
> ThinkPad 11e 2nd/3rd touchpad not working when load i2c-i801.
> PNP LEN0049 will use smbus by default in kernel, but i2c bus is in
> runtime suspend mode in old touchpad fw.
> Then touchpad will not work.
> LEN2040 on 11e 3rd can reproduce this issue by passing
> psmouse.synaptics_intertouch=1
>
> These 2 pnp device should be the same one Synaptics s3203_ver5.
>
> [Fix]
> i2c-i801 should auto suspend when not used, no need runtime pm.
>
> [Test Case]
> Tested on Thinkpad 11e 3rd.
> Touchpad works fine.
>
> [Regression Potential]
> Low, upstream fix cherry-picked.
>
> 4.18 kernel patch, no need for cosmic.
>
> Jean Delvare (1):
>   i2c: i801: Don't restore config registers on runtime PM
>
>  drivers/i2c/busses/i2c-i801.c | 3 +--
>  1 file changed, 1 insertion(+), 2 deletions(-)
>
> --
> 2.17.1
>
>
> --
> kernel-team mailing list
> [hidden email]
> https://lists.ubuntu.com/mailman/listinfo/kernel-team

--
kernel-team mailing list
[hidden email]
https://lists.ubuntu.com/mailman/listinfo/kernel-team
Reply | Threaded
Open this post in threaded view
|

Re: [SRU] [B/OEM] [PATCH 0/1] Fix touchpad not working on smbus

Khaled Elmously
In reply to this post by Aaron Ma
Aaron, the bug https://bugs.launchpad.net/ubuntu/+source/kmod/+bug/1802135 states that this affects Cosmic and Xenial too.

Cosmic already has this fix but doesn't look like Xenial does.

Should this be applied to Xenial too?

Thanks


On 2018-11-23 16:47:43 , Aaron Ma wrote:
> Add kernel info in subject.
>
> --
> kernel-team mailing list
> [hidden email]
> https://lists.ubuntu.com/mailman/listinfo/kernel-team

--
kernel-team mailing list
[hidden email]
https://lists.ubuntu.com/mailman/listinfo/kernel-team
Reply | Threaded
Open this post in threaded view
|

Re: [SRU] [B/OEM] [PATCH 0/1] Fix touchpad not working on smbus

Aaron Ma
On 12/30/18 1:03 PM, Khaled Elmously wrote:
> Aaron, the bug https://bugs.launchpad.net/ubuntu/+source/kmod/+bug/1802135 states that this affects Cosmic and Xenial too.
>
> Cosmic already has this fix but doesn't look like Xenial does.
>
> Should this be applied to Xenial too?


Hi Khaled:

It's a regression of commit 2ee73c484dc4b8831b745a5feed56382b8741a72
which is in 4.7+.

So if you mean xenial 4.13 kernel, this SRU should be applied too.
If Xenial 4.4. no need to apply.

Regards,
Aaron

>
> Thanks
>
>
> On 2018-11-23 16:47:43 , Aaron Ma wrote:
>> Add kernel info in subject.
>>
>> --
>> kernel-team mailing list
>> [hidden email]
>> https://lists.ubuntu.com/mailman/listinfo/kernel-team

--
kernel-team mailing list
[hidden email]
https://lists.ubuntu.com/mailman/listinfo/kernel-team
Reply | Threaded
Open this post in threaded view
|

Re: [SRU] [B/OEM] [PATCH 0/1] Fix touchpad not working on smbus

Khaled Elmously
On 2018-12-30 19:49:44 , Aaron Ma wrote:

> On 12/30/18 1:03 PM, Khaled Elmously wrote:
> > Aaron, the bug https://bugs.launchpad.net/ubuntu/+source/kmod/+bug/1802135 states that this affects Cosmic and Xenial too.
> >
> > Cosmic already has this fix but doesn't look like Xenial does.
> >
> > Should this be applied to Xenial too?
>
>
> Hi Khaled:
>
> It's a regression of commit 2ee73c484dc4b8831b745a5feed56382b8741a72
> which is in 4.7+.
>
> So if you mean xenial 4.13 kernel, this SRU should be applied too.
> If Xenial 4.4. no need to apply.
>
> Regards,
> Aaron

Thanks Aaron. I marked the bug as invalid for Xenial


>
> >
> > Thanks
> >
> >
> > On 2018-11-23 16:47:43 , Aaron Ma wrote:
> >> Add kernel info in subject.
> >>
> >> --
> >> kernel-team mailing list
> >> [hidden email]
> >> https://lists.ubuntu.com/mailman/listinfo/kernel-team

--
kernel-team mailing list
[hidden email]
https://lists.ubuntu.com/mailman/listinfo/kernel-team