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
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 @@
 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 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);
 }