From 9d67765cae62e873c3d004bf9bcb68947f1568f6 Mon Sep 17 00:00:00 2001 From: Linus Nielsen Feltzing Date: Thu, 22 Dec 2005 09:33:39 +0000 Subject: Reverted the H300 LCD DMA patch, since it iterfered with the recording DMA git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8279 a1c6a512-1295-4272-9138-f99709370657 --- firmware/drivers/lcd-h300.c | 21 +++++---------------- 1 file changed, 5 insertions(+), 16 deletions(-) (limited to 'firmware') diff --git a/firmware/drivers/lcd-h300.c b/firmware/drivers/lcd-h300.c index 149062be96..bb2f9ec777 100644 --- a/firmware/drivers/lcd-h300.c +++ b/firmware/drivers/lcd-h300.c @@ -89,20 +89,12 @@ inline void lcd_begin_write_gram(void) *(volatile unsigned short *)0xf0000000 = R_WRITE_DATA_2_GRAM; } -void lcd_write_data(const unsigned short* p_bytes, int count) ICODE_ATTR; -void lcd_write_data(const unsigned short* p_bytes, int count) +/* called very frequently - inline! */ +inline void lcd_write_data(const unsigned short* p_bytes, int count) ICODE_ATTR; +inline void lcd_write_data(const unsigned short* p_bytes, int count) { - SAR1 = (unsigned long)p_bytes; /* Destination address */ - while(count) - { - int cnt = MIN(count, 256); - DAR1 = (unsigned long)0xf0000002; /* Destination address */ - BCR1 = cnt*2; /* Bytes to transfer */ - DCR1 = 0x02000000 | DMA_SINC | (2 << 20) | (2 << 17) | DMA_START; - while(!(DSR1 & 1)) {}; - DSR1 = 1; - count -= cnt; - } + while(count--) + *(volatile unsigned short *)0xf0000002 = *p_bytes++; } /*** hardware configuration ***/ @@ -139,9 +131,6 @@ void lcd_roll(int lines) /* LCD init */ void lcd_init_device(void) { - MPARK = 0x81; /* PARK[1,0]=10 + BCR24BIT */ - DSR1 = 1; - /* GPO46 is LCD RESET */ or_l(0x00004000, &GPIO1_OUT); or_l(0x00004000, &GPIO1_ENABLE); -- cgit v1.2.3