#12556 HIGH 13.1.0: XO-4 mouse cursor corrupt after display-off suspend (was: [CL4] After wake up from suspend, the pointer will became garbage.)

Zarro Boogs per Child bugtracker at laptop.org
Tue Apr 2 12:38:50 EDT 2013


#12556: XO-4 mouse cursor corrupt after display-off suspend
---------------------------------------+------------------------------------
           Reporter:  tomyin           |       Owner:  jnettlet     
               Type:  defect           |      Status:  new          
           Priority:  high             |   Milestone:  13.1.0       
          Component:  x window system  |     Version:  not specified
         Resolution:                   |    Keywords:               
        Next_action:  diagnose         |    Verified:  0            
Deployment_affected:                   |   Blockedby:               
           Blocking:                   |  
---------------------------------------+------------------------------------
Changes (by dsd):

 * cc: dsd (added)


Comment:

 Some experiments and analysis on 13.2.0 build 2 on XO-4 B1 and XO-4 C1.
 All tests were done with the mouse cursor visible on screen (i.e. the last
 input was mouse input, rather than touch input that would have hidden the
 cursor).

 == FB blank/unblank ==

 With X on-screen:
 {{{
 echo 1 > /sys/devices/d420b000.display/pxa168fb_gfx.0/graphics/fb0/blank
 echo 0 > /sys/devices/d420b000.display/pxa168fb_gfx.0/graphics/fb0/blank
 }}}

 The cursor is OK.

 == DCON power cycle ==

 With X on-screen:

 {{{
 echo 1 > /sys/devices/platform/dcon/sleep
 echo 0 > /sys/devices/platform/dcon/sleep
 }}}

 The cursor is OK.

 == Suspend with display on, no VT change ==

 The normal idle-suspend routine does this. An equivalent test with the
 same results is:
  1. (on serial console while X is on-screen) echo mem > /sys/power/state
  2. Wake up with power button

 The mouse cursor is fine after resume.

 == Suspend with VT change either side ==

 Suspend by tapping the power button; this causes powerd's suspend splash
 screen to come up (involves a chvt) before suspend happens. It changes
 back to X after resume.

 Upon  resume (and chvt back to X), the cursor is OK.

 == Suspend with DCON off ==

 This can be done by closing the lid while X is on-screen. An equivalent
 test with the same results is:
  1. (on serial console while X is on-screen) echo 1 >
 /sys/devices/platform/dcon/sleep; echo mem > /sys/power/state
  2. Wake up with power button
  3. echo 0 > /sys/devices/platform/dcon/sleep

 Upon resume, the mouse cursor is corrupt.

 == Suspend with FB blanked ==

 With X on-screen:
  1. echo 1 >
 /sys/devices/d420b000.display/pxa168fb_gfx.0/graphics/fb0/blank
  2. echo mem > /sys/power/state
  3. Wake up with power button
  4. echo 0 >
 /sys/devices/d420b000.display/pxa168fb_gfx.0/graphics/fb0/blank

 Cursor is OK.

 == pxa168fb_cursor disabled ==

 pxa168fb_cursor is the function that backs up the cursor when the
 framebuffer is blanked.

 Let's check it has an effect. Disabled it at the code level, repeated the
 "Suspend with display on, no VT change" test. On resume, the mouse cursor
 is bad.

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


More information about the Bugs mailing list