diff options
Diffstat (limited to 'display/panel-google-hk3.c')
-rw-r--r-- | display/panel-google-hk3.c | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/display/panel-google-hk3.c b/display/panel-google-hk3.c index 8986378..7020f8e 100644 --- a/display/panel-google-hk3.c +++ b/display/panel-google-hk3.c @@ -323,7 +323,7 @@ static const struct drm_dsc_config fhd_pps_config = { #define HK3_TE_USEC_AOD 693 #define HK3_TE_USEC_120HZ 273 #define HK3_TE_USEC_60HZ_HS 8500 -#define HK3_TE_USEC_60HZ_NS 546 +#define HK3_TE_USEC_60HZ_NS 1223 #define HK3_TE_PERIOD_DELTA_TOLERANCE_USEC 2000 #define MIPI_DSI_FREQ_DEFAULT 1368 @@ -584,13 +584,24 @@ static void hk3_set_panel_feat(struct exynos_panel *ctx, EXYNOS_DCS_BUF_ADD(ctx, 0xB0, 0x00, 0x02, 0xB9); val = test_bit(FEAT_OP_NS, feat) ? 0x01 : 0x00; EXYNOS_DCS_BUF_ADD(ctx, 0xB9, val); + /* Fixed TE width setting */ + EXYNOS_DCS_BUF_ADD(ctx, 0xB0, 0x00, 0x08, 0xB9); + if (test_bit(FEAT_OP_NS, feat)) { + EXYNOS_DCS_BUF_ADD(ctx, 0xB9, 0x0B, 0x43, 0x00, 0x2F, + 0x0B, 0x43, 0x00, 0x2F); + } else { + EXYNOS_DCS_BUF_ADD(ctx, 0xB9, 0x0B, 0xBB, 0x00, 0x2F, + 0x0B, 0xBB, 0x00, 0x2F); + } } else { /* Changeable TE */ EXYNOS_DCS_BUF_ADD(ctx, 0xB9, 0x04); /* Changeable TE width setting and frequency */ EXYNOS_DCS_BUF_ADD(ctx, 0xB0, 0x00, 0x04, 0xB9); - /* width 273us in normal mode */ - EXYNOS_DCS_BUF_ADD(ctx, 0xB9, 0x0B, 0xBB, 0x00, 0x2F); + if (test_bit(FEAT_OP_NS, feat)) + EXYNOS_DCS_BUF_ADD(ctx, 0xB9, 0x0B, 0x43, 0x00, 0x2F); + else + EXYNOS_DCS_BUF_ADD(ctx, 0xB9, 0x0B, 0xBB, 0x00, 0x2F); } } |