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!
openfirmware@openfirmware.info