mirror of
https://github.com/Rockbox/rockbox.git
synced 2025-12-08 20:55:17 -05:00
Coldfire targets: enable buffered writes by default. Speeds up all sorts of I/O that writes to ports: LCD update (except the functions using DMA on H300), ATA writes, .... Some timings had to be adjusted for the new configuration.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15129 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
c08c081211
commit
b85b6be3aa
7 changed files with 16 additions and 16 deletions
|
|
@ -29,8 +29,8 @@
|
|||
|
||||
lcd_write_command:
|
||||
move.l (4,%sp),%d0
|
||||
lea MBAR2,%a1
|
||||
move.l #~8,%d1
|
||||
lea MBAR2,%a1
|
||||
move.l #~8,%d1
|
||||
and.l %d1,(0xb4,%a1)
|
||||
move.w %d0,0xf0000000
|
||||
rts
|
||||
|
|
@ -77,19 +77,19 @@ lcd_write_command_ex:
|
|||
lcd_write_data:
|
||||
move.l (4,%sp),%a0 /* Data pointer */
|
||||
move.l (8,%sp),%d0 /* Length */
|
||||
lea MBAR2,%a1
|
||||
lea MBAR2,%a1
|
||||
moveq #8,%d1
|
||||
or.l %d1,(0xb4,%a1)
|
||||
|
||||
lea 0xf0000000,%a1
|
||||
.loop:
|
||||
/* When running in IRAM, this loop takes 7 cycles plus the LCD write.
|
||||
The 7 cycles are necessary to follow the LCD timing specs
|
||||
/* When running in IRAM, this loop takes 10 cycles plus the LCD write.
|
||||
The 10 cycles are necessary to follow the LCD timing specs
|
||||
at 140MHz */
|
||||
nop /* 3(0/0) */
|
||||
move.b (%a0)+,%d1 /* 3(1/0) */
|
||||
move.w %d1,(%a1) /* 1(0/1) */
|
||||
subq.l #1,%d0 /* 1(0/0) */
|
||||
nop /* 1(0/0) */
|
||||
bne .loop /* 2(0/0) */
|
||||
rts
|
||||
.wd_end:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue