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:
Jens Arnold 2007-10-15 21:16:50 +00:00
parent c08c081211
commit b85b6be3aa
7 changed files with 16 additions and 16 deletions

View file

@ -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: