summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRob Purchase <shotofadds@rockbox.org>2008-12-01 20:55:33 +0000
committerRob Purchase <shotofadds@rockbox.org>2008-12-01 20:55:33 +0000
commit8da8159f74f4c9373b25197e6155c753a00e1f4b (patch)
treeab52573f5f543a23df57e93779f3149738fff616
parente5bf5beaee46e7012ef921bfe73f5a5db75f1dac (diff)
downloadrockbox-8da8159f74f4c9373b25197e6155c753a00e1f4b.zip
rockbox-8da8159f74f4c9373b25197e6155c753a00e1f4b.tar.gz
rockbox-8da8159f74f4c9373b25197e6155c753a00e1f4b.tar.bz2
rockbox-8da8159f74f4c9373b25197e6155c753a00e1f4b.tar.xz
D2: Disable IRQs when writing to the LCD 3-wire interface, and re-instate the previous delay value.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19292 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--firmware/target/arm/tcc780x/cowond2/lcd-cowond2.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/firmware/target/arm/tcc780x/cowond2/lcd-cowond2.c b/firmware/target/arm/tcc780x/cowond2/lcd-cowond2.c
index fcb2e7a..d6ee5f3 100644
--- a/firmware/target/arm/tcc780x/cowond2/lcd-cowond2.c
+++ b/firmware/target/arm/tcc780x/cowond2/lcd-cowond2.c
@@ -77,7 +77,7 @@ void lcd_set_contrast(int val)
static void delay_loop(void)
{
unsigned long x;
- for (x = (unsigned)(FREQ>>24); x; x--);
+ for (x = (unsigned)(FREQ>>23); x; x--);
}
#define DELAY delay_loop()
@@ -108,8 +108,12 @@ static void ltv250qv_write(unsigned int command)
static void lcd_write_reg(unsigned char reg, unsigned short val)
{
+ int level = disable_irq_save();
+
ltv250qv_write(0x740000 | reg);
ltv250qv_write(0x760000 | val);
+
+ restore_irq(level);
}