From eb5798de50bc944b49fa91a9c87faf6cded7d7ec Mon Sep 17 00:00:00 2001 From: Andrzej Hajda <a.hajda@samsung.com> Date: Wed, 27 Apr 2016 16:04:44 +0200 Subject: drm/panel/s6e3ha2: fix calibration sequence Panel TE interrupt was signaled with variable frequency 53-60 fps. This patch fixes it to about 60 fps. Signed-off-by: Andrzej Hajda <a.hajda@samsung.com> Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com> Change-Id: Icf88caae7eed9ea540158a17a6745a0265948265 --- drivers/gpu/drm/panel/panel-s6e3ha2.c | 31 ++++++------------------------- 1 file changed, 6 insertions(+), 25 deletions(-) diff --git a/drivers/gpu/drm/panel/panel-s6e3ha2.c b/drivers/gpu/drm/panel/panel-s6e3ha2.c index 39492ce30b83..ab1e06ed90e1 100644 --- a/drivers/gpu/drm/panel/panel-s6e3ha2.c +++ b/drivers/gpu/drm/panel/panel-s6e3ha2.c @@ -312,31 +312,16 @@ static void s6e3ha2_single_dsi_set2(struct s6e3ha2 *ctx) s6e3ha2_dcs_write_seq_static(ctx, 0xf9, 0x09); } -static void s6e3ha2_calibration_set1(struct s6e3ha2 *ctx) +static void s6e3ha2_freq_calibration(struct s6e3ha2 *ctx) { s6e3ha2_dcs_write_seq_static(ctx, 0xfd, 0x1c); -} - -static void s6e3ha2_calibration_set2(struct s6e3ha2 *ctx) -{ + s6e3ha2_dcs_write_seq_static(ctx, 0xf2, 0x67, 0x40, 0xc5); s6e3ha2_dcs_write_seq_static(ctx, 0xfe, 0x20, 0x39); -} - -static void s6e3ha2_calibration_set3(struct s6e3ha2 *ctx) -{ s6e3ha2_dcs_write_seq_static(ctx, 0xfe, 0xa0); -} - -static void s6e3ha2_calibration_set4(struct s6e3ha2 *ctx) -{ s6e3ha2_dcs_write_seq_static(ctx, 0xfe, 0x20); -} - -static void s6e3ha2_calibration_set5(struct s6e3ha2 *ctx) -{ - s6e3ha2_dcs_write_seq_static(ctx, 0xce, - 0x03, 0x3B, 0x12, 0x62, 0x40, 0x80, 0xC0, 0x28, 0x28, - 0x28, 0x28, 0x39, 0xC5); + s6e3ha2_dcs_write_seq_static(ctx, 0xce, 0x03, 0x3b, 0x14, 0x6d, + 0x40, 0x80, 0xc0, 0x28, 0x28, 0x28, 0x28, 0x39, 0xc5 + ); } static void s6e3ha2_aor_control(struct s6e3ha2 *ctx) @@ -500,11 +485,7 @@ static void s6e3ha2_panel_init(struct s6e3ha2 *ctx) /* calibration enable */ s6e3ha2_test_key_on_fc(ctx); - s6e3ha2_calibration_set1(ctx); - s6e3ha2_calibration_set2(ctx); - s6e3ha2_calibration_set3(ctx); - s6e3ha2_calibration_set4(ctx); - s6e3ha2_calibration_set5(ctx); + s6e3ha2_freq_calibration(ctx); msleep(120); -- cgit v1.2.3