public inbox for linux-acpi@vger.kernel.org
 help / color / mirror / Atom feed
From: "Emmanuel Thomé" <Emmanuel.Thome-MZpvjPyXg2s@public.gmane.org>
To: Pavel Machek <pavel-+ZI9xUNit7I@public.gmane.org>
Cc: ole.rohne-vJEk5272eHo@public.gmane.org,
	Jon Valvatne <jon-hc6/xhmWZxdWk0Htik3J/w@public.gmane.org>,
	acpi-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org
Subject: Re: Suspend-to-RAM on Sony Vaios
Date: Tue, 2 Nov 2004 23:00:34 +0100	[thread overview]
Message-ID: <20041102220034.GA31435@tate.loria.fr> (raw)
In-Reply-To: <20041101154127.GB1056-I/5MKhXcvmPrBKCeMvbIDA@public.gmane.org>

[-- Attachment #1: Type: text/plain, Size: 3002 bytes --]


On Mon, Nov 01, 2004 at 04:41:28PM +0100, Pavel Machek wrote:
> Patch looks good to me...

Great. Here's an updated version.

> Uff, this looks pretty ugly. But I guess it is i386 being ugly...

The present version does the indirection once and for all, it's more
readable. I've documented a bit the segment descriptor stuff, so that
it's not so mystifying. I can do most of it in C, using asm/processor.h
and asm/desc.h if you prefer.

Ole, while digging up what happens with your real mode / pmode switch, I
discovered that it turns out you're _not_ initializing the segment
descriptor for the data segment. It does not matter too much,  since the
wakeup code (once in real mode) hooks ds to the same place as cs anyway,
and sets up the stack accordingly, but is there a reason for doing so ?
I've initialized the descriptor, to make things more clear.

In fact, I hoped that this was a key explaining vgabios crashes: the es
segment point into nowhere (the wakeup code does not touch it), but maybe
the ROM code uses it (who knows). Unfortunately, movw %ax, %es does not
improve things.

I would say, still, that adding movw %ax, %es on top of wakeup_start
would make sense, perhaps some machine where s3_{,late_}{bios,mode}
almost work would benefit from it. Do you agree ?

> > +	if (((pci_dev->class ^ (PCI_CLASS_DISPLAY_VGA << 8)) & 0xffff00)==0)
> The use of xor here is certainly interesting. Is it possible to say
> 	pci_dev->class & 0xffff00 == PCI_CLASS_DISPLAY_VGA << 8

;-) This one got me laughing as well. I do prefer the (a & b) == c idiom
(now used), but I was amused by this xor in pci_match_one_device.

> > [ sleep_hacks.h ]
> Does it really deserve its own header file? Hmm and it should probably
> be common between x86-64 and i386, as we might need 64-bit version in
> future...

Well, the problem is that this stuff has to be included from the .S file
as well.

I've moved it into asm/acpi.h instead, which was the place where I
intended to put it at first. This implies protecting most of asm/acpi.h
with #ifndef __ASSEMBLY__ , but this makes sense for asm/ includes,
doesn't it ? Do you prefer this location ?

Attached are three files.

s3_late_bios.patch.gz is the current, working patch for i386.

