static ssize_t ce_tuning_store(struct device *dev, struct device_attribute *attr, const char *buf, size_t size) { char *pt; int a; if (!get_panel_power_state()) { pr_info("%s : Panel is off state", __func__); return size; } if (sysfs_streq(buf, "1")) { pr_info(" %s : ce enable\n", __func__); mdss_dsi_panel_cmds_send(cabc_slave_dsi_ctrl, &cabc_slave_dsi_ctrl->ce_on_cmds); mdss_dsi_panel_cmds_send(cabc_master_dsi_ctrl, &cabc_master_dsi_ctrl->ce_on_cmds); return size; } else if (sysfs_streq(buf, "0")) { pr_info(" %s : ce disable\n", __func__); mdss_dsi_panel_cmds_send(cabc_slave_dsi_ctrl, &cabc_slave_dsi_ctrl->ce_off_cmds); mdss_dsi_panel_cmds_send(cabc_master_dsi_ctrl, &cabc_master_dsi_ctrl->ce_off_cmds); return size; } /* echo "tuning file" */ memset(tuning_file, 0, sizeof(tuning_file)); snprintf(tuning_file, MAX_FILE_NAME, "%s%s", TUNING_FILE_PATH, buf); pt = tuning_file; while (*pt) { if (*pt == '\r' || *pt == '\n') { *pt = 0; break; } pt++; } pr_info("%s:%s\n", __func__, tuning_file); load_tuning_file(tuning_file); for (a = 0; a < 33; a++) { printk(KERN_INFO "0x%x = 0x%x ", cabc_master_dsi_ctrl->ce_on_cmds.cmds[0].payload[a], cabc_tuning[a]); cabc_master_dsi_ctrl->ce_on_cmds.cmds[0].payload[a] = cabc_tuning[a]; } mdss_dsi_panel_cmds_send(cabc_slave_dsi_ctrl, &cabc_slave_dsi_ctrl->ce_on_cmds); mdss_dsi_panel_cmds_send(cabc_master_dsi_ctrl, &cabc_master_dsi_ctrl->ce_on_cmds); return size; }
static ssize_t tuning_store(struct device *dev, struct device_attribute *attr, const char *buf, size_t size) { char *pt; memset(tuning_file, 0, sizeof(tuning_file)); snprintf(tuning_file, MAX_FILE_NAME, "%s%s", TUNING_FILE_PATH, buf); pt = tuning_file; while (*pt) { if (*pt == '\r' || *pt == '\n') { *pt = 0; break; } pt++; } pr_info("%s:%s\n", __func__, tuning_file); load_tuning_file(tuning_file); return size; }
static ssize_t cabc_tuning_store(struct device *dev, struct device_attribute *attr, const char *buf, size_t size) { char *pt; int a, b; if (!get_panel_power_state()) { pr_info("%s : Panel is off state", __func__); return size; } if (sysfs_streq(buf, "1")) { cabc_master_dsi_ctrl->cabc_on_cmds.cmds[0].payload[1] = 0x01; mdss_dsi_panel_cmds_send(cabc_slave_dsi_ctrl, &cabc_slave_dsi_ctrl->cabc_on_cmds); mdss_dsi_panel_cmds_send(cabc_master_dsi_ctrl, &cabc_master_dsi_ctrl->cabc_on_cmds); return size; } else if (sysfs_streq(buf, "80")) { cabc_master_dsi_ctrl->cabc_on_cmds.cmds[0].payload[1] = 0x50; mdss_dsi_panel_cmds_send(cabc_slave_dsi_ctrl, &cabc_slave_dsi_ctrl->cabc_on_cmds); mdss_dsi_panel_cmds_send(cabc_master_dsi_ctrl, &cabc_master_dsi_ctrl->cabc_on_cmds); return size; } else if (sysfs_streq(buf, "81")) { cabc_master_dsi_ctrl->cabc_on_cmds.cmds[0].payload[1] = 0x51; mdss_dsi_panel_cmds_send(cabc_slave_dsi_ctrl, &cabc_slave_dsi_ctrl->cabc_on_cmds); mdss_dsi_panel_cmds_send(cabc_master_dsi_ctrl, &cabc_master_dsi_ctrl->cabc_on_cmds); return size; } else if (sysfs_streq(buf, "5")) { mdss_dsi_panel_cmds_send(cabc_slave_dsi_ctrl, &cabc_slave_dsi_ctrl->cabc_off_cmds); mdss_dsi_panel_cmds_send(cabc_master_dsi_ctrl, &cabc_master_dsi_ctrl->cabc_off_cmds); return size; } /* echo "tuning file" */ memset(tuning_file, 0, sizeof(tuning_file)); snprintf(tuning_file, MAX_FILE_NAME, "%s%s", TUNING_FILE_PATH, buf); pt = tuning_file; while (*pt) { if (*pt == '\r' || *pt == '\n') { *pt = 0; break; } pt++; } pr_info("%s:%s\n", __func__, tuning_file); load_tuning_file(tuning_file); //B8h, B9h for (b = 0; b < 2; b++) { for (a = 0; a < 7; a++) { printk(KERN_INFO "0x%x = 0x%x ", cabc_master_dsi_ctrl->cabc_tune_cmds.cmds[b].payload[a], cabc_tuning[a + (b*7)]); cabc_master_dsi_ctrl->cabc_tune_cmds.cmds[b].payload[a] = cabc_tuning[a + (b*7)]; } } //53h for (a = 0; a < 2; a++) { printk(KERN_INFO "[53h]0x%x = 0x%x ", cabc_master_dsi_ctrl->cabc_tune_cmds.cmds[2].payload[a], cabc_tuning[14 + a]); cabc_master_dsi_ctrl->cabc_tune_cmds.cmds[2].payload[a] = cabc_tuning[14 + a]; } //5Eh for (a = 0; a < 2; a++) { printk(KERN_INFO "[5Eh]0x%x = 0x%x ", cabc_master_dsi_ctrl->cabc_tune_cmds.cmds[3].payload[a], cabc_tuning[16 + a]); cabc_master_dsi_ctrl->cabc_tune_cmds.cmds[3].payload[a] = cabc_tuning[16 + a]; } //CEh for (a = 0; a < 24; a++) { printk(KERN_INFO "[CEh]0x%x = 0x%x ", cabc_master_dsi_ctrl->cabc_tune_cmds.cmds[4].payload[a], cabc_tuning[18 + a]); cabc_master_dsi_ctrl->cabc_tune_cmds.cmds[4].payload[a] = cabc_tuning[18 + a]; } //C1h for (a = 0; a < 36; a++) { printk(KERN_INFO "[C1h]0x%x = 0x%x ", cabc_master_dsi_ctrl->cabc_tune_cmds.cmds[5].payload[a], cabc_tuning[42 + a]); cabc_master_dsi_ctrl->cabc_tune_cmds.cmds[5].payload[a] = cabc_tuning[42 + a]; } mdss_dsi_panel_cmds_send(cabc_slave_dsi_ctrl, &cabc_slave_dsi_ctrl->cabc_tune_cmds); mdss_dsi_panel_cmds_send(cabc_master_dsi_ctrl, &cabc_master_dsi_ctrl->cabc_tune_cmds); return size; }