Patchwork Quirk to fix suspend/resume on Lenovo Edge 11,13,14,15

login
register
mail settings
Submitter Manoj Iyer
Date Jan. 13, 2011, 4:23 p.m.
Message ID <1294935780-2687-2-git-send-email-manoj.iyer@canonical.com>
Download mbox | patch
Permalink /patch/78772/
State Superseded
Delegated to: Andy Whitcroft
Headers show

Comments

Manoj Iyer - Jan. 13, 2011, 4:23 p.m.
Set acpi_skip_timer_override to force ignoring BIOS
IRQ0 pin2 override. This fixes resume from suspend on
AMD based ThinkPad Edge 11,13,14 and 15.

Signed-off-by: Manoj Iyer <manoj.iyer@canonical.com>
---
 arch/x86/kernel/acpi/boot.c |   36 ++++++++++++++++++++++++++++++++++++
 1 files changed, 36 insertions(+), 0 deletions(-)
Tim Gardner - Jan. 13, 2011, 8:33 p.m.
On 01/13/2011 10:23 AM, Manoj Iyer wrote:
> Set acpi_skip_timer_override to force ignoring BIOS
> IRQ0 pin2 override. This fixes resume from suspend on
> AMD based ThinkPad Edge 11,13,14 and 15.
>
> Signed-off-by: Manoj Iyer<manoj.iyer@canonical.com>
> ---
>   arch/x86/kernel/acpi/boot.c |   36 ++++++++++++++++++++++++++++++++++++
>   1 files changed, 36 insertions(+), 0 deletions(-)
>
> diff --git a/arch/x86/kernel/acpi/boot.c b/arch/x86/kernel/acpi/boot.c
> index c05872a..715abe9 100644
> --- a/arch/x86/kernel/acpi/boot.c
> +++ b/arch/x86/kernel/acpi/boot.c
> @@ -1425,6 +1425,42 @@ static struct dmi_system_id __initdata acpi_dmi_table[] = {
>   		     DMI_MATCH(DMI_PRODUCT_NAME, "TravelMate 360"),
>   		     },
>   	 },
> +	/* ThinkPad Edge 11 (AMD) */
> +	{
> +	 .callback = dmi_ignore_irq0_timer_override,
> +	 .ident = "ThinkPad Edge",
> +	 .matches = {
> +		     DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
> +		     DMI_MATCH(DMI_PRODUCT_NAME, "254523U"),
> +		    },
> +	},
> +	/* ThinkPad Edge 13 (AMD) */
> +	{
> +	 .callback = dmi_ignore_irq0_timer_override,
> +	 .ident = "ThinkPad Edge",
> +	 .matches = {
> +		     DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
> +		     DMI_MATCH(DMI_PRODUCT_NAME, "022120U"),
> +		    },
> +	},
> +	/* ThinkPad Edge 14 (AMD) */
> +	{
> +	 .callback = dmi_ignore_irq0_timer_override,
> +	 .ident = "ThinkPad Edge",
> +	 .matches = {
> +		     DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
> +		     DMI_MATCH(DMI_PRODUCT_NAME, "019923U"),
> +		    },
> +	},
> +	/* ThinkPad Edge 15 (AMD) */
> +	{
> +	 .callback = dmi_ignore_irq0_timer_override,
> +	 .ident = "ThinkPad Edge",
> +	 .matches = {
> +		     DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
> +		     DMI_MATCH(DMI_PRODUCT_NAME, "030222U"),
> +		    },
> +	},
>   	{}
>   };
>

This is an SRU patch, so it needs a BugLink.
Manoj Iyer - Jan. 13, 2011, 8:37 p.m.
I NACK this patch, upstream seems to have different ideas on how to
fix this, also I found some inaccuracies in my patch, so until that is
worked out please ignore my request.