s3_late_bios_radeon.patch.gz puts an acpi_vgapost call into the radeonfb
driver, just to illustrate how it can be inserted into custom pci resume
functions (oh, this will change in 2.6.10 with the removal of
pci_restore_state's second arg...).

s3_late_bios-x86_64-draft.patch.gz is untested. It lays the ground for
doing the same for x86_64 , but currently I don't have access to amd64
boxes where I can play with acpi (you wouldn't play such games on a
department level server, would you ?).


I've read on this ml that this stuff crashes S4 resume, understandably.
So now, calls to acpi_vgapost are protected by (pci_dev->dev.power_state
!= 4) checks, as seen elsewhere. Is .power_state==4 effectively used for
marking S4 sleep ?

Hoping this version is OK for you,

E.

[-- Attachment #2: s3_late_bios.patch.gz --]
[-- Type: application/x-gzip, Size: 3633 bytes --]

[-- Attachment #3: s3_late_bios_radeon.patch.gz --]
[-- Type: application/x-gzip, Size: 342 bytes --]

[-- Attachment #4: s3_late_bios-x86_64-draft.patch.gz --]
[-- Type: application/x-gzip, Size: 987 bytes --]

  parent reply	other threads:[~2004-11-02 22:00 UTC|newest]

Thread overview: 49+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-10-18  0:08 Suspend-to-RAM on Sony Vaios Jon Valvatne
     [not found] ` <20041018020816.48673359-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2004-10-18  4:15   ` Ivor Hewitt
     [not found]     ` <200410180415.59801.ivor-rtBon1mkn18@public.gmane.org>
2004-10-18 13:15       ` Jon Valvatne
2004-10-18 11:26   ` Pavel Machek
     [not found]     ` <20041018112632.GB4400-u08AdweFZfgxtPtxi4kahqVXKuFTiq87@public.gmane.org>
2004-10-20 22:13       ` Jon Valvatne
     [not found]         ` <20041021001331.69c6c965-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2004-10-20 22:53           ` Pavel Machek
     [not found]             ` <20041020225334.GC29863-I/5MKhXcvmPrBKCeMvbIDA@public.gmane.org>
2004-11-01 14:54               ` Emmanuel Thomé
     [not found]                 ` <20041101145410.GB12006-xkTd+U360DcAs8EywTwl9A@public.gmane.org>
2004-11-01 15:17                   ` ole.rohne-vJEk5272eHo
2004-11-01 15:41                   ` Pavel Machek
     [not found]                     ` <20041101154127.GB1056-I/5MKhXcvmPrBKCeMvbIDA@public.gmane.org>
2004-11-02 22:00                       ` Emmanuel Thomé [this message]
     [not found]                         ` <20041102220034.GA31435-xkTd+U360DcAs8EywTwl9A@public.gmane.org>
2004-11-02 22:09                           ` Pavel Machek
     [not found]                             ` <20041102220958.GF1407-I/5MKhXcvmPrBKCeMvbIDA@public.gmane.org>
2004-11-03 10:51                               ` Andi Kleen
     [not found]                                 ` <20041103105106.GA4174-B4tOwbsTzaBolqkO4TVVkw@public.gmane.org>
2004-11-03 11:13                                   ` Pavel Machek
     [not found]                                     ` <20041103111306.GA1002-I/5MKhXcvmPrBKCeMvbIDA@public.gmane.org>
2004-11-03 12:36                                       ` Andi Kleen
     [not found]                                         ` <20041103123625.GA18867-B4tOwbsTzaBolqkO4TVVkw@public.gmane.org>
2004-11-03 12:38                                           ` Pavel Machek
     [not found]                                             ` <20041103123830.GB1002-I/5MKhXcvmPrBKCeMvbIDA@public.gmane.org>
2004-11-03 12:47                                               ` Andi Kleen
     [not found]                                                 ` <20041103124757.GE18867-B4tOwbsTzaBolqkO4TVVkw@public.gmane.org>
2004-11-03 12:50                                                   ` Pavel Machek
     [not found]                                                     ` <20041103125047.GD1002-I/5MKhXcvmPrBKCeMvbIDA@public.gmane.org>
2004-11-03 13:08                                                       ` Andi Kleen
2004-11-03 11:31                                   ` ole.rohne-vJEk5272eHo
     [not found]                                     ` <yzoekjbgod9.fsf-vJEk5272eHo@public.gmane.org>
2004-11-03 12:41                                       ` Andi Kleen
     [not found]                                         ` <20041103124138.GC18867-B4tOwbsTzaBolqkO4TVVkw@public.gmane.org>
2004-11-03 13:52                                           ` ole.rohne-vJEk5272eHo
     [not found]                                             ` <yzois8n9h17.fsf-vJEk5272eHo@public.gmane.org>
2004-11-03 14:11                                               ` Andi Kleen
     [not found]                                                 ` <20041103141134.GA24195-B4tOwbsTzaBolqkO4TVVkw@public.gmane.org>
2004-11-03 14:49                                                   ` ole.rohne-vJEk5272eHo
2004-11-03  9:46                           ` ole.rohne-vJEk5272eHo
2004-10-21 16:19           ` Florian Hühn
2004-10-19  8:11   ` Luc Saillard
  -- strict thread matches above, loose matches on Subject: below --
2004-10-19  9:25 Li, Shaohua
     [not found] ` <16A54BF5D6E14E4D916CE26C9AD3057559A05A-4yWAQGcml66iAffOGbnezLfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2004-10-19 10:11   ` Luc Saillard
2004-10-19 11:45 Li, Shaohua
     [not found] ` <16A54BF5D6E14E4D916CE26C9AD3057559A0A4-4yWAQGcml66iAffOGbnezLfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2004-10-19 12:39   ` Luc Saillard
     [not found]     ` <20041019123930.GA25753-Snhs3Gxj9njPHUqn3ntIkQ@public.gmane.org>
2004-10-19 13:47       ` Matthew Garrett
2004-10-19 16:32 Pallipadi, Venkatesh
     [not found] ` <88056F38E9E48644A0F562A38C64FB600323619D-exJ48ZlmiLpQxe9IK+vIArfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2004-10-19 16:47   ` Luc Saillard
     [not found]     ` <20041019164702.GB25753-Snhs3Gxj9njPHUqn3ntIkQ@public.gmane.org>
2004-10-20  9:45       ` Proinnsias Breathnach
2004-10-20  3:30 Li, Shaohua
2004-11-03 14:45 Pallipadi, Venkatesh
     [not found] ` <88056F38E9E48644A0F562A38C64FB60033E4DDC-exJ48ZlmiLpQxe9IK+vIArfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2004-11-03 15:52   ` Andi Kleen
     [not found]     ` <20041103155217.GH24195-B4tOwbsTzaBolqkO4TVVkw@public.gmane.org>
2004-11-03 17:13       ` ole.rohne-vJEk5272eHo
     [not found]         ` <yzosm7q97q2.fsf-vJEk5272eHo@public.gmane.org>
2004-11-03 17:21           ` Andi Kleen
     [not found]             ` <20041103172120.GB18092-B4tOwbsTzaBolqkO4TVVkw@public.gmane.org>
2004-11-03 18:01               ` Matthew Garrett
     [not found]                 ` <1099504898.31687.31.camel-Xmbc1Sz64/5pghhO6/9/sx2eb7JE58TQ@public.gmane.org>
2004-11-04  4:15                   ` Andi Kleen
     [not found]                     ` <20041104041525.GE21211-B4tOwbsTzaBolqkO4TVVkw@public.gmane.org>
2004-11-04 10:39                       ` Matthew Garrett
2004-11-04 10:58                         ` Andi Kleen
2004-11-04 13:49                           ` ole.rohne-vJEk5272eHo
2004-11-04  8:29                 ` ole.rohne-vJEk5272eHo
2004-11-04  8:24               ` ole.rohne-vJEk5272eHo
     [not found]                 ` <yzo654mowci.fsf-vJEk5272eHo@public.gmane.org>
2004-11-04  9:02                   ` Andi Kleen
     [not found]                     ` <20041104090233.GD28895-B4tOwbsTzaBolqkO4TVVkw@public.gmane.org>
2004-11-04 11:40                       ` Pavel Machek
2004-11-04 12:14                     ` ole.rohne-vJEk5272eHo

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20041102220034.GA31435@tate.loria.fr \
    --to=emmanuel.thome-mzpvjpyxg2s@public.gmane.org \
    --cc=acpi-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org \
    --cc=jon-hc6/xhmWZxdWk0Htik3J/w@public.gmane.org \
    --cc=ole.rohne-vJEk5272eHo@public.gmane.org \
    --cc=pavel-+ZI9xUNit7I@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox