diff options
author | Jens Arnold <amiconn@rockbox.org> | 2007-10-17 20:45:13 +0000 |
---|---|---|
committer | Jens Arnold <amiconn@rockbox.org> | 2007-10-17 20:45:13 +0000 |
commit | 3674af64417b911ce69539abeb6b99e3875b1a90 (patch) | |
tree | 6125777a6e6852fc4e5e7bf75fba77b1a404f060 /firmware/target/coldfire/crt0.S | |
parent | 702600cbdb2a5ecf381c5e9533b302443eb45dce (diff) | |
download | rockbox-3674af64417b911ce69539abeb6b99e3875b1a90.tar.gz rockbox-3674af64417b911ce69539abeb6b99e3875b1a90.zip |
Coldfire: Partially revert buffered writes, and enable them explicitly for the LCD only. Turned out that with buffered writes enabled, reads after writes are not always serialized, which is a bad thing for I/O. Buffered writes to the LCD are safe because that's write-only. Fixes FS #7985. How come I didn't notice this earlier? :>
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15173 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/target/coldfire/crt0.S')
-rw-r--r-- | firmware/target/coldfire/crt0.S | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/firmware/target/coldfire/crt0.S b/firmware/target/coldfire/crt0.S index 1393bc8bbd..cb9846a63b 100644 --- a/firmware/target/coldfire/crt0.S +++ b/firmware/target/coldfire/crt0.S @@ -218,14 +218,15 @@ start: move.l #0x01000000,%d0 movec.l %d0,%cacr - /* Enable cache, default=non-cacheable, buffered writes */ - move.l #0x80000100,%d0 + /* Enable cache, default=non-cacheable, no buffered writes */ + move.l #0x80000000,%d0 movec.l %d0,%cacr /* Cache enabled in SDRAM only, buffered writes enabled */ move.l #0x3103c020,%d0 movec.l %d0,%acr0 - moveq.l #0,%d0 + /* Buffered writes enabled for the LCD */ + move.l #0xf000c060,%d0 movec.l %d0,%acr1 #ifndef BOOTLOADER |