Messages in this thread Patch in this message | | | Date | Tue, 12 Sep 2006 00:59:20 +0100 | From | Matthew Garrett <> | Subject | Re: Suspend to ram with 2.6 kernels |
| |
On Tue, Sep 12, 2006 at 12:28:20AM +0200, Andreas Steinmetz wrote:
> Nope, > but the hint from this thread was good: s2ram works with > "acpi_skip_timer_override" and probably "enable_timer_pin_1" (I have to > try without this one, yet). Radeon, however, remains as a problem.
Can you test with the following patch (without acpi_skip_timer_override)?
diff --git a/arch/i386/kernel/i8259.c b/arch/i386/kernel/i8259.c index 323ef8a..41485c7 100644 --- a/arch/i386/kernel/i8259.c +++ b/arch/i386/kernel/i8259.c @@ -46,6 +46,8 @@ static void end_8259A_irq (unsigned int #define shutdown_8259A_irq disable_8259A_irq +static int i8259A_auto_eoi; + static void mask_and_ack_8259A(unsigned int); unsigned int startup_8259A_irq(unsigned int irq) @@ -254,7 +256,7 @@ static void save_ELCR(char *trigger) static int i8259A_resume(struct sys_device *dev) { - init_8259A(0); + init_8259A(i8259A_auto_eoi); restore_ELCR(irq_trigger); return 0; } @@ -302,6 +304,8 @@ void init_8259A(int auto_eoi) { unsigned long flags; + i8259A_auto_eoi = auto_eoi; + spin_lock_irqsave(&i8259A_lock, flags); outb(0xff, PIC_MASTER_IMR); /* mask all of 8259A-1 */ diff --git a/arch/x86_64/kernel/i8259.c b/arch/x86_64/kernel/i8259.c index 5ecd34a..75f77da 100644 --- a/arch/x86_64/kernel/i8259.c +++ b/arch/x86_64/kernel/i8259.c @@ -129,6 +129,8 @@ #undef IRQLIST_14 DEFINE_SPINLOCK(i8259A_lock); +static int i8259A_auto_eoi; + static void end_8259A_irq (unsigned int irq) { if (irq > 256) { @@ -342,6 +344,8 @@ void init_8259A(int auto_eoi) { unsigned long flags; + i8259A_auto_eoi = auto_eoi; + spin_lock_irqsave(&i8259A_lock, flags); outb(0xff, 0x21); /* mask all of 8259A-1 */ @@ -400,7 +404,7 @@ static void save_ELCR(char *trigger) static int i8259A_resume(struct sys_device *dev) { - init_8259A(0); + init_8259A(i8259A_auto_eoi); restore_ELCR(irq_trigger); return 0; } -- Matthew Garrett | mjg59@srcf.ucam.org - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |