void INT_DWDMA(void) { DWDMA_CLEAR_TFR |= 1; mutex_unlock(&lcd_updating); } void lcd_update() { mutex_lock(&lcd_updating); lcd_set_gram_area(0, 0, LCD_WIDTH, LCD_HEIGHT); lcdctrl_bypass(0); commit_discard_dcache_range(FBADDR(0,0), 2*LCD_WIDTH*LCD_HEIGHT); while (!(LCDC_STA & LCDC_MCU_IDLE)); dwdma_start(0, scr_llp, 6); udelay(10); MCU_CTRL=(1<<1)|(1<<2)|(1<<5);x }