Re: [RFC 0/5] device wakeup event support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




>-----Original Message-----
>From: linux-acpi-owner@xxxxxxxxxxxxxxx [mailto:linux-acpi-
>owner@xxxxxxxxxxxxxxx] On Behalf Of David Brownell
>Sent: Tuesday, September 09, 2008 10:41 AM
>To: Li, Shaohua
>Cc: linux-pm@xxxxxxxxxxxxxxxxxxxxxxxxxx; linux-acpi@xxxxxxxxxxxxxxx;
>stern@xxxxxxxxxxxxxxxxxxx
>Subject: Re: [RFC 0/5] device wakeup event support
>
>On Monday 08 September 2008, shaohua.li@xxxxxxxxx wrote:
>> This series add device wakeup event detection support. This is the base
>to
>> implement runtime device suspend/resume, though we don't support it now.
>> But David said USB is approaching to this. See this bugzilla
>> http://bugzilla.kernel.org/show_bug.cgi?id=6892 for detail.
>
>Glad to see more attention here.  :)
>
>Note that this issue is specific to systems using PCI (at core),
>with additional nuances for PCI systems which use ACPI.
>
>Device wakeup through USB works fine on various non-PCI and
>non-ACPI embedded systems, without needing these patches.
>It's done so for several years now...
>
>
>> The current process to handle wakeup event is:
>> 1. driver enable wakeup event line pme and suspend
>> 2. NPME or ACPI receives wake
>> There are somethings we need discuss:up event
>> 3. NPME or ACPI call .wakeup_event() to clear and disable wakeup
>>    event. Driver can do extra things in .wakeup_event() too.
>> 4. NPME or ACPI call generic wakeup event handler
>(device_receive_wakeup_event())
>> 5. device resumes, and goto 1 for next round of suspend
>>
>> 1. is this generic for other platforms?
>> 2. what should the generic wakeup event handler do?
>>
>> Comments and suggestions are welcome!
>
>My reaction re "generic" is that these mechanisms should
>be specific to the busses and platforms involved; see my
>comments on patch #1.
>
>However this means that for PCI devices, or PCIE, this can
>and should be generic enough to work on non-x86 systems.
>
>It's not quite that generic yet, and there are interactions
>between PCI/PCIE and ACPI that will need work.  But having
>those layers clean is important; and you've got a decent
>start on that.
>
>Plus there are various other wake-capable devices, like
>the PS2 devices and UART in /proc/acpi/wakeup on one of
>my systems:
>
>Device  S-state   Status   Sysfs node
>PCI0      S4     disabled  no-bus:pci0000:00
>PS2M      S4     disabled  pnp:00:05
>PS2K      S4     disabled  pnp:00:06
>UAR1      S4     disabled  pnp:00:08
>USB1      S3     disabled  pci:0000:00:03.0
>USB2      S3     disabled  pci:0000:00:03.1
>USB3      S3     disabled       <-- BIOS bug: no such hardware
>USB4      S3     disabled  pci:0000:00:03.3
>S139      S4     disabled       <-- BIOS bug: no such hardware
>LAN       S4     disabled  pci:0000:00:04.0
>MDM       S4     disabled       <-- MDM and AUD are the same HW??
>AUD       S4     disabled  pci:0000:00:02.7
>SLPB      S4    *enabled
>
>But getting a good start on the PCI and ACPI runtime wake
>framework will help a lot.
The ACPI mechanism works for all devices you mentioned here. It's not just for ACPI device.

Thanks,
Shaohua
_______________________________________________
linux-pm mailing list
linux-pm@xxxxxxxxxxxxxxxxxxxxxxxxxx
https://lists.linux-foundation.org/mailman/listinfo/linux-pm

[Index of Archives]     [Linux ACPI]     [Netdev]     [Ethernet Bridging]     [Linux Wireless]     [CPU Freq]     [Kernel Newbies]     [Fedora Kernel]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux