static inline void mipi_dsi_set_backlight(struct msm_fb_data_type *mfd) { struct mipi_panel_info *mipi; mipi = &mfd->panel_info.mipi; if (panel_type == PANEL_ID_VILLE_SAMSUNG_SG_C2) ville_shrink_pwm_c2(mfd->bl_level); else if (panel_type == PANEL_ID_VILLE_SAMSUNG_SG) ville_shrink_pwm(mfd->bl_level); mutex_lock(&mfd->dma->ov_mutex); /* Remove the check first for impact MFG test. Command by adb to set backlight not work */ #if 0 if (mdp4_overlay_dsi_state_get() <= ST_DSI_SUSPEND) { mutex_unlock(&mfd->dma->ov_mutex); return; } #endif if (mfd->panel_info.type == MIPI_CMD_PANEL) { mdp4_dsi_cmd_dma_busy_wait(mfd); mdp4_dsi_blt_dmap_busy_wait(mfd); mipi_dsi_mdp_busy_wait(mfd); } if (panel_type == PANEL_ID_VILLE_SAMSUNG_SG || panel_type == PANEL_ID_VILLE_SAMSUNG_SG_C2) mipi_dsi_cmds_tx(mfd, &ville_panel_tx_buf, samsung_cmd_backlight_cmds, ARRAY_SIZE(samsung_cmd_backlight_cmds)); PR_DISP_DEBUG("%s+ bl_level=%d\n", __func__, mfd->bl_level); mutex_unlock(&mfd->dma->ov_mutex); return; }
static inline void ville_mipi_dsi_set_backlight(struct msm_fb_data_type *mfd) { struct mipi_panel_info *mipi; mipi = &mfd->panel_info.mipi; if (panel_type == PANEL_ID_VILLE_SAMSUNG_SG_C2) ville_shrink_pwm_c2(mfd->bl_level); else if (panel_type == PANEL_ID_VILLE_SAMSUNG_SG) ville_shrink_pwm(mfd->bl_level); #if 0 if (mdp4_overlay_dsi_state_get() <= ST_DSI_SUSPEND) { mutex_unlock(&mfd->dma->ov_mutex); return; } #endif if (panel_type == PANEL_ID_VILLE_SAMSUNG_SG || panel_type == PANEL_ID_VILLE_SAMSUNG_SG_C2) { cmdreq.cmds = samsung_cmd_backlight_cmds; cmdreq.cmds_cnt = ARRAY_SIZE(samsung_cmd_backlight_cmds); cmdreq.flags = CMD_REQ_COMMIT; cmdreq.rlen = 0; cmdreq.cb = NULL; mipi_dsi_cmdlist_put(&cmdreq); } PR_DISP_DEBUG("%s+ bl_level=%d\n", __func__, mfd->bl_level); return; }
static inline void ville_mipi_dsi_set_backlight(struct msm_fb_data_type *mfd) { struct mipi_panel_info *mipi; mipi = &mfd->panel_info.mipi; if (panel_type == PANEL_ID_VILLE_SAMSUNG_SG_C2) ville_shrink_pwm_c2(mfd->bl_level); else if (panel_type == PANEL_ID_VILLE_SAMSUNG_SG) ville_shrink_pwm(mfd->bl_level); if (panel_type == PANEL_ID_VILLE_SAMSUNG_SG || panel_type == PANEL_ID_VILLE_SAMSUNG_SG_C2) { cmdreq.cmds = samsung_cmd_backlight_cmds; cmdreq.cmds_cnt = ARRAY_SIZE(samsung_cmd_backlight_cmds); cmdreq.flags = CMD_REQ_COMMIT| CMD_CLK_CTRL; if (mfd && mfd->panel_info.type == MIPI_CMD_PANEL) cmdreq.flags |= CMD_CLK_CTRL; cmdreq.rlen = 0; cmdreq.cb = NULL; mipi_dsi_cmdlist_put(&cmdreq); } PR_DISP_DEBUG("%s+ bl_level=%d\n", __func__, mfd->bl_level); return; }
inline void mipi_dsi_set_backlight(struct msm_fb_data_type *mfd, int level) { struct mipi_panel_info *mipi; mipi = &mfd->panel_info.mipi; printk(KERN_ERR "[DISP] %s level=%d\n", __func__, level); if (panel_type == PANEL_ID_VILLE_SAMSUNG_SG_C2) ville_shrink_pwm_c2(mfd->bl_level); else if (panel_type == PANEL_ID_VILLE_SAMSUNG_SG) ville_shrink_pwm(mfd->bl_level); if (panel_type == PANEL_ID_VILLE_SAMSUNG_SG || panel_type == PANEL_ID_VILLE_SAMSUNG_SG_C2) ville_send_display_cmds(ville_cmd_backlight_cmds, ARRAY_SIZE(ville_cmd_backlight_cmds)); printk(KERN_DEBUG "%s+ bl_level=%d\n", __func__, mfd->bl_level); return; }
static inline void villec2_mipi_dsi_set_backlight(struct msm_fb_data_type *mfd) { struct mipi_panel_info *mipi; mipi = &mfd->panel_info.mipi; if (panel_type == PANEL_ID_VILLE_SAMSUNG_SG_C2) ville_shrink_pwm_c2(mfd->bl_level); if (panel_type == PANEL_ID_VILLE_SAMSUNG_SG_C2) { cmdreq.cmds = samsung_cmd_backlight_cmds; cmdreq.cmds_cnt = ARRAY_SIZE(samsung_cmd_backlight_cmds); cmdreq.flags = CMD_REQ_COMMIT; cmdreq.rlen = 0; cmdreq.cb = NULL; mipi_dsi_cmdlist_put(&cmdreq); } return; }