예제 #1
0
static void hx8357a_set_backlight(struct msm_fb_data_type *mfd)
{
    int bl_level = mfd->bl_level;
       
#ifdef CONFIG_HUAWEI_BACKLIGHT_USE_CABC
    if(LCD_MAX_BACKLIGHT_LEVEL < mfd->bl_level) {
        mfd->bl_level = 1;
    }

    /*BCTRL	=1	(Backlight Control Block, This bit is always used to switch brightness for display.)
       DD	=0	(Display Dimming)
       BL		=1	(Backlight Control)*/ 
    serigo(0x3D, 0x24);
    /*Set backlight level*/
    serigo(0x3C, lcd_backlight_level[mfd->bl_level]);

    /* Set still picture mode for content adaptive image functionality*/
    serigo(0x3E, 0x02);

    /* set the minimum brightness value of the display for CABC function*/
    serigo(0x3F, 0x00);
#else
   // lcd_set_backlight_pwm(bl_level);
    pwm_set_backlight(bl_level);
#endif
     return;
}
예제 #2
0
static void hx8347d_set_backlight(struct msm_fb_data_type *mfd)
{
    int bl_level = mfd->bl_level;
       
   // lcd_set_backlight_pwm(bl_level);
    pwm_set_backlight(bl_level);
     return;
}
static void lcdc_hx8357b_panel_set_backlight(struct msm_fb_data_type *mfd)
{
    int bl_level = mfd->bl_level;
        
    pwm_set_backlight(bl_level);
    
    return;
}
static void pwm_backlight_resume( struct early_suspend *h)
{
	atomic_set(&suspend_flag,0);
	
	if (backlight_set == TRUE)
	{
		if (get_hw_lcd_ctrl_bl_type() == CTRL_BL_BY_LCD)
		{
			/* MIPI use two semaphores */
			if(get_hw_lcd_interface_type() == LCD_IS_MIPI_CMD)
			{
				down(&mfd_local->dma->mutex);
				down(&mfd_local->sem);
				pwm_set_backlight(mfd_local);
				up(&mfd_local->sem);
				up(&mfd_local->dma->mutex);
			}
			/*add mipi video interface*/
			else if(get_hw_lcd_interface_type() == LCD_IS_MIPI_VIDEO)
			{
				down(&mfd_local->dma->mutex);
				pwm_set_backlight(mfd_local);
				up(&mfd_local->dma->mutex);
			}
			/* MDDI don't use semaphore */
			else if((get_hw_lcd_interface_type() == LCD_IS_MDDI_TYPE1)
				||(get_hw_lcd_interface_type() == LCD_IS_MDDI_TYPE2))
			{
				pwm_set_backlight(mfd_local);
			}
			else
			{
				down(&mfd_local->sem);
				pwm_set_backlight(mfd_local);
				up(&mfd_local->sem);
			}
		}
		else
		{
			down(&mfd_local->sem);
			pwm_set_backlight(mfd_local);
			up(&mfd_local->sem);
		}
	}
}
static void lcdc_s6d74a0_panel_set_backlight(struct msm_fb_data_type *mfd)
{
    int bl_level = mfd->bl_level;
        
   // lcd_set_backlight_pwm(bl_level);
    pwm_set_backlight(bl_level);
    
    return;
}
static void nt35410_hvga_set_backlight(struct msm_fb_data_type *mfd)
{
    int bl_level = mfd->bl_level;
       
#ifdef CONFIG_HUAWEI_BACKLIGHT_USE_CABC
    if(LCD_MAX_BACKLIGHT_LEVEL < mfd->bl_level) {
        mfd->bl_level = 1;
    }
    serigo(0x3D, 0x24);
    /*Set backlight level*/
    serigo(0x3C, lcd_backlight_level[mfd->bl_level]);

    /* Set still picture mode for content adaptive image functionality*/
    serigo(0x3E, 0x02);

    /* set the minimum brightness value of the display for CABC function*/
    serigo(0x3F, 0x00);
#else
   // lcd_set_backlight_pwm(bl_level);
    pwm_set_backlight(bl_level);
#endif
     return;
}