Esempio n. 1
0
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;
}
Esempio n. 2
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;
}
Esempio n. 3
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__);
}
Esempio n. 4
0
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;
}
Esempio n. 5
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;
}