Exemplo n.º 1
0
void disp_ext_util_set_kcjprop( struct fb_kcjprop_data* kcjprop_data )
{
    DISP_LOCAL_LOG_EMERG("DISP disp_ext_util_set_kcjprop S\n");
    disp_ext_util_disp_local_lock();
    if( kcjprop_data->rw_display_gamma_normal_valid == 0) {
        disp_gamma_exttbl_set(kcjprop_data);
        DISP_LOCAL_LOG_EMERG("%s:gamma ext set\n", __func__);
    }
#ifdef DISP_EXT_UTIL_PROPERTY_CABC
    if( kcjprop_data->rw_display_cabc_valid == 0) {
        if(kcjprop_data->rw_display_cabc > 3) {
            disp_ext_blc_set_select_mode(0);
        }
        else {
            disp_ext_blc_set_select_mode(kcjprop_data->rw_display_cabc);
        }
        DISP_LOCAL_LOG_EMERG("%s:select_mode=%d\n", __func__,disp_ext_blc_get_select_mode());
    }
#endif /* DISP_EXT_UTIL_PROPERTY_CABC */

#ifdef CONFIG_DISP_EXT_REFRESH
    if( kcjprop_data->rw_display_reflesh_valid == 0) {
        if(kcjprop_data->rw_display_reflesh != 0) {
            disp_ext_reflesh_set_enable(0);
            disp_ext_reflesh_set_start(0);
            DISP_LOCAL_LOG_EMERG("%s:display_reflesh_enable=%d\n", __func__,disp_ext_reflesh_get_enable());
        }
        else {
            disp_ext_reflesh_start();
        }
    }
#endif /* CONFIG_DISP_EXT_REFRESH */
    disp_ext_util_disp_local_unlock();
    DISP_LOCAL_LOG_EMERG("DISP disp_ext_util_set_kcjprop E\n");
}
void disp_ext_util_set_kcjprop(struct mdss_panel_data *pdata, struct fb_kcjprop_data* kcjprop_data)
{
	struct mdss_dsi_ctrl_pdata *ctrl = NULL;

	DISP_LOCAL_LOG_EMERG("DISP disp_ext_util_set_kcjprop S\n");
	disp_ext_util_disp_local_lock();

	ctrl = container_of(pdata, struct mdss_dsi_ctrl_pdata, panel_data);

	if (kcjprop_data->rw_display_cabc_valid == 0) {
		update_dsi_cmd(&ctrl->on2_cmds, 0x55, &kcjprop_data->rw_display_cabc, 1);
		DISP_LOCAL_LOG_EMERG("%s:cabc ext set\n", __func__);
	}

	if (kcjprop_data->rw_display_gamma_valid == 0) {
		update_dsi_cmd(&ctrl->on2_cmds, 0xc7,
			kcjprop_data->rw_display_gamma_r, MSMFB_GAMMA_KCJPROP_DATA_NUM);
		update_dsi_cmd(&ctrl->on2_cmds, 0xc8,
			kcjprop_data->rw_display_gamma_g, MSMFB_GAMMA_KCJPROP_DATA_NUM);
		update_dsi_cmd(&ctrl->on2_cmds, 0xc9,
			kcjprop_data->rw_display_gamma_b, MSMFB_GAMMA_KCJPROP_DATA_NUM);
		DISP_LOCAL_LOG_EMERG("%s:gamma ext set\n", __func__);
	}

#ifdef CONFIG_DISP_EXT_REFRESH
    if( kcjprop_data->rw_display_reflesh_valid == 0) {
        if(kcjprop_data->rw_display_reflesh != 0) {
            disp_ext_reflesh_set_enable(0);
            disp_ext_reflesh_set_start(0);
            DISP_LOCAL_LOG_EMERG("%s:display_reflesh_enable=%d\n", __func__,disp_ext_reflesh_get_enable());
        }
        else {
            disp_ext_reflesh_start();
        }
    }
#endif

	disp_ext_util_disp_local_unlock();
	DISP_LOCAL_LOG_EMERG("DISP disp_ext_util_set_kcjprop E\n");
}