#10233 HIGH 10.1.2: on XO-1, mouse to resume from idle suspend doesn't work well

Zarro Boogs per Child bugtracker at laptop.org
Tue Aug 24 13:22:12 EDT 2010


#10233: on XO-1, mouse to resume from idle suspend doesn't work well
--------------------------------+-------------------------------------------
           Reporter:  dsd       |       Owner:  pgf                   
               Type:  defect    |      Status:  new                   
           Priority:  high      |   Milestone:  10.1.2                
          Component:  kernel    |     Version:  1.0 Software Build 802
         Resolution:            |    Keywords:  os301                 
        Next_action:  diagnose  |    Verified:  0                     
Deployment_affected:            |   Blockedby:                        
           Blocking:            |  
--------------------------------+-------------------------------------------

Comment(by pgf):

 it seems that the ALPS touchpad/controller (in CL1) does no buffering
 whatsoever.  the EC buffers at most one byte.  this means that exactly one
 complete 3-byte packet will get through in the face of flow control by the
 kernel.  from the point of view of the EC, there will be one byte in the
 upstream (outgoing) register (that the kernel hasn't read, but which
 caused the wakeup), one in a temporary holding byte in the EC, and one in
 the incoming register).  after that, any more data from the touchpad is
 discarded by the touchpad controller.

 the synaptics pad and controller (in CL1A) does a bit better -- in
 addition to the "in flight" packet described above, it buffers one more
 complete mouse packet -- so the kernel will get two packets on a resume,
 instead of just one.

 both of these are in contrast to the 15 or 20 mouse packets which make up
 a even a short swipe with the finger when the system is awake and ready to
 receive them.

 summary:  there's not much we can do in the very short term.  longer term,
 the EC code being developed for 1.75 has queuing support, which will help
 with this a lot.  whether we can backport the new code safely to the
 current laptops remains to be seen.  it might also be worth looking at how
 to get the kernel to start reading bytes from the keyboard controller
 sooner upon resume.

 (i'll be comparing this behavior on 1.5 next, to see why it feels better.
 i assume it's just because it wakes faster.)

-- 
Ticket URL: <http://dev.laptop.org/ticket/10233#comment:18>
One Laptop Per Child <http://laptop.org/>
OLPC bug tracking system


More information about the Bugs mailing list