Re: [PATCH] Optional Beeping During Resume From Suspend To Ram.

From: Nigel Cunningham
Date: Thu Jun 28 2007 - 19:30:04 EST


Hi.

On Friday 29 June 2007 00:25:32 Pavel Machek wrote:
> Hi!
>
> > Hi all
> >
> > Here's what I have after today's work.
> >
> > I haven't yet been able to test on x86, but can confirm that it works okay
on x86_64. I'm currently working towards testing it on my old Omnibook. My P4
desktop won't resume from suspend to ram at all, and hasn't produced any
beeps.
> >
> > I needed to move the BEEP invocation to after the data segment is
reloaded, so that the test could access the variable. That was pretty tricky
to find - no oops or anything bad prior, it just didn't beep when expected.
> >
> > A couple of notes:
> >
> > - I'd like to put the BEEP macro somewhere that can be shared by x86 32
and 64. If that's a good idea, any suggestions on where? Nothing occurs to me
straight off.
> > - I've just switched from Evo to Kmail. Please let me know if there's any
mangling of the patch.
> >
> > Regards,
> >
> > Nigel
> >
> > arch/i386/kernel/acpi/wakeup.S | 29 ++++++++++++++++++++++++++++-
> > arch/x86_64/kernel/acpi/wakeup.S | 25 +++++++++++++++++++++++++
> > include/linux/acpi.h | 1 +
> > kernel/power/main.c | 23 +++++++++++++++++++++++
> > 4 files changed, 77 insertions(+), 1 deletion(-)
> > diff -ruNp 970-str-beep.patch-old/arch/i386/kernel/acpi/wakeup.S
970-str-beep.patch-new/arch/i386/kernel/acpi/wakeup.S
> > --- 970-str-beep.patch-old/arch/i386/kernel/acpi/wakeup.S 2007-06-19
12:15:25.000000000 +1000
> > +++ 970-str-beep.patch-new/arch/i386/kernel/acpi/wakeup.S 2007-06-19
21:14:49.000000000 +1000
> > @@ -11,7 +11,22 @@
> > #
> > # If physical address of wakeup_code is 0x12345, BIOS should call us with
> > # cs = 0x1234, eip = 0x05
> > -#
> > +#
> > +
> > +#define BEEP \
> > + inb $97, %al; \
> > + outb %al, $0x80; \
> > + movb $3, %al; \
> > + outb %al, $97; \
> > + outb %al, $0x80; \
> > + movb $-74, %al; \
> > + outb %al, $67; \
> > + outb %al, $0x80; \
> > + movb $-119, %al; \
> > + outb %al, $66; \
> > + outb %al, $0x80; \
> > + movb $15, %al; \
> > + outb %al, $66;
> >
> > ALIGN
> > .align 4096
> > @@ -31,6 +46,11 @@ wakeup_code:
> > movw %cs, %ax
> > movw %ax, %ds # Make ds:0 point to wakeup_start
> > movw %ax, %ss
> > +
> > + testl $1, beep_flags - wakeup_code
> > + jz 1f
> > + BEEP
> > +1:
>
> Can we rename/reuse existing flag variable?

Sorry, but I can't resist the opportunity to say "Send a patch!" :)

Seriously, though, I'd prefer not to. If we rename that acpi video flags
variable (I assume this is what you're thinking of), we only create cause for
confusion. A variable should for debugging or for controlling quirks, not for
both at the same time.

Regards,

Nigel
--
Nigel, Michelle and Alisdair Cunningham
5 Mitchell Street
Cobden 3266
Victoria, Australia

Attachment: pgp00000.pgp
Description: PGP signature