"New" is of course relative. In the ACPI world, anything about ACPI 3.0 is still considered "new". Windows has yet to fully implement ACPI 2.0, let alone ACPI 3.0... Please point me to where the "spec spec seems to suggest that _GTS should be executed with interrupts off", as I don't think it should. In any case, the AML interpreter cannot be executed with interrupts off. There is way too much going on in that code. Bob > -----Original Message----- > From: Rafael J. Wysocki [mailto:rjw@xxxxxxx] > Sent: Friday, May 04, 2007 1:51 AM > To: Alexey Starikovskiy > Cc: Moore, Robert; ACPI Devel Maling List; pm list; Pavel Machek > Subject: Re: Why don't we use _TTS method? > > Hi Alexey, > > On Friday, 4 May 2007 06:34, Alexey Starikovskiy wrote: > > Rafael, > > > > code in prepare() and enter() is split as code with interrupts on and > > code with interrupts off. > > I see. Still, the spec seems to suggest that _GTS should be executed with > interrupts off, but we run it in the 'interrupts on' part of code. Isn't > that > wrong? > > > thus it doesn't quite follow a spec in regards of driver suspend. > > Yes. > > > Basically we need to either split it to smaller pieces or have hooks > > to control interrupts/driver suspend from this code. > > I'd like to split it and I'd like to figure out *how* to do this. More > precisely, I'd like to learn which part of acpi_pm_prepare() should be > executed before device_suspend() and which part can be run after it. > Analogously, I'd like to learn which part of acpi_pm_finish() needs to be > run before device_resume() and which part can be (or should be) run > after it. > > Greetings, > Rafael > > > > On 5/4/07, Rafael J. Wysocki <rjw@xxxxxxx> wrote: > > > On Friday, 4 May 2007 00:57, Moore, Robert wrote: > > > > > > > > > -----Original Message----- > > > > > From: linux-acpi-owner@xxxxxxxxxxxxxxx [mailto:linux-acpi- > > > > > owner@xxxxxxxxxxxxxxx] On Behalf Of Rafael J. Wysocki > > > > > Sent: Thursday, May 03, 2007 1:02 PM > > > > > To: ACPI Devel Maling List > > > > > Cc: pm list; Pavel Machek > > > > > Subject: Why don't we use _TTS method? > > > > > > > > > > Hi, > > > > > > > > > > I've got two questions regarding the implementation of the ACPI > > > > > poweroff/sleep > > > > > code in drivers/acpi/sleep and drivers/acpi/hardware . > > > > > > > > > > 1) We don't seem to use the _TTS system-control method, although > the > > > > ACPI > > > > > specification (ACPI 3.0b) says that this method should be used for > > > > > intiating > > > > > and finishing power transitions. Could you please tell me why we > > > > don't > > > > > use it? > > > > > > > > > [Moore, Robert] > > > > > > > > Probably because it's fairly new and it takes a long time for these > > > > things to appear in real machines. Also, needs to be supported in > > > > Windows before we ever see it in real machines. > > > > > > Hmm, it already was in the 3.0 spec from 2004, so it doesn't seem to > be > > > that new. Still, I'm not an expert ... > > > > > > > > 2) In the functions acpi_enter_sleep_state_prep(), > > > > > acpi_enter_sleep_state(), > > > > > acpi_leave_sleep_state() we manipulate GPEs quite extensively (we > > > > disable > > > > > and enable them for a couple of times during a transition), > although > > > > the > > > > > specification doesn't tell anything about that explicitly. Could > you > > > > > please > > > > > explain to me what the purpose of that is? > > > > > > > > > [Moore, Robert] > > > > > > > > There a wake GPEs and runtime GPEs that need to be managed > separately. > > > > We want to make sure that only the "Wake" GPEs are enabled as we > goto > > > > sleep. > > > > > > I understand that, but the runtime GPEs seem to be disabled before we > call > > > device drivers' .suspend() routines (ie. before the devices are placed > in the > > > appropriate Dx states) and that's the point I don't quite get. Is > there a > > > technical reason for doing it in this particular place? > > > > > > Thanks a lot for your reply. > > > > > > Greetings, > > > Rafael > > > - > > > To unsubscribe from this list: send the line "unsubscribe linux-acpi" > in > > > the body of a message to majordomo@xxxxxxxxxxxxxxx > > > More majordomo info at http://vger.kernel.org/majordomo-info.html > > > > > > > > > -- > If you don't have the time to read, > you don't have the time or the tools to write. > - Stephen King - To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html