static int mipi_dsi_set_backlight(struct msm_fb_data_type *mfd) { struct mipi_panel_info *mipi; static int bl_level_old; mipi = &mfd->panel_info.mipi; pr_debug("%s+:bl=%d status=%d\n", __func__, mfd->bl_level, mipi_status); if (mipi_status == 0 || bl_level_old == mfd->bl_level) goto end; if (mipi_himax_pdata && mipi_himax_pdata->shrink_pwm) led_pwm1[1] = mipi_himax_pdata->shrink_pwm(mfd->bl_level); else led_pwm1[1] = (unsigned char)(mfd->bl_level); if (mipi->mode == DSI_VIDEO_MODE) { mipi_dsi_cmd_mode_ctrl(1); /* enable cmd mode */ mipi_dsi_cmds_tx(&himax_tx_buf, himax_cmd_backlight_cmds, ARRAY_SIZE(himax_cmd_backlight_cmds)); mipi_dsi_cmd_mode_ctrl(0); /* disable cmd mode */ } else { mipi_dsi_op_mode_config(DSI_CMD_MODE); mipi_dsi_cmds_tx(&himax_tx_buf, himax_cmd_backlight_cmds, ARRAY_SIZE(himax_cmd_backlight_cmds)); } bl_level_old = mfd->bl_level; end: return 0; }
static int mipi_dsi_set_backlight(struct msm_fb_data_type *mfd) { struct mipi_panel_info *mipi; mipi = &mfd->panel_info.mipi; if (mipi_status == 0) goto end; if (mipi_sony_pdata && mipi_sony_pdata->shrink_pwm) led_pwm1[1] = mipi_sony_pdata->shrink_pwm(mfd->bl_level); else led_pwm1[1] = (unsigned char)(mfd->bl_level); if (mfd->bl_level == 0 || board_mfg_mode() == 4 || (board_mfg_mode() == 5 && !(htc_battery_get_zcharge_mode() % 2))) { led_pwm1[1] = 0; } htc_mdp_sem_down(current, &mfd->dma->mutex); if (mipi->mode == DSI_VIDEO_MODE) { mipi_dsi_cmd_mode_ctrl(1); /* enable cmd mode */ mipi_dsi_cmds_tx(mfd, &sony_tx_buf, sony_cmd_backlight_cmds, ARRAY_SIZE(sony_cmd_backlight_cmds)); mipi_dsi_cmd_mode_ctrl(0); /* disable cmd mode */ } else { mipi_dsi_op_mode_config(DSI_CMD_MODE); mipi_dsi_cmds_tx(mfd, &sony_tx_buf, sony_cmd_backlight_cmds, ARRAY_SIZE(sony_cmd_backlight_cmds)); } htc_mdp_sem_up(&mfd->dma->mutex); if (led_pwm1[1] != 0) bl_level_prevset = mfd->bl_level; PR_DISP_DEBUG("mipi_dsi_set_backlight > set brightness to %d\n", led_pwm1[1]); end: return 0; }
static int mipi_dsi_set_backlight(struct msm_fb_data_type *mfd) { struct mipi_panel_info *mipi; static int bl_level_old = 0; mutex_lock(&cmdlock); mipi = &mfd->panel_info.mipi; pr_debug("%s+:bl=%d status=%d\n", __func__, mfd->bl_level, mipi_status); if (mipi_status == 0) goto end; if (mipi_orise_pdata && mipi_orise_pdata->shrink_pwm) led_pwm1[1] = mipi_orise_pdata->shrink_pwm(mfd->bl_level); else led_pwm1[1] = (unsigned char)(mfd->bl_level); if(mfd->bl_level == 0 || board_mfg_mode() == 4 || board_mfg_mode() == 5) { //mipi_dsi_op_mode_config(DSI_CMD_MODE); //mipi_dsi_cmds_tx(&orise_tx_buf, orise_bkl_disable_cmds, //ARRAY_SIZE(orise_bkl_disable_cmds)); led_pwm1[1] = 0; } if (mipi->mode == DSI_VIDEO_MODE) { mipi_dsi_cmd_mode_ctrl(1); /* enable cmd mode */ mipi_dsi_cmds_tx(&orise_tx_buf, orise_cmd_backlight_cmds, ARRAY_SIZE(orise_cmd_backlight_cmds)); mipi_dsi_cmd_mode_ctrl(0); /* disable cmd mode */ } else { mipi_dsi_op_mode_config(DSI_CMD_MODE); mipi_dsi_cmds_tx(&orise_tx_buf, orise_cmd_backlight_cmds, ARRAY_SIZE(orise_cmd_backlight_cmds)); } bl_level_prevset = bl_level_old = mfd->bl_level; end: mutex_unlock(&cmdlock); return 0; }