コード例 #1
0
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
}
コード例 #2
0
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
}