[openfirmware] r886 - cpu/x86/pc/olpc

svn at openfirmware.info svn at openfirmware.info
Fri Aug 22 00:31:44 CEST 2008


Author: wmb
Date: 2008-08-22 00:31:44 +0200 (Fri, 22 Aug 2008)
New Revision: 886

Modified:
   cpu/x86/pc/olpc/fw.bth
   cpu/x86/pc/olpc/gui.fth
   cpu/x86/pc/olpc/vsapci.fth
Log:
OLPC trac 8052 - Linux audio was hanging if the startup sound was off,
because OFW was leaving the AC97 registers disabled.  The fix is to
enable all of the virtualized PCI command registers.


Modified: cpu/x86/pc/olpc/fw.bth
===================================================================
--- cpu/x86/pc/olpc/fw.bth	2008-08-20 08:00:54 UTC (rev 885)
+++ cpu/x86/pc/olpc/fw.bth	2008-08-21 22:31:44 UTC (rev 886)
@@ -308,6 +308,12 @@
 \ fload ${BP}/ofw/gui/insticon.fth
 
 [ifdef] olpc
+: setup-for-os  ( -- )
+   [ ' go-hook behavior compile, ]    \ Chain to old behavior
+   vpci-devices-on   \ Do this after quieting USB
+;
+' setup-for-os to go-hook
+
 fload ${BP}/cpu/x86/pc/olpc/gui.fth
 fload ${BP}/cpu/x86/pc/olpc/suspend.fth      \ Suspend/resume setup
 fload ${BP}/dev/olpc/keyboard/selftest.fth   \ Keyboard diagnostic

Modified: cpu/x86/pc/olpc/gui.fth
===================================================================
--- cpu/x86/pc/olpc/gui.fth	2008-08-20 08:00:54 UTC (rev 885)
+++ cpu/x86/pc/olpc/gui.fth	2008-08-21 22:31:44 UTC (rev 886)
@@ -390,12 +390,15 @@
 : dcon-freeze    ( -- )  0 " set-source" $call-screen d# 30 ms  ;
 : dcon-unfreeze  ( -- )  1 " set-source" $call-screen d# 30 ms  ;
 
+: go-hook-unfreeze
+   [ ' go-hook behavior compile, ]
+;
 : go-hook-freeze
    [ ' go-hook behavior compile, ]
    0 " set-source" $call-screen
 ;
-: freeze    ( -- )  ['] go-hook-freeze to go-hook  ;
-: unfreeze  ( -- )  ['] usb-quiet      to go-hook  ;
+: freeze    ( -- )  ['] go-hook-freeze   to go-hook  ;
+: unfreeze  ( -- )  ['] go-hook-unfreeze to go-hook  ;
 
 \ LICENSE_BEGIN
 \ Copyright (c) 2006 FirmWorks

Modified: cpu/x86/pc/olpc/vsapci.fth
===================================================================
--- cpu/x86/pc/olpc/vsapci.fth	2008-08-20 08:00:54 UTC (rev 885)
+++ cpu/x86/pc/olpc/vsapci.fth	2008-08-21 22:31:44 UTC (rev 886)
@@ -506,6 +506,12 @@
 : config-w!  ( w a -- )  config-setup  if  h#     ffff vpci!  else  rw!  then  ;
 : config-l!  ( l a -- )  config-setup  if  h# ffffffff vpci!  else  rl!  then  ;
 
+: vpci-devices-on  ( -- )
+   h# 49  h# 7804 config-w!  \ ISA
+   h# 45  h# 7b04 config-w!  \ AC97
+   h# 06  h# 7c04 config-w!  \ OHCI
+   h# 06  h# 7d04 config-w!  \ EHCI
+;
 : assign-cafe  ( -- )
    nand-pci-base    h# 6010 config-l!
    sd-pci-base      h# 6110 config-l!




More information about the openfirmware mailing list