示例#1
0
static int
disp_suspend(struct platform_device *pdev, pm_message_t state)
{
#ifndef CONFIG_HAS_EARLYSUSPEND
	int i = 0;

	__inf("disp_suspend call\n");

	for (i = 0; i < 2; i++) {
		suspend_output_type[i] = BSP_disp_get_output_type(i);
		if (suspend_output_type[i] == DISP_OUTPUT_TYPE_LCD)
			DRV_lcd_close(i);
		else if (suspend_output_type[i] == DISP_OUTPUT_TYPE_TV)
			BSP_disp_tv_close(i);
		else if (suspend_output_type[i] == DISP_OUTPUT_TYPE_VGA)
			BSP_disp_vga_close(i);
		else if (suspend_output_type[i] == DISP_OUTPUT_TYPE_HDMI)
			BSP_disp_hdmi_close(i);
	}
	BSP_disp_clk_off(3);
#else
	BSP_disp_clk_off(1);
#endif

	suspend_status |= 2;

	return 0;
}
示例#2
0
int disp_suspend(struct platform_device *pdev, pm_message_t state)
{
    int i = 0;
    
    __msg("disp_suspend call\n");

    for(i=0; i<2; i++)
    {
        output_type[i] = BSP_disp_get_output_type(i);
        if(output_type[i] == DISP_OUTPUT_TYPE_LCD)
        {
            DRV_lcd_close(i);
        }
        else if(output_type[i] == DISP_OUTPUT_TYPE_TV)
        {
            BSP_disp_tv_close(i);
        }
        else if(output_type[i] == DISP_OUTPUT_TYPE_VGA)
        {
            BSP_disp_vga_close(i);
        }
        else if(output_type[i] == DISP_OUTPUT_TYPE_HDMI)
        {
            BSP_disp_hdmi_close(i);
        }
    }

    BSP_disp_clk_off();
    
    return 0;
}
示例#3
0
void backlight_early_suspend(struct early_suspend *h)
{
    int i = 0;

    printk("display early suspend: %s\n", __func__);

    for(i=0; i<2; i++)
    {
        output_type[i] = BSP_disp_get_output_type(i);
        if(output_type[i] == DISP_OUTPUT_TYPE_LCD)
        {
            DRV_lcd_close(i);
        }
        else if(output_type[i] == DISP_OUTPUT_TYPE_TV)
        {
            BSP_disp_tv_close(i);
        }
        else if(output_type[i] == DISP_OUTPUT_TYPE_VGA)
        {
            BSP_disp_vga_close(i);
        }
        else if(output_type[i] == DISP_OUTPUT_TYPE_HDMI)
        {
            BSP_disp_hdmi_close(i);
        }
    }

    BSP_disp_clk_off(2);

    suspend_status |= 1;
}
示例#4
0
int disp_suspend(struct platform_device *pdev, pm_message_t state)
{
#ifndef CONFIG_HAS_EARLYSUSPEND
    int i = 0;

    for(i=0; i<2; i++)
    {
        suspend_output_type[i] = BSP_disp_get_output_type(i);
        if(suspend_output_type[i] == DISP_OUTPUT_TYPE_LCD)
        {
            DRV_lcd_close(i);
        }
        else if(suspend_output_type[i] == DISP_OUTPUT_TYPE_TV)
        {
            BSP_disp_tv_close(i);
        }
        else if(suspend_output_type[i] == DISP_OUTPUT_TYPE_VGA)
        {
            BSP_disp_vga_close(i);
        }
        else if(suspend_output_type[i] == DISP_OUTPUT_TYPE_HDMI)
        {
            BSP_disp_hdmi_close(i);
        }
    }
    BSP_disp_clk_off(3);
#else
    if(2 == suspend_prestep)//suspend after resume,not  after early suspend
    {
        int i;
        for(i=0; i<2; i++)
        {
            if(suspend_output_type[i] == DISP_OUTPUT_TYPE_LCD)
            {
                disp_lcd_close_late(i);
            }
        }
    }

    BSP_disp_clk_off(1);
#endif

    suspend_status |= 2;
    suspend_prestep = 1;

    return 0;
}
__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;
}