From dc5930472756d5f5eef3d289ddc813a131aeb4cd Mon Sep 17 00:00:00 2001 From: Evoke Zhang Date: Mon, 6 May 2019 21:49:00 -0400 Subject: [PATCH] dts: update vdin0 cma_size for 4k YUV444 10bit support [1/1] PD#SWPL-7952 Problem: vdin0 cma_size is not enough for some board Solution: 1.change hdmirx skip_vf_num to 1. 2.increase vdin0 cma_size to 200M for 4k YUV444 10bit support, other resolution usage will be lower, such as 4k YUV422 10bit 160M. Verify: ab301 Change-Id: I353e2f9e5e6a25c8c3a34e10813039e9bba7e4a6 Signed-off-by: Evoke Zhang Signed-off-by: Lei Yang --- arch/arm/boot/dts/amlogic/tl1_pxp.dts | 6 +++--- arch/arm/boot/dts/amlogic/tl1_t962x2_skt.dts | 6 +++--- arch/arm/boot/dts/amlogic/tl1_t962x2_t309.dts | 6 +++--- arch/arm/boot/dts/amlogic/tl1_t962x2_x301_1g.dts | 6 +++--- arch/arm/boot/dts/amlogic/tl1_t962x2_x301_2g.dts | 6 +++--- arch/arm/boot/dts/amlogic/tm2_pxp.dts | 6 +++--- arch/arm/boot/dts/amlogic/tm2_t962e2_ab311.dts | 19 +++++++++---------- arch/arm/boot/dts/amlogic/tm2_t962e2_ab319.dts | 19 +++++++++---------- arch/arm/boot/dts/amlogic/tm2_t962x3_ab301.dts | 19 +++++++++---------- arch/arm/boot/dts/amlogic/tm2_t962x3_ab309.dts | 19 +++++++++---------- arch/arm64/boot/dts/amlogic/tl1_t962x2_t309.dts | 6 +++--- arch/arm64/boot/dts/amlogic/tl1_t962x2_x301_1g.dts | 6 +++--- arch/arm64/boot/dts/amlogic/tl1_t962x2_x301_2g.dts | 6 +++--- arch/arm64/boot/dts/amlogic/tm2_pxp.dts | 6 +++--- arch/arm64/boot/dts/amlogic/tm2_t962e2_ab311.dts | 19 +++++++++---------- arch/arm64/boot/dts/amlogic/tm2_t962e2_ab319.dts | 19 +++++++++---------- arch/arm64/boot/dts/amlogic/tm2_t962x3_ab301.dts | 19 +++++++++---------- arch/arm64/boot/dts/amlogic/tm2_t962x3_ab309.dts | 19 +++++++++---------- drivers/amlogic/media/vin/tvin/hdmirx/hdmi_rx_drv.c | 2 +- drivers/amlogic/media/vin/tvin/hdmirx/hdmi_rx_drv.h | 2 +- 20 files changed, 104 insertions(+), 112 deletions(-) diff --git a/arch/arm/boot/dts/amlogic/tl1_pxp.dts b/arch/arm/boot/dts/amlogic/tl1_pxp.dts index 6592a47..76ea74a 100644 --- a/arch/arm/boot/dts/amlogic/tl1_pxp.dts +++ b/arch/arm/boot/dts/amlogic/tl1_pxp.dts @@ -472,12 +472,12 @@ flag_cma = <0x101>; /*MByte, if 10bit disable: 64M(YUV422), *if 10bit enable: 64*1.5 = 96M(YUV422) - *if support 4K2K-YUV444-10bit-WR:3840*2160*4*4 ~= 128M - *if support 4K2K-YUV422-10bit-wr:3840*2160*3*4 ~= 96M + *if support 4K2K-YUV444-10bit-WR:3840*2160*4*6 ~= 200M + *if support 4K2K-YUV422-10bit-wr:3840*2160*3*6 ~= 160M *if support 4K2K-YUV422-8BIT-WR:3840*2160*2*4 ~= 64M *if support 1080p-YUV422-8BIT-WR:1920*1080*2*4 ~= 16M */ - cma_size = <190>; + cma_size = <200>; interrupts = <0 83 1>; rdma-irq = <2>; clocks = <&clkc CLKID_FCLK_DIV5>, diff --git a/arch/arm/boot/dts/amlogic/tl1_t962x2_skt.dts b/arch/arm/boot/dts/amlogic/tl1_t962x2_skt.dts index b806b70..bb6ff2e 100644 --- a/arch/arm/boot/dts/amlogic/tl1_t962x2_skt.dts +++ b/arch/arm/boot/dts/amlogic/tl1_t962x2_skt.dts @@ -543,12 +543,12 @@ flag_cma = <0x101>; /*MByte, if 10bit disable: 64M(YUV422), *if 10bit enable: 64*1.5 = 96M(YUV422) - *if support 4K2K-YUV444-10bit-WR:3840*2160*4*4 ~= 128M - *if support 4K2K-YUV422-10bit-wr:3840*2160*3*4 ~= 96M + *if support 4K2K-YUV444-10bit-WR:3840*2160*4*6 ~= 200M + *if support 4K2K-YUV422-10bit-wr:3840*2160*3*6 ~= 160M *if support 4K2K-YUV422-8BIT-WR:3840*2160*2*4 ~= 64M *if support 1080p-YUV422-8BIT-WR:1920*1080*2*4 ~= 16M */ - cma_size = <190>; + cma_size = <200>; interrupts = <0 83 1>; rdma-irq = <2>; clocks = <&clkc CLKID_FCLK_DIV5>, diff --git a/arch/arm/boot/dts/amlogic/tl1_t962x2_t309.dts b/arch/arm/boot/dts/amlogic/tl1_t962x2_t309.dts index 79a8b40..805132d 100644 --- a/arch/arm/boot/dts/amlogic/tl1_t962x2_t309.dts +++ b/arch/arm/boot/dts/amlogic/tl1_t962x2_t309.dts @@ -533,12 +533,12 @@ flag_cma = <0x101>; /*MByte, if 10bit disable: 64M(YUV422), *if 10bit enable: 64*1.5 = 96M(YUV422) - *if support 4K2K-YUV444-10bit-WR:3840*2160*4*4 ~= 128M - *if support 4K2K-YUV422-10bit-wr:3840*2160*3*4 ~= 96M + *if support 4K2K-YUV444-10bit-WR:3840*2160*4*6 ~= 200M + *if support 4K2K-YUV422-10bit-wr:3840*2160*3*6 ~= 160M *if support 4K2K-YUV422-8BIT-WR:3840*2160*2*4 ~= 64M *if support 1080p-YUV422-8BIT-WR:1920*1080*2*4 ~= 16M */ - cma_size = <160>; + cma_size = <200>; interrupts = <0 83 1>; rdma-irq = <2>; clocks = <&clkc CLKID_FCLK_DIV5>, diff --git a/arch/arm/boot/dts/amlogic/tl1_t962x2_x301_1g.dts b/arch/arm/boot/dts/amlogic/tl1_t962x2_x301_1g.dts index 418b7b6..a2d6f6a 100644 --- a/arch/arm/boot/dts/amlogic/tl1_t962x2_x301_1g.dts +++ b/arch/arm/boot/dts/amlogic/tl1_t962x2_x301_1g.dts @@ -530,12 +530,12 @@ flag_cma = <0x101>; /*MByte, if 10bit disable: 64M(YUV422), *if 10bit enable: 64*1.5 = 96M(YUV422) - *if support 4K2K-YUV444-10bit-WR:3840*2160*4*4 ~= 128M - *if support 4K2K-YUV422-10bit-wr:3840*2160*3*4 ~= 96M + *if support 4K2K-YUV444-10bit-WR:3840*2160*4*6 ~= 200M + *if support 4K2K-YUV422-10bit-wr:3840*2160*3*6 ~= 160M *if support 4K2K-YUV422-8BIT-WR:3840*2160*2*4 ~= 64M *if support 1080p-YUV422-8BIT-WR:1920*1080*2*4 ~= 16M */ - cma_size = <180>; + cma_size = <200>; interrupts = <0 83 1>; rdma-irq = <2>; clocks = <&clkc CLKID_FCLK_DIV5>, diff --git a/arch/arm/boot/dts/amlogic/tl1_t962x2_x301_2g.dts b/arch/arm/boot/dts/amlogic/tl1_t962x2_x301_2g.dts index 6b2e45e..97c8908 100644 --- a/arch/arm/boot/dts/amlogic/tl1_t962x2_x301_2g.dts +++ b/arch/arm/boot/dts/amlogic/tl1_t962x2_x301_2g.dts @@ -525,12 +525,12 @@ flag_cma = <0x101>; /*MByte, if 10bit disable: 64M(YUV422), *if 10bit enable: 64*1.5 = 96M(YUV422) - *if support 4K2K-YUV444-10bit-WR:3840*2160*4*4 ~= 128M - *if support 4K2K-YUV422-10bit-wr:3840*2160*3*4 ~= 96M + *if support 4K2K-YUV444-10bit-WR:3840*2160*4*6 ~= 200M + *if support 4K2K-YUV422-10bit-wr:3840*2160*3*6 ~= 160M *if support 4K2K-YUV422-8BIT-WR:3840*2160*2*4 ~= 64M *if support 1080p-YUV422-8BIT-WR:1920*1080*2*4 ~= 16M */ - cma_size = <180>; + cma_size = <200>; interrupts = <0 83 1>; rdma-irq = <2>; clocks = <&clkc CLKID_FCLK_DIV5>, diff --git a/arch/arm/boot/dts/amlogic/tm2_pxp.dts b/arch/arm/boot/dts/amlogic/tm2_pxp.dts index d2c685c..bdcede1 100644 --- a/arch/arm/boot/dts/amlogic/tm2_pxp.dts +++ b/arch/arm/boot/dts/amlogic/tm2_pxp.dts @@ -436,12 +436,12 @@ flag_cma = <0x101>; /*MByte, if 10bit disable: 64M(YUV422), *if 10bit enable: 64*1.5 = 96M(YUV422) - *if support 4K2K-YUV444-10bit-WR:3840*2160*4*4 ~= 128M - *if support 4K2K-YUV422-10bit-wr:3840*2160*3*4 ~= 96M + *if support 4K2K-YUV444-10bit-WR:3840*2160*4*6 ~= 200M + *if support 4K2K-YUV422-10bit-wr:3840*2160*3*6 ~= 160M *if support 4K2K-YUV422-8BIT-WR:3840*2160*2*4 ~= 64M *if support 1080p-YUV422-8BIT-WR:1920*1080*2*4 ~= 16M */ - cma_size = <190>; + cma_size = <200>; interrupts = <0 83 1>; rdma-irq = <2>; clocks = <&clkc CLKID_FCLK_DIV5>, diff --git a/arch/arm/boot/dts/amlogic/tm2_t962e2_ab311.dts b/arch/arm/boot/dts/amlogic/tm2_t962e2_ab311.dts index 5902226..63c6016 100644 --- a/arch/arm/boot/dts/amlogic/tm2_t962e2_ab311.dts +++ b/arch/arm/boot/dts/amlogic/tm2_t962e2_ab311.dts @@ -540,12 +540,12 @@ flag_cma = <0x101>; /*MByte, if 10bit disable: 64M(YUV422), *if 10bit enable: 64*1.5 = 96M(YUV422) - *if support 4K2K-YUV444-10bit-WR:3840*2160*4*4 ~= 128M - *if support 4K2K-YUV422-10bit-wr:3840*2160*3*4 ~= 96M + *if support 4K2K-YUV444-10bit-WR:3840*2160*4*6 ~= 200M + *if support 4K2K-YUV422-10bit-wr:3840*2160*3*6 ~= 160M *if support 4K2K-YUV422-8BIT-WR:3840*2160*2*4 ~= 64M *if support 1080p-YUV422-8BIT-WR:1920*1080*2*4 ~= 16M */ - cma_size = <160>; + cma_size = <200>; interrupts = <0 83 1>; rdma-irq = <2>; clocks = <&clkc CLKID_FCLK_DIV5>, @@ -563,13 +563,12 @@ */ tv_bit_mode = <0x215>; /* afbce_bit_mode: (amlogic frame buff compression encoder) - * bit 0~3: - * 0 -- normal mode, not use afbce - * 1 -- use afbce non-mmu mode - * 2 -- use afbce mmu mode - * bit 4: - * 0 -- afbce compression-lossy disable - * 1 -- afbce compression-lossy enable + * bit0 -- enable afbce + * bit1 -- enable afbce compression-lossy + * bit4 -- afbce for 4k + * bit5 -- afbce for 1080p + * bit6 -- afbce for 720p + * bit7 -- afbce for smaller resolution */ afbce_bit_mode = <0x0>; }; diff --git a/arch/arm/boot/dts/amlogic/tm2_t962e2_ab319.dts b/arch/arm/boot/dts/amlogic/tm2_t962e2_ab319.dts index 99d125a..ee97829 100644 --- a/arch/arm/boot/dts/amlogic/tm2_t962e2_ab319.dts +++ b/arch/arm/boot/dts/amlogic/tm2_t962e2_ab319.dts @@ -564,12 +564,12 @@ flag_cma = <0x101>; /*MByte, if 10bit disable: 64M(YUV422), *if 10bit enable: 64*1.5 = 96M(YUV422) - *if support 4K2K-YUV444-10bit-WR:3840*2160*4*4 ~= 128M - *if support 4K2K-YUV422-10bit-wr:3840*2160*3*4 ~= 96M + *if support 4K2K-YUV444-10bit-WR:3840*2160*4*6 ~= 200M + *if support 4K2K-YUV422-10bit-wr:3840*2160*3*6 ~= 160M *if support 4K2K-YUV422-8BIT-WR:3840*2160*2*4 ~= 64M *if support 1080p-YUV422-8BIT-WR:1920*1080*2*4 ~= 16M */ - cma_size = <190>; + cma_size = <200>; interrupts = <0 83 1>; rdma-irq = <2>; clocks = <&clkc CLKID_FCLK_DIV5>, @@ -587,13 +587,12 @@ */ tv_bit_mode = <0x215>; /* afbce_bit_mode: (amlogic frame buff compression encoder) - * bit 0~3: - * 0 -- normal mode, not use afbce - * 1 -- use afbce non-mmu mode - * 2 -- use afbce mmu mode - * bit 4: - * 0 -- afbce compression-lossy disable - * 1 -- afbce compression-lossy enable + * bit0 -- enable afbce + * bit1 -- enable afbce compression-lossy + * bit4 -- afbce for 4k + * bit5 -- afbce for 1080p + * bit6 -- afbce for 720p + * bit7 -- afbce for smaller resolution */ afbce_bit_mode = <0>; }; diff --git a/arch/arm/boot/dts/amlogic/tm2_t962x3_ab301.dts b/arch/arm/boot/dts/amlogic/tm2_t962x3_ab301.dts index a9126d2..e1d25cc 100644 --- a/arch/arm/boot/dts/amlogic/tm2_t962x3_ab301.dts +++ b/arch/arm/boot/dts/amlogic/tm2_t962x3_ab301.dts @@ -541,12 +541,12 @@ flag_cma = <0x101>; /*MByte, if 10bit disable: 64M(YUV422), *if 10bit enable: 64*1.5 = 96M(YUV422) - *if support 4K2K-YUV444-10bit-WR:3840*2160*4*4 ~= 128M - *if support 4K2K-YUV422-10bit-wr:3840*2160*3*4 ~= 96M + *if support 4K2K-YUV444-10bit-WR:3840*2160*4*6 ~= 200M + *if support 4K2K-YUV422-10bit-wr:3840*2160*3*6 ~= 160M *if support 4K2K-YUV422-8BIT-WR:3840*2160*2*4 ~= 64M *if support 1080p-YUV422-8BIT-WR:1920*1080*2*4 ~= 16M */ - cma_size = <160>; + cma_size = <200>; interrupts = <0 83 1>; rdma-irq = <2>; clocks = <&clkc CLKID_FCLK_DIV5>, @@ -564,13 +564,12 @@ */ tv_bit_mode = <0x215>; /* afbce_bit_mode: (amlogic frame buff compression encoder) - * bit 0~3: - * 0 -- normal mode, not use afbce - * 1 -- use afbce non-mmu mode - * 2 -- use afbce mmu mode - * bit 4: - * 0 -- afbce compression-lossy disable - * 1 -- afbce compression-lossy enable + * bit0 -- enable afbce + * bit1 -- enable afbce compression-lossy + * bit4 -- afbce for 4k + * bit5 -- afbce for 1080p + * bit6 -- afbce for 720p + * bit7 -- afbce for smaller resolution */ afbce_bit_mode = <0x0>; }; diff --git a/arch/arm/boot/dts/amlogic/tm2_t962x3_ab309.dts b/arch/arm/boot/dts/amlogic/tm2_t962x3_ab309.dts index 37f474c..54b315e 100644 --- a/arch/arm/boot/dts/amlogic/tm2_t962x3_ab309.dts +++ b/arch/arm/boot/dts/amlogic/tm2_t962x3_ab309.dts @@ -565,12 +565,12 @@ flag_cma = <0x101>; /*MByte, if 10bit disable: 64M(YUV422), *if 10bit enable: 64*1.5 = 96M(YUV422) - *if support 4K2K-YUV444-10bit-WR:3840*2160*4*4 ~= 128M - *if support 4K2K-YUV422-10bit-wr:3840*2160*3*4 ~= 96M + *if support 4K2K-YUV444-10bit-WR:3840*2160*4*6 ~= 200M + *if support 4K2K-YUV422-10bit-wr:3840*2160*3*6 ~= 160M *if support 4K2K-YUV422-8BIT-WR:3840*2160*2*4 ~= 64M *if support 1080p-YUV422-8BIT-WR:1920*1080*2*4 ~= 16M */ - cma_size = <190>; + cma_size = <200>; interrupts = <0 83 1>; rdma-irq = <2>; clocks = <&clkc CLKID_FCLK_DIV5>, @@ -588,13 +588,12 @@ */ tv_bit_mode = <0x215>; /* afbce_bit_mode: (amlogic frame buff compression encoder) - * bit 0~3: - * 0 -- normal mode, not use afbce - * 1 -- use afbce non-mmu mode - * 2 -- use afbce mmu mode - * bit 4: - * 0 -- afbce compression-lossy disable - * 1 -- afbce compression-lossy enable + * bit0 -- enable afbce + * bit1 -- enable afbce compression-lossy + * bit4 -- afbce for 4k + * bit5 -- afbce for 1080p + * bit6 -- afbce for 720p + * bit7 -- afbce for smaller resolution */ afbce_bit_mode = <0>; }; diff --git a/arch/arm64/boot/dts/amlogic/tl1_t962x2_t309.dts b/arch/arm64/boot/dts/amlogic/tl1_t962x2_t309.dts index 921aa1c..bd3b92d 100644 --- a/arch/arm64/boot/dts/amlogic/tl1_t962x2_t309.dts +++ b/arch/arm64/boot/dts/amlogic/tl1_t962x2_t309.dts @@ -531,12 +531,12 @@ flag_cma = <0x101>; /*MByte, if 10bit disable: 64M(YUV422), *if 10bit enable: 64*1.5 = 96M(YUV422) - *if support 4K2K-YUV444-10bit-WR:3840*2160*4*4 ~= 128M - *if support 4K2K-YUV422-10bit-wr:3840*2160*3*4 ~= 96M + *if support 4K2K-YUV444-10bit-WR:3840*2160*4*6 ~= 200M + *if support 4K2K-YUV422-10bit-wr:3840*2160*3*6 ~= 160M *if support 4K2K-YUV422-8BIT-WR:3840*2160*2*4 ~= 64M *if support 1080p-YUV422-8BIT-WR:1920*1080*2*4 ~= 16M */ - cma_size = <160>; + cma_size = <200>; interrupts = <0 83 1>; rdma-irq = <2>; clocks = <&clkc CLKID_FCLK_DIV5>, diff --git a/arch/arm64/boot/dts/amlogic/tl1_t962x2_x301_1g.dts b/arch/arm64/boot/dts/amlogic/tl1_t962x2_x301_1g.dts index 9f9b053..8ddea1dc 100644 --- a/arch/arm64/boot/dts/amlogic/tl1_t962x2_x301_1g.dts +++ b/arch/arm64/boot/dts/amlogic/tl1_t962x2_x301_1g.dts @@ -526,12 +526,12 @@ flag_cma = <0x101>; /*MByte, if 10bit disable: 64M(YUV422), *if 10bit enable: 64*1.5 = 96M(YUV422) - *if support 4K2K-YUV444-10bit-WR:3840*2160*4*4 ~= 128M - *if support 4K2K-YUV422-10bit-wr:3840*2160*3*4 ~= 96M + *if support 4K2K-YUV444-10bit-WR:3840*2160*4*6 ~= 200M + *if support 4K2K-YUV422-10bit-wr:3840*2160*3*6 ~= 160M *if support 4K2K-YUV422-8BIT-WR:3840*2160*2*4 ~= 64M *if support 1080p-YUV422-8BIT-WR:1920*1080*2*4 ~= 16M */ - cma_size = <180>; + cma_size = <200>; interrupts = <0 83 1>; rdma-irq = <2>; clocks = <&clkc CLKID_FCLK_DIV5>, diff --git a/arch/arm64/boot/dts/amlogic/tl1_t962x2_x301_2g.dts b/arch/arm64/boot/dts/amlogic/tl1_t962x2_x301_2g.dts index 9b3a9cf..cd6c7a7 100644 --- a/arch/arm64/boot/dts/amlogic/tl1_t962x2_x301_2g.dts +++ b/arch/arm64/boot/dts/amlogic/tl1_t962x2_x301_2g.dts @@ -520,12 +520,12 @@ flag_cma = <0x101>; /*MByte, if 10bit disable: 64M(YUV422), *if 10bit enable: 64*1.5 = 96M(YUV422) - *if support 4K2K-YUV444-10bit-WR:3840*2160*4*4 ~= 128M - *if support 4K2K-YUV422-10bit-wr:3840*2160*3*4 ~= 96M + *if support 4K2K-YUV444-10bit-WR:3840*2160*4*6 ~= 200M + *if support 4K2K-YUV422-10bit-wr:3840*2160*3*6 ~= 160M *if support 4K2K-YUV422-8BIT-WR:3840*2160*2*4 ~= 64M *if support 1080p-YUV422-8BIT-WR:1920*1080*2*4 ~= 16M */ - cma_size = <180>; + cma_size = <200>; interrupts = <0 83 1>; rdma-irq = <2>; clocks = <&clkc CLKID_FCLK_DIV5>, diff --git a/arch/arm64/boot/dts/amlogic/tm2_pxp.dts b/arch/arm64/boot/dts/amlogic/tm2_pxp.dts index a0d4ef5..94efd82 100644 --- a/arch/arm64/boot/dts/amlogic/tm2_pxp.dts +++ b/arch/arm64/boot/dts/amlogic/tm2_pxp.dts @@ -436,12 +436,12 @@ flag_cma = <0x101>; /*MByte, if 10bit disable: 64M(YUV422), *if 10bit enable: 64*1.5 = 96M(YUV422) - *if support 4K2K-YUV444-10bit-WR:3840*2160*4*4 ~= 128M - *if support 4K2K-YUV422-10bit-wr:3840*2160*3*4 ~= 96M + *if support 4K2K-YUV444-10bit-WR:3840*2160*4*6 ~= 200M + *if support 4K2K-YUV422-10bit-wr:3840*2160*3*6 ~= 160M *if support 4K2K-YUV422-8BIT-WR:3840*2160*2*4 ~= 64M *if support 1080p-YUV422-8BIT-WR:1920*1080*2*4 ~= 16M */ - cma_size = <190>; + cma_size = <200>; interrupts = <0 83 1>; rdma-irq = <2>; clocks = <&clkc CLKID_FCLK_DIV5>, diff --git a/arch/arm64/boot/dts/amlogic/tm2_t962e2_ab311.dts b/arch/arm64/boot/dts/amlogic/tm2_t962e2_ab311.dts index 1c5e507..b111cc9 100644 --- a/arch/arm64/boot/dts/amlogic/tm2_t962e2_ab311.dts +++ b/arch/arm64/boot/dts/amlogic/tm2_t962e2_ab311.dts @@ -536,12 +536,12 @@ flag_cma = <0x101>; /*MByte, if 10bit disable: 64M(YUV422), *if 10bit enable: 64*1.5 = 96M(YUV422) - *if support 4K2K-YUV444-10bit-WR:3840*2160*4*4 ~= 128M - *if support 4K2K-YUV422-10bit-wr:3840*2160*3*4 ~= 96M + *if support 4K2K-YUV444-10bit-WR:3840*2160*4*6 ~= 200M + *if support 4K2K-YUV422-10bit-wr:3840*2160*3*6 ~= 160M *if support 4K2K-YUV422-8BIT-WR:3840*2160*2*4 ~= 64M *if support 1080p-YUV422-8BIT-WR:1920*1080*2*4 ~= 16M */ - cma_size = <160>; + cma_size = <200>; interrupts = <0 83 1>; rdma-irq = <2>; clocks = <&clkc CLKID_FCLK_DIV5>, @@ -559,13 +559,12 @@ */ tv_bit_mode = <0x215>; /* afbce_bit_mode: (amlogic frame buff compression encoder) - * bit 0~3: - * 0 -- normal mode, not use afbce - * 1 -- use afbce non-mmu mode - * 2 -- use afbce mmu mode - * bit 4: - * 0 -- afbce compression-lossy disable - * 1 -- afbce compression-lossy enable + * bit0 -- enable afbce + * bit1 -- enable afbce compression-lossy + * bit4 -- afbce for 4k + * bit5 -- afbce for 1080p + * bit6 -- afbce for 720p + * bit7 -- afbce for smaller resolution */ afbce_bit_mode = <0x0>; }; diff --git a/arch/arm64/boot/dts/amlogic/tm2_t962e2_ab319.dts b/arch/arm64/boot/dts/amlogic/tm2_t962e2_ab319.dts index a57743d..7af791f 100644 --- a/arch/arm64/boot/dts/amlogic/tm2_t962e2_ab319.dts +++ b/arch/arm64/boot/dts/amlogic/tm2_t962e2_ab319.dts @@ -563,12 +563,12 @@ flag_cma = <0x101>; /*MByte, if 10bit disable: 64M(YUV422), *if 10bit enable: 64*1.5 = 96M(YUV422) - *if support 4K2K-YUV444-10bit-WR:3840*2160*4*4 ~= 128M - *if support 4K2K-YUV422-10bit-wr:3840*2160*3*4 ~= 96M + *if support 4K2K-YUV444-10bit-WR:3840*2160*4*6 ~= 200M + *if support 4K2K-YUV422-10bit-wr:3840*2160*3*6 ~= 160M *if support 4K2K-YUV422-8BIT-WR:3840*2160*2*4 ~= 64M *if support 1080p-YUV422-8BIT-WR:1920*1080*2*4 ~= 16M */ - cma_size = <190>; + cma_size = <200>; interrupts = <0 83 1>; rdma-irq = <2>; clocks = <&clkc CLKID_FCLK_DIV5>, @@ -586,13 +586,12 @@ */ tv_bit_mode = <0x215>; /* afbce_bit_mode: (amlogic frame buff compression encoder) - * bit 0~3: - * 0 -- normal mode, not use afbce - * 1 -- use afbce non-mmu mode - * 2 -- use afbce mmu mode - * bit 4: - * 0 -- afbce compression-lossy disable - * 1 -- afbce compression-lossy enable + * bit0 -- enable afbce + * bit1 -- enable afbce compression-lossy + * bit4 -- afbce for 4k + * bit5 -- afbce for 1080p + * bit6 -- afbce for 720p + * bit7 -- afbce for smaller resolution */ afbce_bit_mode = <0>; }; diff --git a/arch/arm64/boot/dts/amlogic/tm2_t962x3_ab301.dts b/arch/arm64/boot/dts/amlogic/tm2_t962x3_ab301.dts index 9744a21..590a133 100644 --- a/arch/arm64/boot/dts/amlogic/tm2_t962x3_ab301.dts +++ b/arch/arm64/boot/dts/amlogic/tm2_t962x3_ab301.dts @@ -538,12 +538,12 @@ flag_cma = <0x101>; /*MByte, if 10bit disable: 64M(YUV422), *if 10bit enable: 64*1.5 = 96M(YUV422) - *if support 4K2K-YUV444-10bit-WR:3840*2160*4*4 ~= 128M - *if support 4K2K-YUV422-10bit-wr:3840*2160*3*4 ~= 96M + *if support 4K2K-YUV444-10bit-WR:3840*2160*4*6 ~= 200M + *if support 4K2K-YUV422-10bit-wr:3840*2160*3*6 ~= 160M *if support 4K2K-YUV422-8BIT-WR:3840*2160*2*4 ~= 64M *if support 1080p-YUV422-8BIT-WR:1920*1080*2*4 ~= 16M */ - cma_size = <160>; + cma_size = <200>; interrupts = <0 83 1>; rdma-irq = <2>; clocks = <&clkc CLKID_FCLK_DIV5>, @@ -561,13 +561,12 @@ */ tv_bit_mode = <0x215>; /* afbce_bit_mode: (amlogic frame buff compression encoder) - * bit 0~3: - * 0 -- normal mode, not use afbce - * 1 -- use afbce non-mmu mode - * 2 -- use afbce mmu mode - * bit 4: - * 0 -- afbce compression-lossy disable - * 1 -- afbce compression-lossy enable + * bit0 -- enable afbce + * bit1 -- enable afbce compression-lossy + * bit4 -- afbce for 4k + * bit5 -- afbce for 1080p + * bit6 -- afbce for 720p + * bit7 -- afbce for smaller resolution */ afbce_bit_mode = <0x0>; }; diff --git a/arch/arm64/boot/dts/amlogic/tm2_t962x3_ab309.dts b/arch/arm64/boot/dts/amlogic/tm2_t962x3_ab309.dts index 6ed6fec..63e82321 100644 --- a/arch/arm64/boot/dts/amlogic/tm2_t962x3_ab309.dts +++ b/arch/arm64/boot/dts/amlogic/tm2_t962x3_ab309.dts @@ -564,12 +564,12 @@ flag_cma = <0x101>; /*MByte, if 10bit disable: 64M(YUV422), *if 10bit enable: 64*1.5 = 96M(YUV422) - *if support 4K2K-YUV444-10bit-WR:3840*2160*4*4 ~= 128M - *if support 4K2K-YUV422-10bit-wr:3840*2160*3*4 ~= 96M + *if support 4K2K-YUV444-10bit-WR:3840*2160*4*6 ~= 200M + *if support 4K2K-YUV422-10bit-wr:3840*2160*3*6 ~= 160M *if support 4K2K-YUV422-8BIT-WR:3840*2160*2*4 ~= 64M *if support 1080p-YUV422-8BIT-WR:1920*1080*2*4 ~= 16M */ - cma_size = <190>; + cma_size = <200>; interrupts = <0 83 1>; rdma-irq = <2>; clocks = <&clkc CLKID_FCLK_DIV5>, @@ -587,13 +587,12 @@ */ tv_bit_mode = <0x215>; /* afbce_bit_mode: (amlogic frame buff compression encoder) - * bit 0~3: - * 0 -- normal mode, not use afbce - * 1 -- use afbce non-mmu mode - * 2 -- use afbce mmu mode - * bit 4: - * 0 -- afbce compression-lossy disable - * 1 -- afbce compression-lossy enable + * bit0 -- enable afbce + * bit1 -- enable afbce compression-lossy + * bit4 -- afbce for 4k + * bit5 -- afbce for 1080p + * bit6 -- afbce for 720p + * bit7 -- afbce for smaller resolution */ afbce_bit_mode = <0>; }; diff --git a/drivers/amlogic/media/vin/tvin/hdmirx/hdmi_rx_drv.c b/drivers/amlogic/media/vin/tvin/hdmirx/hdmi_rx_drv.c index 125b69e..06f7322 100644 --- a/drivers/amlogic/media/vin/tvin/hdmirx/hdmi_rx_drv.c +++ b/drivers/amlogic/media/vin/tvin/hdmirx/hdmi_rx_drv.c @@ -129,7 +129,7 @@ bool en_4096_2_3840; int en_4k_2_2k; int en_4k_timing = 1; bool hdmi_cec_en; -int vdin_drop_frame_cnt = 2; +int vdin_drop_frame_cnt = 1; /* suspend_pddq_sel: * 0: keep phy on when suspend(don't need phy init when * resume), it doesn't work now because phy VDDIO_3.3V diff --git a/drivers/amlogic/media/vin/tvin/hdmirx/hdmi_rx_drv.h b/drivers/amlogic/media/vin/tvin/hdmirx/hdmi_rx_drv.h index 3807944..ad8c8ce 100644 --- a/drivers/amlogic/media/vin/tvin/hdmirx/hdmi_rx_drv.h +++ b/drivers/amlogic/media/vin/tvin/hdmirx/hdmi_rx_drv.h @@ -46,7 +46,7 @@ * * */ -#define RX_VER2 "ver.2019/04/07" +#define RX_VER2 "ver.2019/05/08" /*print type*/ #define LOG_EN 0x01 -- 2.7.4