static int s6e63m0_spi_write_driver(struct s5p_lcd *lcd, u16 reg) { u16 buf[1]; int ret; struct spi_message msg; struct spi_transfer xfer = { .len = 2, .tx_buf = buf, }; buf[0] = reg; spi_message_init(&msg); spi_message_add_tail(&xfer, &msg); ret = spi_sync(lcd->g_spi, &msg); if (ret < 0) pr_err("%s error\n", __func__); return ret ; } #ifdef SMART_DIMMING static void s6e63m0_init_smart_dimming_table_22(struct s5p_lcd *lcd) { unsigned int i, j; unsigned char gamma_22[GAMMA_PARAM_LEN] = {0,}; for (i = 0; i < MAX_GAMMA_LEVEL; i++) { calc_gamma_table_22(&lcd->smart, candela_table[i], gamma_22); for (j = 0; j < GAMMA_PARAM_LEN; j++) s6e63m0_22gamma_table[i][j+2] = (gamma_22[j] | 0x100); // j+2 : for first value } #if 0 for (i = 0; i < MAX_GAMMA_LEVEL; i++) { for (j = 0; j < GAMMA_PARAM_LEN; j++) printk("0x%02x, ", s6e63m0_22gamma_table[i][j+1] & ~(0x100)); printk("\n"); } #endif }
static void s6e63m0_init_smart_dimming_table_22(struct s6e63m0_dsi_lcd *lcd) { unsigned int i, j; u8 gamma_22[SEC_DSI_MTP_DATA_LEN] = {0,}; for (i = 0; i < MAX_GAMMA_VALUE; i++) { calc_gamma_table_22(&lcd->smart, candela_table[i], gamma_22); for (j = 0; j < GAMMA_PARAM_LEN; j++) gamma_table_sm2[i][j+3] = (gamma_22[j]); // j+3 : for first value } #if 0 printk("++++++++++++++++++ !SMART DIMMING RESULT! +++++++++++++++++++\n"); for (i = 0; i < MAX_GAMMA_VALUE; i++) { printk("SmartDimming Gamma Result=[%3d] : ",candela_table[i]); for (j = 0; j < GAMMA_PARAM_LEN; j++) printk("[0x%02x], ", gamma_table_sm2[i][j+3]); printk("\n"); } printk("+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"); #endif }