static int mipi_samsung_disp_on(struct platform_device *pdev)
{
	struct msm_fb_data_type *mfd;
	struct mipi_panel_info *mipi;
	static int first_boot_on;

	mfd = platform_get_drvdata(pdev);
	if (unlikely(!mfd))
		return -ENODEV;
	if (unlikely(mfd->key != MFD_KEY))
		return -EINVAL;

	mipi = &mfd->panel_info.mipi;

	if (!first_boot_on) {
		execute_panel_init(mfd);
		first_boot_on = 1;
	}

	if (get_auto_brightness() >= 6)
		msd.mpd->first_bl_hbm_psre = 1;

	sec_debug_mdp_reset_value();

	pr_info("[%s]\n", __func__);

	return 0;
}
示例#2
0
static int mipi_samsung_disp_on(struct platform_device *pdev)
{
	struct msm_fb_data_type *mfd = NULL;
	struct mipi_panel_info *mipi = NULL;
	static int first_boot_on = 0;

	printk(KERN_INFO "[lcd] mipi_samsung_disp_on start\n");

	mfd = platform_get_drvdata(pdev);
	if (unlikely(!mfd))
		return -ENODEV;
	if (unlikely(mfd->key != MFD_KEY))
		return -EINVAL;

	mipi = &mfd->panel_info.mipi;

	if (system_rev == 0) {
		if (!first_boot_on) {
			execute_panel_init(mfd);
			first_boot_on = 1;
		}

		if ((msd.mpd->manufacture_id & 0xFF) == 0x84 || \
			(msd.mpd->manufacture_id & 0xFF) == 0x4)
			mipi_samsung_disp_send_cmd(mfd,
						PANEL_NEED_FLIP, false);
	}

	printk(KERN_INFO "[lcd] mipi_samsung_disp_on end\n" );

	return 0;
}
static int mipi_samsung_disp_on(struct platform_device *pdev)
{
	struct msm_fb_data_type *mfd;
	struct mipi_panel_info *mipi;
	static int first_boot_on;
	u32 tmp;

	mfd = platform_get_drvdata(pdev);
	if (unlikely(!mfd))
		return -ENODEV;
	if (unlikely(mfd->key != MFD_KEY))
		return -EINVAL;

	mipi = &mfd->panel_info.mipi;

	if (!first_boot_on) {
		execute_panel_init(mfd);
		first_boot_on = 1;
	}

	if (get_ldi_chip() == LDI_MAGNA) {
		mipi_set_tx_power_mode(LP_TX_MODE);
		mipi_samsung_disp_send_cmd(mfd, PANEL_READY_TO_ON, false);
		mipi_set_tx_power_mode(HS_TX_MODE);

		/* force dsi_clk alway on 
		*    Magan nees clk lane LP mode before sending 0xF0 & 0xFC & 0xD2 cmds
		*/
		tmp = MIPI_INP(MIPI_DSI_BASE + 0xA8);
		tmp |= (1<<28);
		MIPI_OUTP(MIPI_DSI_BASE + 0xA8, tmp);
		wmb();
	}

	if (get_auto_brightness() >= 6)
		msd.mpd->first_bl_hbm_psre = 1;

	sec_debug_mdp_reset_value();

	pr_info("[%s]\n", __func__);

	return 0;
}
示例#4
0
static int mipi_samsung_disp_on(struct platform_device *pdev)
{
	struct msm_fb_data_type *mfd;
	struct mipi_panel_info *mipi;

	mfd = platform_get_drvdata(pdev);
	if (unlikely(!mfd))
		return -ENODEV;

	if (unlikely(mfd->key != MFD_KEY))
		return -EINVAL;

	mipi = &mfd->panel_info.mipi;

	msd.mpd->lcd_no = get_disp_switch();
	if (!msd.dstat.is_smart_dim_loaded[msd.mpd->lcd_no]) {
		execute_panel_init(mfd);
		mfd->bl_level = DEFAULT_BL;
		msd.dstat.is_smart_dim_loaded[msd.mpd->lcd_no] = true;
	}

	if (get_auto_brightness() >= HBM_MODE_ID)
		msd.mpd->first_bl_hbm_psre = 1;

	mipi_samsung_disp_send_cmd(mfd, PANEL_ON, false);

	mfd->resume_state = MIPI_RESUME_STATE;

#if defined(CONFIG_MDNIE_LITE_TUNING)
	is_negative_on();
#endif

	msd.mpd->rst_brightness = true;
	mipi_samsung_disp_backlight(mfd);

	pr_info("%s - [%d], id=0x%x\n", __func__, msd.mpd->lcd_no, msd.mpd->manufacture_id);

	return 0;
}
static int mipi_samsung_disp_on(struct platform_device *pdev)
{
	struct msm_fb_data_type *mfd = NULL;
	struct mipi_panel_info *mipi = NULL;
	static int first_boot_on = 0;

	printk(KERN_INFO "[lcd] mipi_samsung_disp_on start\n");

	mfd = platform_get_drvdata(pdev);
	if (unlikely(!mfd))
		return -ENODEV;
	if (unlikely(mfd->key != MFD_KEY))
		return -EINVAL;

	mipi = &mfd->panel_info.mipi;

	if (system_rev == 0) {
		if (!first_boot_on) {
			execute_panel_init(mfd);
			first_boot_on = 1;
		}

		if ((msd.mpd->manufacture_id & 0xFF) == 0x84 || \
			(msd.mpd->manufacture_id & 0xFF) == 0x4)
			mipi_samsung_disp_send_cmd(mfd,
						PANEL_NEED_FLIP, false);
	}
#if !defined(CONFIG_MACH_JACTIVE_ATT) && !defined(CONFIG_MACH_JACTIVE_EUR)
	mipi_samsung_disp_send_cmd(mfd, PANEL_ON, false);
	mfd->resume_state = MIPI_RESUME_STATE;

#if	defined(CONFIG_MDNIE_LITE_TUNING)
	if (!first_boot_on)
	{
		mfd->resume_state = MIPI_RESUME_STATE;
		first_boot_on = 1;
	}
#endif

#if defined(RUMTIME_MIPI_CLK_CHANGE)
	current_fps = mfd->panel_info.mipi.frame_rate;
#endif

#if defined(AUTO_BRIGHTNESS_CABC_FUNCTION)
	is_disp_on = 1;

	if( (is_cabc_delayed == 1) || (msd.mpd->siop_status == true) )
	{
		mipi_samsung_disp_send_cmd(mfd, PANEL_CABC_ENABLE, false);
		is_cabc_delayed = 0;
		printk ( KERN_ERR "%s-PANEL_CABC_ENABLE(delayed)\n", __func__ );
	}
#endif

	printk(KERN_INFO "[lcd] mipi_samsung_disp_on end %d\n", gpio_get_value(err_fg_gpio));

#if defined(CONFIG_ESD_ERR_FG_RECOVERY)
	enable_irq(PM8921_GPIO_IRQ(PM8921_IRQ_BASE, PMIC_GPIO_ERR_FG));
#endif
#endif
	return 0;
}