On Thu, Jan 13, 2011 at 10:23 AM, Manoj Iyer <manoj.iyer@canonical.com> wrote:
> Set acpi_skip_timer_override to force ignoring BIOS
> IRQ0 pin2 override. This fixes resume from suspend on
> AMD based ThinkPad Edge 11,13,14 and 15.
>
> Signed-off-by: Manoj Iyer <manoj.iyer@canonical.com>
> ---
>  arch/x86/kernel/acpi/boot.c |   36 ++++++++++++++++++++++++++++++++++++
>  1 files changed, 36 insertions(+), 0 deletions(-)
>
> diff --git a/arch/x86/kernel/acpi/boot.c b/arch/x86/kernel/acpi/boot.c
> index c05872a..715abe9 100644
> --- a/arch/x86/kernel/acpi/boot.c
> +++ b/arch/x86/kernel/acpi/boot.c
> @@ -1425,6 +1425,42 @@ static struct dmi_system_id __initdata acpi_dmi_table[] = {
>                     DMI_MATCH(DMI_PRODUCT_NAME, "TravelMate 360"),
>                     },
>         },
> +       /* ThinkPad Edge 11 (AMD) */
> +       {
> +        .callback = dmi_ignore_irq0_timer_override,
> +        .ident = "ThinkPad Edge",
> +        .matches = {
> +                    DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
> +                    DMI_MATCH(DMI_PRODUCT_NAME, "254523U"),
> +                   },
> +       },
> +       /* ThinkPad Edge 13 (AMD) */
> +       {
> +        .callback = dmi_ignore_irq0_timer_override,
> +        .ident = "ThinkPad Edge",
> +        .matches = {
> +                    DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
> +                    DMI_MATCH(DMI_PRODUCT_NAME, "022120U"),
> +                   },
> +       },
> +       /* ThinkPad Edge 14 (AMD) */
> +       {
> +        .callback = dmi_ignore_irq0_timer_override,
> +        .ident = "ThinkPad Edge",
> +        .matches = {
> +                    DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
> +                    DMI_MATCH(DMI_PRODUCT_NAME, "019923U"),
> +                   },
> +       },
> +       /* ThinkPad Edge 15 (AMD) */
> +       {
> +        .callback = dmi_ignore_irq0_timer_override,
> +        .ident = "ThinkPad Edge",
> +        .matches = {
> +                    DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
> +                    DMI_MATCH(DMI_PRODUCT_NAME, "030222U"),
> +                   },
> +       },
>        {}
>  };
>
> --
> 1.7.1
>
>
> --
> kernel-team mailing list
> kernel-team@lists.ubuntu.com
> https://lists.ubuntu.com/mailman/listinfo/kernel-team
>
Tim Gardner - Jan. 13, 2011, 8:44 p.m.
On 01/13/2011 02:37 PM, Manoj Iyer wrote:
> I NACK this patch, upstream seems to have different ideas on how to
> fix this, also I found some inaccuracies in my patch, so until that is
> worked out please ignore my request.
>
> On Thu, Jan 13, 2011 at 10:23 AM, Manoj Iyer<manoj.iyer@canonical.com>  wrote:
>> Set acpi_skip_timer_override to force ignoring BIOS
>> IRQ0 pin2 override. This fixes resume from suspend on
>> AMD based ThinkPad Edge 11,13,14 and 15.
>>
>> Signed-off-by: Manoj Iyer<manoj.iyer@canonical.com>
>> ---
>>   arch/x86/kernel/acpi/boot.c |   36 ++++++++++++++++++++++++++++++++++++
>>   1 files changed, 36 insertions(+), 0 deletions(-)
>>
>> diff --git a/arch/x86/kernel/acpi/boot.c b/arch/x86/kernel/acpi/boot.c
>> index c05872a..715abe9 100644
>> --- a/arch/x86/kernel/acpi/boot.c
>> +++ b/arch/x86/kernel/acpi/boot.c
>> @@ -1425,6 +1425,42 @@ static struct dmi_system_id __initdata acpi_dmi_table[] = {
>>                      DMI_MATCH(DMI_PRODUCT_NAME, "TravelMate 360"),
>>                      },
>>          },
>> +       /* ThinkPad Edge 11 (AMD) */
>> +       {
>> +        .callback = dmi_ignore_irq0_timer_override,
>> +        .ident = "ThinkPad Edge",
>> +        .matches = {
>> +                    DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
>> +                    DMI_MATCH(DMI_PRODUCT_NAME, "254523U"),
>> +                   },
>> +       },
>> +       /* ThinkPad Edge 13 (AMD) */
>> +       {
>> +        .callback = dmi_ignore_irq0_timer_override,
>> +        .ident = "ThinkPad Edge",
>> +        .matches = {
>> +                    DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
>> +                    DMI_MATCH(DMI_PRODUCT_NAME, "022120U"),
>> +                   },
>> +       },
>> +       /* ThinkPad Edge 14 (AMD) */
>> +       {
>> +        .callback = dmi_ignore_irq0_timer_override,
>> +        .ident = "ThinkPad Edge",
>> +        .matches = {
>> +                    DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
>> +                    DMI_MATCH(DMI_PRODUCT_NAME, "019923U"),
>> +                   },
>> +       },
>> +       /* ThinkPad Edge 15 (AMD) */
>> +       {
>> +        .callback = dmi_ignore_irq0_timer_override,
>> +        .ident = "ThinkPad Edge",
>> +        .matches = {
>> +                    DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
>> +                    DMI_MATCH(DMI_PRODUCT_NAME, "030222U"),
>> +                   },
>> +       },
>>         {}
>>   };
>>
>> --
>> 1.7.1
>>
>>
>> --
>> kernel-team mailing list
>> kernel-team@lists.ubuntu.com
>> https://lists.ubuntu.com/mailman/listinfo/kernel-team
>>
>
>
>

Natty as well?

Patch

diff --git a/arch/x86/kernel/acpi/boot.c b/arch/x86/kernel/acpi/boot.c
index c05872a..715abe9 100644
--- a/arch/x86/kernel/acpi/boot.c
+++ b/arch/x86/kernel/acpi/boot.c
@@ -1425,6 +1425,42 @@  static struct dmi_system_id __initdata acpi_dmi_table[] = {
 		     DMI_MATCH(DMI_PRODUCT_NAME, "TravelMate 360"),
 		     },
 	 },
+	/* ThinkPad Edge 11 (AMD) */
+	{
+	 .callback = dmi_ignore_irq0_timer_override,
+	 .ident = "ThinkPad Edge",
+	 .matches = {
+		     DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
+		     DMI_MATCH(DMI_PRODUCT_NAME, "254523U"),
+		    },
+	},
+	/* ThinkPad Edge 13 (AMD) */
+	{
+	 .callback = dmi_ignore_irq0_timer_override,
+	 .ident = "ThinkPad Edge",
+	 .matches = {
+		     DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
+		     DMI_MATCH(DMI_PRODUCT_NAME, "022120U"),
+		    },
+	},
+	/* ThinkPad Edge 14 (AMD) */
+	{
+	 .callback = dmi_ignore_irq0_timer_override,
+	 .ident = "ThinkPad Edge",
+	 .matches = {
+		     DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
+		     DMI_MATCH(DMI_PRODUCT_NAME, "019923U"),
+		    },
+	},
+	/* ThinkPad Edge 15 (AMD) */
+	{
+	 .callback = dmi_ignore_irq0_timer_override,
+	 .ident = "ThinkPad Edge",
+	 .matches = {
+		     DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
+		     DMI_MATCH(DMI_PRODUCT_NAME, "030222U"),
+		    },
+	},
 	{}
 };