#7958 BLOC Future : DCON showed old screen image during suspend, with extra black "dusty" spots
Zarro Boogs per Child
bugtracker at laptop.org
Wed Dec 24 04:54:57 EST 2008
#7958: DCON showed old screen image during suspend, with extra black "dusty" spots
---------------------------------+------------------------------------------
Reporter: gnu | Owner: dilinger
Type: defect | Status: new
Priority: blocker | Milestone: Future Release
Component: kernel | Version: not specified
Resolution: | Keywords:
Next_action: never set | Verified: 0
Deployment_affected: | Blockedby:
Blocking: |
---------------------------------+------------------------------------------
Comment(by wmb at firmworks.com):
I have been experimenting (using OFW) with the timing of deasserting
DCONLOAD relative to the CPU's vertical scan line counter (register
DC+0x6c). If you deassert between lines 0 and 35 inclusive, you get
screen artifacts near the bottom of the screen while the DCON is in frozen
mode. The artifacts are worse when the deassertion happens at scan line
0, dwindling to rare artifacts on the last scan line of the screen when
deasserting at scan line 35.
The following deassertion procedure works reliably for me, without
artifacts:
Step 1) Wait until vertical sync is reported in that register (bit 29).
Step 2) Wait until scan line 38 is reported in the low 11 bits of that
register.
Step 3) Deassert DCONLOAD
In Step 2, you can wait for any line between 36 and 911 inclusive; it
makes no difference.
It is tempting to consider a shorter-wait procedure, which doesn't work:
Bad) Wait until the scan line number is greater than 35.
That procedure does eliminate artifacts, but it can lose (not display
during frozen mode) the last thing that was written to the frame buffer
prior to the deassertion of DCONLOAD if that last write happened in the
same frame time as the deassertion.
--
Ticket URL: <http://dev.laptop.org/ticket/7958#comment:5>
One Laptop Per Child <http://laptop.org/>
OLPC bug tracking system
More information about the Bugs
mailing list