void otm1280a_early_suspend(void) { // struct s3cfb_global *fbdev = // container_of(h, struct s3cfb_global, early_suspend); #ifdef ESD_FOR_LCD if (lcd_id == LCD_BOE) ; //cancel_delayed_work_sync(&lcd_delayed_work); else { disable_irq(TE_IRQ); del_timer(&te_timer); //cancel_delayed_work_sync(&lcd_init_work); } #endif otm1280a_display_off(NULL); #ifdef LCD_CABC_MODE if (lcd_id == LCD_LG) otm1280a_cabc_control(CABC_OFF); #endif printk("%s\n", __func__); if (lcd_id == LCD_BOE){ otm1280a_write_0(0x10); mdelay(200); otm1280a_write_0(0x28); mdelay(20); } s5p_dsim_frame_done_interrupt_enable(0); }
static void hs_clk_re_try_work(struct work_struct *work) { int read_oled_det; read_oled_det = gpio_get_value(GPIO_OLED_DET); printk(KERN_INFO "%s, %d, %d\n", __func__, count_dsim, read_oled_det); if (read_oled_det == 0) { if (count_dsim < 10) { schedule_delayed_work(&hs_clk_re_try, HZ/8); count_dsim++; set_dsim_hs_clk_toggle_count(15); } else s5p_dsim_frame_done_interrupt_enable(0); } else s5p_dsim_frame_done_interrupt_enable(0); }
void otm1280a_late_resume(void) { printk("%s\n", __func__); ddi_pd->cmd_write(ddi_pd->dsim_base, DCS_WR_1_PARA, 0x51, current_brightness); ddi_pd->cmd_write(ddi_pd->dsim_base, DCS_WR_1_PARA, 0x53, 0x24); printk("%s current_bl = %d\n", __func__, current_brightness); #ifdef LCD_CABC_MODE if (lcd_id == LCD_LG && cabc_mode) otm1280a_cabc_control(cabc_mode); #endif s5p_dsim_frame_done_interrupt_enable(1); #ifdef ESD_FOR_LCD if (lcd_id == LCD_BOE) schedule_delayed_work(&lcd_delayed_work, DELAY_TIME); else enable_irq(TE_IRQ); #endif }