void s3cfb_extdsp_late_resume(struct early_suspend *h)
{
	struct s3cfb_extdsp_global *info = container_of(h, struct s3cfb_extdsp_global, early_suspend);
	struct fb_info *fb;
	struct s3cfb_extdsp_window *win;
	struct s3cfb_extdsp_global *fbdev[2];
	int j;
/*
	printk("s3cfb_extdsp_late_resume is called\n");
*/
	dev_dbg(info->dev, "wake up from suspend\n");

	info->system_state = POWER_ON;

	fbdev[0] = fbextdsp->fbdev[0];

#if defined(CONFIG_FB_S5P_DUMMYLCD)
	max8698_ldo_enable_direct(MAX8698_LDO4);
#endif

	s3cfb_extdsp_init_global(fbdev[0]);

	for (j = 0; j < 1; j++) {
		fb = fbdev[0]->fb[j];
		win = fb->par;
		if (win->enabled) {
			s3cfb_extdsp_set_par(fb);
			s3cfb_extdsp_enable_window(fbdev[0], 0);
		}
	}

	info->system_state = POWER_ON;

	return;
}
Exemplo n.º 2
0
void s3cfb_late_resume(struct early_suspend *h)
{
	struct s3cfb_global *info = container_of(h,struct s3cfb_global,early_suspend);
	struct s3c_platform_fb *pdata = to_fb_plat(info->dev);
	struct fb_info *fb;
	struct s3cfb_window *win;
	int i, j;
	struct platform_device *pdev = to_platform_device(info->dev);

	printk("s3cfb_late_resume is called\n");

	//urbetter
	if (pdata->backlight_off)
		pdata->backlight_off(pdev);

#ifdef ENABLE_SMDKV210_REGULATOR //urbetter
	/* ldo6 regulator on */
	regulator_enable(lcd_regulator);
#endif
	dev_dbg(info->dev, "wake up from suspend\n");
	if (pdata->cfg_gpio)
		pdata->cfg_gpio(pdev);

#if defined(CONFIG_FB_S3C_DUMMYLCD)
	max8698_ldo_enable_direct(MAX8698_LDO4);
#endif


#if defined (CONFIG_FB_S3C_LTE480WV) || defined(CONFIG_FB_S3C_UT10GM) || defined(CONFIG_FB_S3C_UT7GM) || defined(CONFIG_FB_URBETTER_SERIAL) || defined(CONFIG_FB_S3C_UTAUO104)
	if (info->lcd->init_ldi)
		fbdev->lcd->init_ldi();
	else
		printk("no init_ldi\n");
#endif

	if (pdata->clk_on)
		pdata->clk_on(pdev, &fbdev->clock);
	s3cfb_init_global();
	s3cfb_set_clock(info);

	s3cfb_display_on(info);

	for (i = pdata->default_win; i < pdata->nr_wins + pdata->default_win; i++) {
		j = i % pdata->nr_wins;
		fb = info->fb[j];
		win = fb->par;
		if ((win->path == DATA_PATH_DMA) && (win->enabled)) {
			s3cfb_set_par(fb);
			s3cfb_enable_window(win->id);
		}
	}

#if 1
	// enable VSYNC
	s3cfb_set_vsync_interrupt(fbdev, 1);
	s3cfb_set_global_interrupt(fbdev, 1);
#endif

	/* Reset the LDI chip */
	if (pdata->lcd_on)
		pdata->lcd_on(pdev);

#if defined(CONFIG_FB_S3C_TL2796)
	tl2796_ldi_init();
	tl2796_ldi_enable();
#elif defined (CONFIG_FB_S3C_LTE480WV) || defined(CONFIG_FB_S3C_UT10GM) || defined(CONFIG_FB_S3C_UT7GM) || defined(CONFIG_FB_URBETTER_SERIAL) || defined(CONFIG_FB_S3C_UTAUO104)
	if (info->lcd->init_ldi)
		fbdev->lcd->init_ldi();
	else
		printk("no init_ldi\n");
#endif

	if (pdata->backlight_on)
		pdata->backlight_on(pdev);
	return ;
}