#10542 NORM Not Tri: DCON is unfreezing too early on resume
Zarro Boogs per Child
bugtracker at laptop.org
Wed Dec 15 19:37:14 EST 2010
#10542: DCON is unfreezing too early on resume
--------------------------+-------------------------------------------------
Reporter: jnettlet | Owner:
Type: defect | Status: new
Priority: normal | Milestone: Not Triaged
Component: not assigned | Version: not specified
Keywords: | Next_action: never set
Verified: 0 | Deployment_affected:
Blockedby: | Blocking:
--------------------------+-------------------------------------------------
I was researching a glitch when resuming an XO 1.5 with a rotated display.
There were registers that needed to be restored in viafb during resume.
After changing these I was still seeing a problem. These are the steps
that I did to chase down the problem.
1) Custom compile a kernel with lines 791, 801 and 802 of
drivers/video/olpc_dcon.c commented out. This was to disable kernel
suspend/resume from changing the dcon status.
2) edit my /bootpart/boot/olpc.fth line 83 so I will boot to run-level 3
by default.
3) Plug in a usb ethernet adapter, or serial console.
4) Boot this configuration
5) From the console start a GUI by issuing the olpc-dm command
6) Rotate the display
7) From console or ssh session verify that powerd is not running
8) echo 1 > /sys/devices/platform/dcon/freeze and verify the dcon is
frozen
9) echo 0 > /sys/devices/platform/dcon/freeze and verify the dcon is
unfrozen
10) echo 1 > /sys/devices/platform/dcon/freeze
11) echo mem > /sys/power/state
12) move mouse, touchpad, or press key on keyboard
Expected Result)
Normally we would now move the mouse or press a key to wake the system up
and the dcon would be unfrozen by the kernel or the powerd daemon, but we
have both these functions disabled therefore the screen should remain
frozen.
Actual Results)
The DCON unfreezes instantly even before all the video registers have been
restored so the screen glitches.
Furthermore we can see the kernel and userspace are not responsible for
this DCON unfreeze because `cat /sys/devices/platform/dcon/freeze` will
return 1 and in order to freeze the dcon again we will need to echo 0 to
the interface first and then 1 to freeze the dcon again.
--
Ticket URL: <http://dev.laptop.org/ticket/10542>
One Laptop Per Child <http://laptop.org/>
OLPC bug tracking system
More information about the Bugs
mailing list