#11964 HIGH 12.1.0: xo-1/1.5: EC "general purpose" wakeups are broken in 12.1.0

Zarro Boogs per Child bugtracker at laptop.org
Thu Jun 21 14:09:42 EDT 2012

#11964: xo-1/1.5: EC "general purpose" wakeups are broken in 12.1.0
 Reporter:  pgf     |                 Owner:  pgf                               
     Type:  defect  |                Status:  new                               
 Priority:  high    |             Milestone:  12.1.0                            
Component:  kernel  |               Version:  Development source as of this date
 Keywords:          |           Next_action:  code                              
 Verified:  0       |   Deployment_affected:                                    
Blockedby:          |              Blocking:                                    
 there's a facility in the EC to allow the kernel to schedule wakeup.
 runin uses this facility.

 there are two issues:
  - runin refers to an old path (/sys/power/ec) rather than the current
 correct location (/sys/kernel/debug/olpc-ec/cmd).  however, fixing this is
 moot, because of the second issue:
  - in order for the wakeup to succeed, the EC's wakeup mask must have the
 correct bit (0x100) set to enable that wakeup.  this bit is not set by
 default.  in theory, runin could use a second command to set the mask,
 except:  the kernel driver for the EC normally sets the EC mask to all-
 enabled while the system is running, and sets the "current wakeup mask"
 when we're suspending.  runin can only affect the EC's current all-enabled
 mask (which would be a no-op) -- it has no access to the "correct" mask
 that the kernel will set at suspend time.

 i believe the latter problem doesn't exist in the ARM kernels, because the
 driver there has a different history.  these drivers need to be merged at
 some point.  andres has a set of unified EC code that we'd like to commit

 the priority of this might be low, since this should be an optional
 facility, but for #11867.  we don't always wake with the rtc, so being
 able to wake with the EC might be very useful.

Ticket URL: <http://dev.laptop.org/ticket/11964>
One Laptop Per Child <http://laptop.org/>
OLPC bug tracking system

More information about the Bugs mailing list