static void sending_tune_cmd(char *src, int len) { struct msm_fb_data_type *mfd = NULL; int data_pos; int cmd_step; int cmd_pos; cmd_step = 0; cmd_pos = 0; for (data_pos = 0; data_pos < len;) { if (*(src + data_pos) == '0') { if (*(src + data_pos + 1) == 'x') { if (!cmd_step) { mdni_tuning1[cmd_pos] = char_to_dec(*(src + data_pos + 2), *(src + data_pos + 3)); } else { mdni_tuning2[cmd_pos] = char_to_dec(*(src + data_pos + 2), *(src + data_pos + 3)); } data_pos += 3; cmd_pos++; if (cmd_pos == TUNE_FIRST_SIZE && !cmd_step) { cmd_pos = 0; cmd_step = 1; } } else data_pos++; } else { data_pos++; } } /* printk(KERN_INFO "\n"); for (data_pos = 0; data_pos < TUNE_FIRST_SIZE ; data_pos++) printk(KERN_INFO "0x%x ", mdni_tuning1[data_pos]); printk(KERN_INFO "\n"); for (data_pos = 0; data_pos < TUNE_SECOND_SIZE ; data_pos++) printk(KERN_INFO"0x%x ", mdni_tuning2[data_pos]); printk(KERN_INFO "\n"); */ mfd = platform_get_drvdata(msd.msm_pdev); if (unlikely(!mfd)) return; if (unlikely(mfd->key != MFD_KEY)) return; mutex_lock(&dsi_tx_mutex); mipi_dsi_mdp_busy_wait(); mipi_dsi_cmds_tx(&msd.samsung_tx_buf, mdni_tune_cmd, ARRAY_SIZE(mdni_tune_cmd)); mutex_unlock(&dsi_tx_mutex); }
static void sending_tune_cmd(char *src, int len) { int data_pos; int cmd_step; int cmd_pos; struct mdss_panel_data *pdata = msd.mpd; struct mdss_dsi_ctrl_pdata *ctrl_pdata = NULL; ctrl_pdata = container_of(pdata, struct mdss_dsi_ctrl_pdata, panel_data); cmd_step = 0; cmd_pos = 1; for (data_pos = 0; data_pos < len;) { if (*(src + data_pos) == '0') { if (*(src + data_pos + 1) == 'x') { mdni_tuning1[cmd_pos] = char_to_dec(*(src + data_pos + 2), *(src + data_pos + 3)); data_pos += 3; cmd_pos++; } else data_pos++; } else { data_pos++; } } printk(KERN_INFO "\n"); for (data_pos = 0; data_pos < TUNE_FIRST_SIZE ; data_pos++) printk(KERN_INFO "0x%x ", mdni_tuning1[data_pos]); printk(KERN_INFO "\n"); mdss_dsi_cmds_send(ctrl_pdata, mdni_tune_cmd, ARRAY_SIZE(mdni_tune_cmd),0); }
static void sending_tune_cmd(char *src, int len) { int data_pos; int cmd_step = 0; int cmd_pos = 0; if (!get_panel_power_state()) { pr_info("%s : Panel is off state", __func__); return; } pr_info(" %s : len = %d\n", __func__, len); for (data_pos = 0; data_pos < len;) { if (*(src + data_pos) == '0') { if (*(src + data_pos + 1) == 'x') { if (!cmd_step) { cabc_tuning[cmd_pos] = char_to_dec(*(src + data_pos + 2), *(src + data_pos + 3)); } data_pos += 3; cmd_pos++; } else data_pos++; } else { data_pos++; } } pr_info(" =================== START ==================\n"); for (data_pos = 0; data_pos <cmd_pos; data_pos++) printk(KERN_INFO "0x%x ", cabc_tuning[data_pos]); pr_info(" =================== END ==================\n"); }
static void sending_tune_cmd(char *src, int len) { struct msm_fb_data_type *mfd; struct dcs_cmd_req cmdreq; int data_pos; int cmd_pos; cmd_pos = 0; for (data_pos = 0; data_pos < len;) { if (*(src + data_pos) == '0') { if (*(src + data_pos + 1) == 'x') { mdni_tuning[cmd_pos] = char_to_dec(*(src + data_pos + 2), *(src + data_pos + 3)); data_pos += 3; cmd_pos++; } else data_pos++; } else { data_pos++; } } printk(KERN_INFO "\n"); for (data_pos = 0; data_pos < TUNE_SIZE ; data_pos++) printk(KERN_INFO"0x%x ", mdni_tuning[data_pos]); printk(KERN_INFO "\n"); mfd = platform_get_drvdata(msd.msm_pdev); mutex_lock(&dsi_tx_mutex); cmdreq.cmds = mdni_tune_cmd; cmdreq.cmds_cnt = ARRAY_SIZE(mdni_tune_cmd); cmdreq.flags = CMD_REQ_COMMIT; cmdreq.rlen = 0; cmdreq.cb = NULL; mipi_dsi_cmdlist_put(&cmdreq); mutex_unlock(&dsi_tx_mutex); }