From 7cdab358c46a8eb7819726d0fef22b60b8ebd21e Mon Sep 17 00:00:00 2001 From: Taekki Kim Date: Wed, 27 Sep 2017 19:11:40 +0900 Subject: [PATCH] [9610] bts: add scenario for FHD 480fps encoding This patch adds scenario for FHD 480fps encoding. These values are draft version. Change-Id: Id59e614884a098083701cc771fb545744040f902 Signed-off-by: Taekki Kim --- drivers/bts/bts-exynos9610.c | 120 +++++++++++++++++++++++++++++++++++ include/soc/samsung/bts.h | 1 + 2 files changed, 121 insertions(+) diff --git a/drivers/bts/bts-exynos9610.c b/drivers/bts/bts-exynos9610.c index 1410d97e01ee..846c943557a5 100644 --- a/drivers/bts/bts-exynos9610.c +++ b/drivers/bts/bts-exynos9610.c @@ -187,6 +187,10 @@ static struct bts_info exynos_bts[] = { .enable = true, .table[BS_DEFAULT].stat.scen_en = true, .table[BS_DEFAULT].stat.priority = 0xC, + .table[BS_FHD_480_ENCODING].stat.scen_en = true, + .table[BS_FHD_480_ENCODING].stat.priority = 0xC, + .table[BS_FHD_480_ENCODING].stat.rmo = 0x4, + .table[BS_FHD_480_ENCODING].stat.wmo = 0x4, }, [BTS_IDX_COREX] = { .name = "corex", @@ -212,6 +216,13 @@ static struct bts_info exynos_bts[] = { .table[BS_DEFAULT].stat.timeout_en = true, .table[BS_DEFAULT].stat.timeout_r = 0xc, .table[BS_DEFAULT].stat.timeout_w = 0xc, + .table[BS_FHD_480_ENCODING].stat.scen_en = true, + .table[BS_FHD_480_ENCODING].stat.priority = 0xC, + .table[BS_FHD_480_ENCODING].stat.rmo = 0x16, + .table[BS_FHD_480_ENCODING].stat.wmo = 0x16, + .table[BS_FHD_480_ENCODING].stat.timeout_en = true, + .table[BS_FHD_480_ENCODING].stat.timeout_r = 0xc, + .table[BS_FHD_480_ENCODING].stat.timeout_w = 0xc, }, [BTS_IDX_DPU] = { .name = "dpu", @@ -267,6 +278,12 @@ static struct bts_info exynos_bts[] = { .table[BS_CAMERA_DEFAULT].stat.wmo = 0x8, .table[BS_CAMERA_DEFAULT].stat.max_rmo = 0x1, .table[BS_CAMERA_DEFAULT].stat.max_wmo = 0x1, + .table[BS_FHD_480_ENCODING].stat.scen_en = true, + .table[BS_FHD_480_ENCODING].stat.priority = 0x4, + .table[BS_FHD_480_ENCODING].stat.rmo = 0x6, + .table[BS_FHD_480_ENCODING].stat.wmo = 0x6, + .table[BS_FHD_480_ENCODING].stat.max_rmo = 0x1, + .table[BS_FHD_480_ENCODING].stat.max_wmo = 0x1, }, [BTS_IDX_G3D] = { .name = "g3d", @@ -287,6 +304,12 @@ static struct bts_info exynos_bts[] = { .table[BS_CAMERA_DEFAULT].stat.wmo = 0x4, .table[BS_CAMERA_DEFAULT].stat.max_rmo = 0x1, .table[BS_CAMERA_DEFAULT].stat.max_wmo = 0x1, + .table[BS_FHD_480_ENCODING].stat.scen_en = true, + .table[BS_FHD_480_ENCODING].stat.priority = 0x4, + .table[BS_FHD_480_ENCODING].stat.rmo = 0x4, + .table[BS_FHD_480_ENCODING].stat.wmo = 0x4, + .table[BS_FHD_480_ENCODING].stat.max_rmo = 0x1, + .table[BS_FHD_480_ENCODING].stat.max_wmo = 0x1, }, [BTS_IDX_GNSS] = { .name = "gnss", @@ -311,6 +334,12 @@ static struct bts_info exynos_bts[] = { .table[BS_DEFAULT].stat.wmo = 0x10, .table[BS_DEFAULT].stat.max_rmo = 0x4, .table[BS_DEFAULT].stat.max_wmo = 0x4, + .table[BS_FHD_480_ENCODING].stat.scen_en = true, + .table[BS_FHD_480_ENCODING].stat.priority = 0xC, + .table[BS_FHD_480_ENCODING].stat.rmo = 0x10, + .table[BS_FHD_480_ENCODING].stat.wmo = 0x10, + .table[BS_FHD_480_ENCODING].stat.max_rmo = 0x1, + .table[BS_FHD_480_ENCODING].stat.max_wmo = 0x1, }, [BTS_IDX_ISP1] = { .name = "isp1", @@ -323,6 +352,12 @@ static struct bts_info exynos_bts[] = { .table[BS_DEFAULT].stat.wmo = 0x10, .table[BS_DEFAULT].stat.max_rmo = 0x4, .table[BS_DEFAULT].stat.max_wmo = 0x4, + .table[BS_FHD_480_ENCODING].stat.scen_en = true, + .table[BS_FHD_480_ENCODING].stat.priority = 0xC, + .table[BS_FHD_480_ENCODING].stat.rmo = 0x10, + .table[BS_FHD_480_ENCODING].stat.wmo = 0x10, + .table[BS_FHD_480_ENCODING].stat.max_rmo = 0x1, + .table[BS_FHD_480_ENCODING].stat.max_wmo = 0x1, }, [BTS_IDX_MFC0] = { .name = "mfc0", @@ -341,6 +376,12 @@ static struct bts_info exynos_bts[] = { .table[BS_MFC_UHD].stat.wmo = 0x14, .table[BS_MFC_UHD].stat.max_rmo = 0x1, .table[BS_MFC_UHD].stat.max_wmo = 0x1, + .table[BS_FHD_480_ENCODING].stat.scen_en = true, + .table[BS_FHD_480_ENCODING].stat.priority = 0x5, + .table[BS_FHD_480_ENCODING].stat.rmo = 0x20, + .table[BS_FHD_480_ENCODING].stat.wmo = 0x20, + .table[BS_FHD_480_ENCODING].stat.max_rmo = 0x4, + .table[BS_FHD_480_ENCODING].stat.max_wmo = 0x4, }, [BTS_IDX_MFC1] = { .name = "mfc1", @@ -359,6 +400,12 @@ static struct bts_info exynos_bts[] = { .table[BS_MFC_UHD].stat.wmo = 0x14, .table[BS_MFC_UHD].stat.max_rmo = 0x1, .table[BS_MFC_UHD].stat.max_wmo = 0x1, + .table[BS_FHD_480_ENCODING].stat.scen_en = true, + .table[BS_FHD_480_ENCODING].stat.priority = 0x5, + .table[BS_FHD_480_ENCODING].stat.rmo = 0x20, + .table[BS_FHD_480_ENCODING].stat.wmo = 0x20, + .table[BS_FHD_480_ENCODING].stat.max_rmo = 0x4, + .table[BS_FHD_480_ENCODING].stat.max_wmo = 0x4, }, [BTS_IDX_MODEM0] = { .name = "modem0", @@ -414,6 +461,12 @@ static struct bts_info exynos_bts[] = { .table[BS_DEFAULT].stat.wmo = 0x10, .table[BS_DEFAULT].stat.max_rmo = 0x4, .table[BS_DEFAULT].stat.max_wmo = 0x4, + .table[BS_FHD_480_ENCODING].stat.scen_en = true, + .table[BS_FHD_480_ENCODING].stat.priority = 0x8, + .table[BS_FHD_480_ENCODING].stat.rmo = 0x4, + .table[BS_FHD_480_ENCODING].stat.wmo = 0x4, + .table[BS_FHD_480_ENCODING].stat.max_rmo = 0x1, + .table[BS_FHD_480_ENCODING].stat.max_wmo = 0x1, }, [BTS_IDX_VIPX2] = { .name = "vipx2", @@ -426,6 +479,12 @@ static struct bts_info exynos_bts[] = { .table[BS_DEFAULT].stat.wmo = 0x10, .table[BS_DEFAULT].stat.max_rmo = 0x4, .table[BS_DEFAULT].stat.max_wmo = 0x4, + .table[BS_FHD_480_ENCODING].stat.scen_en = true, + .table[BS_FHD_480_ENCODING].stat.priority = 0x8, + .table[BS_FHD_480_ENCODING].stat.rmo = 0x4, + .table[BS_FHD_480_ENCODING].stat.wmo = 0x4, + .table[BS_FHD_480_ENCODING].stat.max_rmo = 0x1, + .table[BS_FHD_480_ENCODING].stat.max_wmo = 0x1, }, [BTS_IDX_SIREX] = { .name = "sirex", @@ -491,6 +550,35 @@ static struct drex_info exynos_drex[] = { .table[BS_DEFAULT].stat.vc_timer_th[7] = 0x00010001, .table[BS_DEFAULT].stat.cutoff_con = 0x00000005, .table[BS_DEFAULT].stat.brb_cutoff_config = 0x00020002, + .table[BS_FHD_480_ENCODING].stat.scen_en = true, + .table[BS_FHD_480_ENCODING].stat.write_flush_config[0] = 0xB4301606, + .table[BS_FHD_480_ENCODING].stat.write_flush_config[1] = 0x1810100A, + .table[BS_FHD_480_ENCODING].stat.drex_timeout[0x0] = 0x000A0180, + .table[BS_FHD_480_ENCODING].stat.drex_timeout[0x1] = 0x000A0100, + .table[BS_FHD_480_ENCODING].stat.drex_timeout[0x2] = 0x000A0100, + .table[BS_FHD_480_ENCODING].stat.drex_timeout[0x3] = 0x000A0100, + .table[BS_FHD_480_ENCODING].stat.drex_timeout[0x4] = 0x000A0100, + .table[BS_FHD_480_ENCODING].stat.drex_timeout[0x5] = 0x000A0039, + .table[BS_FHD_480_ENCODING].stat.drex_timeout[0x6] = 0x000A0100, + .table[BS_FHD_480_ENCODING].stat.drex_timeout[0x7] = 0x000A0100, + .table[BS_FHD_480_ENCODING].stat.drex_timeout[0x8] = 0x000A0011, + .table[BS_FHD_480_ENCODING].stat.drex_timeout[0x9] = 0x000A0060, + .table[BS_FHD_480_ENCODING].stat.drex_timeout[0xA] = 0x000A0040, + .table[BS_FHD_480_ENCODING].stat.drex_timeout[0xB] = 0x000A0020, + .table[BS_FHD_480_ENCODING].stat.drex_timeout[0xC] = 0x000A0010, + .table[BS_FHD_480_ENCODING].stat.drex_timeout[0xD] = 0x000A0008, + .table[BS_FHD_480_ENCODING].stat.drex_timeout[0xE] = 0x000A0004, + .table[BS_FHD_480_ENCODING].stat.drex_timeout[0xF] = 0x000A0001, + .table[BS_FHD_480_ENCODING].stat.vc_timer_th[0] = 0x00C100C1, + .table[BS_FHD_480_ENCODING].stat.vc_timer_th[1] = 0x00C100C1, + .table[BS_FHD_480_ENCODING].stat.vc_timer_th[2] = 0x001D00C1, + .table[BS_FHD_480_ENCODING].stat.vc_timer_th[3] = 0x00C100C1, + .table[BS_FHD_480_ENCODING].stat.vc_timer_th[4] = 0x00C10009, + .table[BS_FHD_480_ENCODING].stat.vc_timer_th[5] = 0x000D0022, + .table[BS_FHD_480_ENCODING].stat.vc_timer_th[6] = 0x00030007, + .table[BS_FHD_480_ENCODING].stat.vc_timer_th[7] = 0x00010001, + .table[BS_FHD_480_ENCODING].stat.cutoff_con = 0x00000005, + .table[BS_FHD_480_ENCODING].stat.brb_cutoff_config = 0x00020002, }, [DREX_IDX_1] = { .name = "drex1", @@ -525,6 +613,35 @@ static struct drex_info exynos_drex[] = { .table[BS_DEFAULT].stat.vc_timer_th[7] = 0x00010001, .table[BS_DEFAULT].stat.cutoff_con = 0x00000005, .table[BS_DEFAULT].stat.brb_cutoff_config = 0x00020002, + .table[BS_FHD_480_ENCODING].stat.scen_en = true, + .table[BS_FHD_480_ENCODING].stat.write_flush_config[0] = 0xB4301606, + .table[BS_FHD_480_ENCODING].stat.write_flush_config[1] = 0x1810100A, + .table[BS_FHD_480_ENCODING].stat.drex_timeout[0x0] = 0x000A0180, + .table[BS_FHD_480_ENCODING].stat.drex_timeout[0x1] = 0x000A0100, + .table[BS_FHD_480_ENCODING].stat.drex_timeout[0x2] = 0x000A0100, + .table[BS_FHD_480_ENCODING].stat.drex_timeout[0x3] = 0x000A0100, + .table[BS_FHD_480_ENCODING].stat.drex_timeout[0x4] = 0x000A0100, + .table[BS_FHD_480_ENCODING].stat.drex_timeout[0x5] = 0x000A0039, + .table[BS_FHD_480_ENCODING].stat.drex_timeout[0x6] = 0x000A0100, + .table[BS_FHD_480_ENCODING].stat.drex_timeout[0x7] = 0x000A0100, + .table[BS_FHD_480_ENCODING].stat.drex_timeout[0x8] = 0x000A0011, + .table[BS_FHD_480_ENCODING].stat.drex_timeout[0x9] = 0x000A0060, + .table[BS_FHD_480_ENCODING].stat.drex_timeout[0xA] = 0x000A0040, + .table[BS_FHD_480_ENCODING].stat.drex_timeout[0xB] = 0x000A0020, + .table[BS_FHD_480_ENCODING].stat.drex_timeout[0xC] = 0x000A0010, + .table[BS_FHD_480_ENCODING].stat.drex_timeout[0xD] = 0x000A0008, + .table[BS_FHD_480_ENCODING].stat.drex_timeout[0xE] = 0x000A0004, + .table[BS_FHD_480_ENCODING].stat.drex_timeout[0xF] = 0x000A0001, + .table[BS_FHD_480_ENCODING].stat.vc_timer_th[0] = 0x00C100C1, + .table[BS_FHD_480_ENCODING].stat.vc_timer_th[1] = 0x00C100C1, + .table[BS_FHD_480_ENCODING].stat.vc_timer_th[2] = 0x001D00C1, + .table[BS_FHD_480_ENCODING].stat.vc_timer_th[3] = 0x00C100C1, + .table[BS_FHD_480_ENCODING].stat.vc_timer_th[4] = 0x00C10009, + .table[BS_FHD_480_ENCODING].stat.vc_timer_th[5] = 0x000D0022, + .table[BS_FHD_480_ENCODING].stat.vc_timer_th[6] = 0x00030007, + .table[BS_FHD_480_ENCODING].stat.vc_timer_th[7] = 0x00010001, + .table[BS_FHD_480_ENCODING].stat.cutoff_con = 0x00000005, + .table[BS_FHD_480_ENCODING].stat.brb_cutoff_config = 0x00020002, }, }; @@ -576,6 +693,9 @@ static struct bts_scenario bts_scen[BS_MAX] = { [BS_CAMERA_DEFAULT] = { .name = "camscen", }, + [BS_FHD_480_ENCODING] = { + .name = "fhd-480", + }, }; static void bts_set_ip_table(struct bts_info *bts) diff --git a/include/soc/samsung/bts.h b/include/soc/samsung/bts.h index 030ef81f0edf..fc227524b86b 100644 --- a/include/soc/samsung/bts.h +++ b/include/soc/samsung/bts.h @@ -21,6 +21,7 @@ enum bts_scen_type { BS_G3D_PERFORMANCE, BS_DP_DEFAULT, BS_CAMERA_DEFAULT, + BS_FHD_480_ENCODING, BS_MAX, }; -- 2.20.1