Re: device_suspend() levels [was Re: [patch] ACPI work on aic7xxx]

Nathan Bryant
2004-07-20T18:10:07Z

Pavel Machek wrote:
> Hi!
>
>
>>>Can you kill #if 0 code?
>>
>>Yes. This is a work in progress. Interestingly, the ifdef'd-out code was
>>pasted from mptbase.c in the MPT Fusion driver. If it's broken here,
>>it's probably broken there -- seems the state parameter passed to the
>>pci resume callback is intended to be a PCI D state, not an ACPI S
>>state. Can somebody confirm or deny? The kernel is actually passing
>>state 2 (D2) to the driver when I enter ACPI S3, so presumably the same
>>failure could happen to fusion.
>
>
> I'm no longer sure what should be passed there... We'll probably need
> to turn it into enum... Actually swsusp code in -mm actually passes
> value from enum, and mainline swsusp code passes 0/3.
>
> Pavel

Seems to me, aside from whether it's an enum or not, it should represent
a D-state not an ACPI S-state. Some platforms (Power Mac?) probably
implement PCI power management but not in an ACPI way.