static int disp_resume(struct platform_device *pdev) { #ifndef CONFIG_HAS_EARLYSUSPEND int i = 0; __inf("disp_resume call\n"); BSP_disp_clk_on(3); for (i = 0; i < 2; i++) { if (suspend_output_type[i] == DISP_OUTPUT_TYPE_LCD) DRV_lcd_open(i); else if (suspend_output_type[i] == DISP_OUTPUT_TYPE_TV) BSP_disp_tv_open(i); else if (suspend_output_type[i] == DISP_OUTPUT_TYPE_VGA) BSP_disp_vga_open(i); else if (suspend_output_type[i] == DISP_OUTPUT_TYPE_HDMI) BSP_disp_hdmi_open(i); } #else BSP_disp_clk_on(1); #endif suspend_status &= (~2); return 0; }
int disp_resume(struct platform_device *pdev) { int i = 0; __msg("disp_resume call\n"); BSP_disp_clk_on(); for(i=0; i<2; i++) { if(output_type[i] == DISP_OUTPUT_TYPE_LCD) { DRV_lcd_open(i); } else if(output_type[i] == DISP_OUTPUT_TYPE_TV) { BSP_disp_tv_open(i); } else if(output_type[i] == DISP_OUTPUT_TYPE_VGA) { BSP_disp_vga_open(i); } else if(output_type[i] == DISP_OUTPUT_TYPE_HDMI) { BSP_disp_hdmi_open(i); } } return 0; }
void backlight_late_resume(struct early_suspend *h) { int i = 0; printk("display late resume enter: %s\n", __func__); BSP_disp_clk_on(2); for(i=0; i<2; i++) { if(output_type[i] == DISP_OUTPUT_TYPE_LCD) { DRV_lcd_open(i); } else if(output_type[i] == DISP_OUTPUT_TYPE_TV) { BSP_disp_tv_open(i); } else if(output_type[i] == DISP_OUTPUT_TYPE_VGA) { BSP_disp_vga_open(i); } else if(output_type[i] == DISP_OUTPUT_TYPE_HDMI) { BSP_disp_hdmi_open(i); } } suspend_status &= (~1); printk("display late resume done: %s\n", __func__); }
int disp_resume(struct platform_device *pdev) { int i = 0; #ifndef CONFIG_HAS_EARLYSUSPEND BSP_disp_clk_on(3); for(i=0; i<2; i++) { if(suspend_output_type[i] == DISP_OUTPUT_TYPE_LCD) { DRV_lcd_open(i); } else if(suspend_output_type[i] == DISP_OUTPUT_TYPE_TV) { BSP_disp_tv_open(i); } else if(suspend_output_type[i] == DISP_OUTPUT_TYPE_VGA) { BSP_disp_vga_open(i); } else if(suspend_output_type[i] == DISP_OUTPUT_TYPE_HDMI) { BSP_disp_hdmi_open(i); } } #else BSP_disp_clk_on(1); jiffies_resume = jiffies; for(i=0; i<2; i++) { if(suspend_output_type[i] == DISP_OUTPUT_TYPE_LCD) { disp_lcd_open_flow_init_status(i); disp_lcd_open_timer(i);//start lcd open flow } } #endif suspend_status &= (~2); suspend_prestep = 2; return 0; }
void backlight_late_resume(struct early_suspend *h) { int i = 0; printk("==display late resume enter\n"); BSP_disp_clk_on(2); for(i=0; i<2; i++) { if(suspend_output_type[i] == DISP_OUTPUT_TYPE_LCD) { __lcd_flow_t *flow; if(2 == suspend_prestep)//late resume from resume { flow =BSP_disp_lcd_get_open_flow(i); while(flow->cur_step != (flow->func_num-1))//open flow is finished accept the last one { __u32 timeout = 10*HZ/1000; set_current_state(TASK_INTERRUPTIBLE); schedule_timeout(timeout); } disp_lcd_open_late(i); } else if(0 == suspend_prestep)//late resume from early suspend { DRV_lcd_open(i); } jiffies_late_resume = jiffies; //printk("==jiffies_resume:%ld, late_resume:%ld\n", jiffies_resume, jiffies_late_resume); } else if(suspend_output_type[i] == DISP_OUTPUT_TYPE_TV) { BSP_disp_tv_open(i); } else if(suspend_output_type[i] == DISP_OUTPUT_TYPE_VGA) { BSP_disp_vga_open(i); } else if(suspend_output_type[i] == DISP_OUTPUT_TYPE_HDMI) { BSP_disp_hdmi_open(i); } } suspend_status &= (~1); suspend_prestep = 3; }
__s32 DRV_DE_Standby(__u32 cmd, void *pArg) { __s32 ret; __s32 timedly = 5000; __s32 check_time = timedly/DELAY_ONCE_TIME; if(cmd == EGON2_MOD_ENTER_STANDBY) { DRV_lcd_close(0); do { ret = DRV_lcd_check_close_finished(0); if(ret == 1) { break; } else if(ret == -1) { return -1; } wBoot_timer_delay(DELAY_ONCE_TIME); check_time --; if(check_time <= 0) { return -1; } } while(1); BSP_disp_clk_off(3); return 0; } else if(cmd == EGON2_MOD_EXIT_STANDBY) { BSP_disp_clk_on(3); DRV_lcd_open(0); do { ret = DRV_lcd_check_open_finished(0); if(ret == 1) { break; } else if(ret == -1) { return -1; } wBoot_timer_delay(DELAY_ONCE_TIME); check_time --; if(check_time <= 0) { return -1; } } while(1); return 0; } return -1; }