//WORK QUEING FUNCTION static void ams397g201_esd(void) { printk("ams397g201_esd \n"); u32 err,intsrc; err = readl(ddi_pd->dsim_base + S5P_DSIM_INTSRC); printk("ESD_DSIM_INTSRC -> %x \n", intsrc); intsrc = readl(ddi_pd->dsim_base + S5P_DSIM_SWRST); intsrc = intsrc | 1 << 16; writel(intsrc, ddi_pd->dsim_base + S5P_DSIM_SWRST); tl2796_reset_lcd(); mdelay(10); lcd_panel_init(); update_gamma(current_gamma_value); lcd_pannel_on(); ams397g201_set_tear_on(); enable_irq( LCD_ESD_INT); }
//WORK QUEING FUNCTION static void ams397g201_esd(void) { printk("ams397g201_esd \n"); u32 err,intsrc; /* DSIM reset */ enable_clk_dsim(0); mdelay(100); lcd_on_off = 0; panel_initialized = 0; enable_clk_dsim(1); /*reset lcd*/ tl2796_reset_lcd(); mdelay(50); /* initialise Dsim */ s5p_dsim_Initialise(); lcd_panel_init(); update_gamma(current_gamma_value); lcd_pannel_on(); ams397g201_set_tear_on(); s3cfb_trigger(); lcd_on_off = 1; panel_initialized = 1; mdelay(200); enable_irq( LCD_ESD_INT); work_progress=0; }