Exemple #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");
}
Exemple #2
0
void disp_ext_reflesh_start(void)
{
#ifdef CONFIG_DISP_EXT_BOARD
    DISP_LOCAL_LOG_EMERG("DISP disp_ext_reflesh_start1\n");
    queue_work(disp_ext_reflesh_wq, &disp_ext_reflesh_work);
#else /* CONFIG_DISP_EXT_BOARD */
    DISP_LOCAL_LOG_EMERG("DISP disp_ext_reflesh_start2\n");
    disp_ext_reflesh_set_enable(1);
    disp_ext_reflesh_set_start(1);
    mdp_hw_vsync_irq_reg();
    disp_ext_refresh_te_monitor_timer_release();
    disp_ext_reflesh_before_te_run_count_init();
    disp_ext_refresh_te_monitor_timer_set();
#endif /* CONFIG_DISP_EXT_BOARD */
}
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");
}
Exemple #4
0
static void disp_ext_reflesh_start_regist(struct work_struct *work)
{
    int panel_detect;
    int i;

    DISP_LOCAL_LOG_EMERG("DISP disp_ext_reflesh_start_regist\n");

    for( i=0; i<DISP_EXT_REFRESH_REGIST_TIME; i++ ) {
        msleep(50);
        disp_ext_util_disp_local_lock();
        panel_detect = disp_ext_board_get_panel_detect();
        switch( panel_detect ) {
        case 0:
            DISP_LOCAL_LOG_EMERG("DISP disp_ext_reflesh_start_regist check next\n");
            break;
        case 1:
#ifdef CONFIG_FB_MSM_MIPI_DSI_RENESAS_CM
		case 2:
#endif
            DISP_LOCAL_LOG_EMERG("DISP disp_ext_reflesh_start_regist resist\n");
            disp_ext_reflesh_set_enable(1);
            disp_ext_reflesh_set_start(1);
            mdp_hw_vsync_irq_reg();
            disp_ext_refresh_te_monitor_timer_release();
            disp_ext_reflesh_before_te_run_count_init();
            disp_ext_refresh_te_monitor_timer_set();
            disp_ext_util_disp_local_unlock();
            return;
        default:    /* -1,etc... */
            DISP_LOCAL_LOG_EMERG("DISP disp_ext_reflesh_start_regist panel not found\n");
            disp_ext_util_disp_local_unlock();
            return;
        }
        disp_ext_util_disp_local_unlock();
    }
}