platform/kernel/linux-amlogic.git
4 years agoRAVENPLAT 2390:OSS vulnerability found in [boot.img]:[linux_kernel] (CVE-2018-20169...
Mathias Payer [Wed, 5 Dec 2018 20:19:59 +0000 (21:19 +0100)]
RAVENPLAT 2390:OSS vulnerability found in [boot.img]:[linux_kernel] (CVE-2018-20169) Risk:[] [1/1]

PD#OTT-5679

[Problem]

[Solution]
USB: check usb_get_extra_descriptor for proper size

When reading an extra descriptor, we need to properly check the minimum
and maximum size allowed, to prevent from invalid data being sent by a
device.

Change-Id: Ie3dbdb24bebc0f2813b0bedd2261f8246ddd71d3
Reported-by: Hui Peng <benquike@gmail.com>
Reported-by: Mathias Payer <mathias.payer@nebelwelt.net>
Co-developed-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Hui Peng <benquike@gmail.com>
Signed-off-by: Mathias Payer <mathias.payer@nebelwelt.net>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Cc: stable <stable@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Hanjie Lin <hanjie.lin@amlogic.com>
4 years agoRAVENPLAT 2387:OSS vulnerability found in [boot.img]:[linux_kernel] (CVE-2018-17182...
Hanjie Lin [Wed, 21 Aug 2019 01:19:19 +0000 (09:19 +0800)]
RAVENPLAT 2387:OSS vulnerability found in [boot.img]:[linux_kernel] (CVE-2018-17182) Risk:[] [1/1]

PD#OTT-5676

[Problem]
digital security team requires OSS to be patched up to the latest or non-vulnerable version

[Solution]
mm: get rid of vmacache_flush_all() entirely
Jann Horn points out that the vmacache_flush_all() function is not only
potentially expensive, it's buggy too.  It also happens to be entirely
unnecessary, because the sequence number overflow case can be avoided by
simply making the sequence number be 64-bit.  That doesn't even grow the
data structures in question, because the other adjacent fields are
already 64-bit.
So simplify the whole thing by just making the sequence number overflow
case go away entirely, which gets rid of all the complications and makes
the code faster too.  Win-win.

[Test]

Change-Id: I536c7b183ced970e18c9d67211f32da0ee404111
Signed-off-by: Hanjie Lin <hanjie.lin@amlogic.com>
4 years agoRAVENPLAT 2381:OSS vulnerability found in [boot.img]:[linux_kernel] (CVE-2018-6555...
Hanjie Lin [Wed, 14 Aug 2019 10:42:54 +0000 (18:42 +0800)]
RAVENPLAT 2381:OSS vulnerability found in [boot.img]:[linux_kernel] (CVE-2018-6555) Risk:[] [1/1]

PD#OTT-5671

[Problem]
The irda_setsockopt function in net/irda/af_irda.c and later in
drivers/staging/irda/net/af_irda.c in the Linux kernel before 4.17
allows local users to cause a denial of service (ias_object
use-after-free and system crash) or possibly have unspecified other
impact via an AF_IRDA socket.

[Solution]
The irda_setsockopt() function conditionally allocates memory for a new
self->ias_object or, in some cases, reuses the existing
self->ias_object. Existing objects were incorrectly reinserted into the
LM_IAS database which corrupted the doubly linked list used for the
hashbin implementation of the LM_IAS database. When combined with a
memory leak in irda_bind(), this issue could be leveraged to create a
use-after-free vulnerability in the hashbin list. This patch fixes the
issue by only inserting newly allocated objects into the database.

[Test]

Change-Id: Idbdc870be0064e331969b39a7b6e447c16a9073a
Signed-off-by: Hanjie Lin <hanjie.lin@amlogic.com>
4 years agoRAVENPLAT 2378:OSS vulnerability found in [boot.img]:[linux_kernel] (CVE-2018-9517...
Hanjie Lin [Wed, 14 Aug 2019 08:36:56 +0000 (16:36 +0800)]
RAVENPLAT 2378:OSS vulnerability found in [boot.img]:[linux_kernel] (CVE-2018-9517) Risk:[] [1/1]

PD#OTT-5666

[Problem]
In pppol2tp_connect, there is possible memory corruption due to a
use after free. This could lead to local escalation of privilege with
System execution privileges needed. User interaction is not needed for
exploitation.

[Solution]
l2tp: pass tunnel pointer to ->session_create()

Using l2tp_tunnel_find() in pppol2tp_session_create() and
l2tp_eth_create() is racy, because no reference is held on the
returned session. These functions are only used to implement the
->session_create callback which is run by l2tp_nl_cmd_session_create().
Therefore searching for the parent tunnel isn't necessary because
l2tp_nl_cmd_session_create() already has a pointer to it and holds a
reference.

This patch modifies ->session_create()'s prototype to directly pass the
the parent tunnel as parameter, thus avoiding searching for it in
pppol2tp_session_create() and l2tp_eth_create().

Since we have to touch the ->session_create() call in
l2tp_nl_cmd_session_create(), let's also remove the useless conditional:
we know that ->session_create isn't NULL at this point because it's
already been checked earlier in this same function.

Finally, one might be tempted to think that the removed
l2tp_tunnel_find() calls were harmless because they would return the
same tunnel as the one held by l2tp_nl_cmd_session_create() anyway.
But that tunnel might be removed and a new one created with same tunnel
Id before the l2tp_tunnel_find() call. In this case l2tp_tunnel_find()
would return the new tunnel which wouldn't be protected by the
reference held by l2tp_nl_cmd_session_create().

Change-Id: I50e19ae5abb4009205e59105222bf92e3587f9c4
Signed-off-by: Hanjie Lin <hanjie.lin@amlogic.com>
4 years agoRAVENPLAT-2379:OSS vulnerability found in [boot.img]:[linux_kernel] (CVE-2018-5390...
Hanjie Lin [Mon, 12 Aug 2019 11:35:42 +0000 (19:35 +0800)]
RAVENPLAT-2379:OSS vulnerability found in [boot.img]:[linux_kernel] (CVE-2018-5390) Risk:[] [1/1]

PD#OTT-5669

[Problem]
Linux kernel versions 4.9+ can be forced to make very expensive calls
to tcp_collapse_ofo_queue() and tcp_prune_ofo_queue() for every incoming
packet which can lead to a denial of service.

[Solution]
Juha-Matti Tilli reported that malicious peers could inject tiny
packets in out_of_order_queue, forcing very expensive calls
to tcp_collapse_ofo_queue() and tcp_prune_ofo_queue() for
every incoming packet.
With tcp_rmem[2] default of 6MB, the ooo queue could
contain ~7000 nodes.
This patch series makes sure we cut cpu cycles enough to
render the attack not critical.
We might in the future go further, like disconnecting
or black-holing proven malicious flows.

[Test]

Change-Id: I09c72cd11a38516f3b6e293deb21c5dd0faa3d9e
Signed-off-by: Hanjie Lin <hanjie.lin@amlogic.com>
4 years agoamvideo: omx consecutive drop should happen only after omx_run is true [1/1]
Rico Yang [Wed, 11 Sep 2019 07:40:17 +0000 (03:40 -0400)]
amvideo: omx consecutive drop should happen only after omx_run is true [1/1]

PD#SWPL-13232

Problem:
amvideo drops excessive video frames than it should drop

Solution:
drop only after omx_run is true

Verify:
verified on Franklin

Change-Id: Iacb8f23c9635d00ce6265a0228c1e1e458902c6a
Signed-off-by: Rico Yang <wei.yang@amlogic.com>
4 years agoperf: pmu fine-tune for aarch32/64 of A53/A55/A73 [1/1]
Hanjie Lin [Tue, 27 Aug 2019 08:21:46 +0000 (16:21 +0800)]
perf: pmu fine-tune for aarch32/64 of A53/A55/A73 [1/1]

PD#SWPL-13243

Problem:
pmu event is not accurate or not complete in A53/A55/A73.

Solution:
1, modify event config for A53/A55/A73.
2, perf executable file must compiled from latest kernel(5.1+)
3, A55 events are most complete, A73 are least complete(eg: less ld_retired/st_retired/stall/prefetch events)
4, A55/A53 same event meanings simlar, but A73 is more different(eg: L1/L2 dcache/icache loads meanings)

sample commands:
a55 arm64:
perf stat -e task-clock,context-switches,cpu-migrations,page-faults,instructions,armv8_pmuv3/ld_retired/,armv8_pmuv3/st_retired/,cycles,branch-loads,branch-load-misses,armv8_pmuv3/a55_l1d_cache_rd/,armv8_pmuv3/a55_l1d_cache_refill_rd/,armv8_pmuv3/a55_l1d_cache_wr/,armv8_pmuv3/a55_l1d_cache_refill_wr/,L1-icache-loads,L1-icache-load-misses,armv8_pmuv3/a55_l2d_cache_rd/,armv8_pmuv3/a55_l2d_cache_refill_rd/,armv8_pmuv3/a55_l1d_cache_refill_inner/,armv8_pmuv3/a55_l1d_cache_refill_outer/,armv8_pmuv3/a55_l1d_cache_refill_prefetch/,armv8_pmuv3/a55_l2d_cache_refill_prefetch/,armv8_pmuv3/a5x_stall_frontend_cache/,armv8_pmuv3/a5x_stall_frontend_tlb/,armv8_pmuv3/a5x_stall_backend_ld/,armv8_pmuv3/a55_stall_backend_ld_cache/,armv8_pmuv3/a55_stall_backend_ld_tlb/,armv8_pmuv3/a5x_stall_backend_st/,armv8_pmuv3/a5x_stall_backend_ilock_agu/,armv8_pmuv3/a5x_stall_backend_ilock_fpu/ ls

a53 arm64:
perf stat -e task-clock,context-switches,cpu-migrations,page-faults,instructions,armv8_pmuv3/ld_retired/,armv8_pmuv3/st_retired/,cycles,branch-loads,branch-load-misses,armv8_pmuv3/l1d_cache/,armv8_pmuv3/l1d_cache_refill/,L1-icache-loads,L1-icache-load-misses,armv8_pmuv3/a5x_l2d_cache/,armv8_pmuv3/a5x_l2d_cache_refill/,armv8_pmuv3/a53_cache_refill_prefetch/,armv8_pmuv3/a53_scu_snooped/,armv8_pmuv3/a5x_stall_frontend_cache/,armv8_pmuv3/a5x_stall_frontend_tlb/,armv8_pmuv3/a5x_stall_backend_ld/,,armv8_pmuv3/a5x_stall_backend_st/,armv8_pmuv3/a5x_stall_backend_ilock_agu/,armv8_pmuv3/a5x_stall_backend_ilock_fpu/ ls

a73 arm64: (w400 bind to a73 cpu2)
perf stat -e task-clock,context-switches,cpu-migrations,page-faults,instructions,cycles,branch-loads,branch-load-misses,armv8_pmuv3/l1d_cache/,armv8_pmuv3/l1d_cache_refill/,armv8_pmuv3/a55_l1d_cache_rd/,armv8_pmuv3/a55_l1d_cache_wr/,armv8_pmuv3/a5x_l2d_cache/,armv8_pmuv3/a5x_l2d_cache_refill/,armv8_pmuv3/a55_l2d_cache_rd/,armv8_pmuv3/a55_l2d_cache_wr/ busybox taskset 4 ls

a55 arm:
perf stat -e task-clock,context-switches,cpu-migrations,page-faults,instructions,armv7_cortex_a15/ld_retired/,armv7_cortex_a15/st_retired/,cycles,branch-loads,branch-load-misses,armv7_cortex_a15/a55_l1d_cache_rd/,armv7_cortex_a15/a55_l1d_cache_refill_rd/,armv7_cortex_a15/a55_l1d_cache_wr/,armv7_cortex_a15/a55_l1d_cache_refill_wr/,L1-icache-loads,L1-icache-load-misses,armv7_cortex_a15/a55_l2d_cache_rd/,armv7_cortex_a15/a55_l2d_cache_refill_rd/,armv7_cortex_a15/a55_l1d_cache_refill_inner/,armv7_cortex_a15/a55_l1d_cache_refill_outer/,armv7_cortex_a15/a55_l1d_cache_refill_prefetch/,armv7_cortex_a15/a55_l2d_cache_refill_prefetch/,armv7_cortex_a15/a5x_stall_frontend_cache/,armv7_cortex_a15/a5x_stall_frontend_tlb/,armv7_cortex_a15/a5x_stall_backend_ld/,armv7_cortex_a15/a55_stall_backend_ld_cache/,armv7_cortex_a15/a55_stall_backend_ld_tlb/,armv7_cortex_a15/a5x_stall_backend_st/,armv7_cortex_a15/a5x_stall_backend_ilock_agu/,armv7_cortex_a15/a5x_stall_backend_ilock_fpu/ ls

a53 arm:
perf stat -e task-clock,context-switches,cpu-migrations,page-faults,instructions,armv7_cortex_a15/ld_retired/,armv7_cortex_a15/st_retired/,cycles,branch-loads,branch-load-misses,armv7_cortex_a15/l1d_cache/,armv7_cortex_a15/l1d_cache_refill/,L1-icache-loads,L1-icache-load-misses,armv7_cortex_a15/a5x_l2d_cache/,armv7_cortex_a15/a5x_l2d_cache_refill/,armv7_cortex_a15/a53_cache_refill_prefetch/,armv7_cortex_a15/a53_scu_snooped/,armv7_cortex_a15/a5x_stall_frontend_cache/,armv7_cortex_a15/a5x_stall_frontend_tlb/,armv7_cortex_a15/a5x_stall_backend_ld/,armv7_cortex_a15/a5x_stall_backend_st/,armv7_cortex_a15/a5x_stall_backend_ilock_agu/,armv7_cortex_a15/a5x_stall_backend_ilock_fpu/ ls

a73 arm: (w400 bind to a73 cpu2)
perf stat -e task-clock,context-switches,cpu-migrations,page-faults,instructions,cycles,branch-loads,branch-load-misses,armv7_cortex_a15/l1d_cache/,armv7_cortex_a15/l1d_cache_refill/,armv7_cortex_a15/a55_l1d_cache_rd/,armv7_cortex_a15/a55_l1d_cache_wr/,armv7_cortex_a15/a5x_l2d_cache/,armv7_cortex_a15/a5x_l2d_cache_refill/,armv7_cortex_a15/a55_l2d_cache_rd/,armv7_cortex_a15/a55_l2d_cache_wr/ busybox taskset 4 ls

Verify:
ac200/u200/w400

Change-Id: I7f11e1480c3c27d016b011d2a84c33e824f69b08
Signed-off-by: Hanjie Lin <hanjie.lin@amlogic.com>
4 years agoatv_demod: optimize pal-i ring [1/1]
nengwen.chen [Thu, 29 Aug 2019 09:20:55 +0000 (17:20 +0800)]
atv_demod: optimize pal-i ring [1/1]

PD#TV-8006

Problem:
1.optimize pal-i ring.

Solution:
1.optimize pal-i ring.
2.add pal-i peak filter.

Verify:
Verified by x301.

Change-Id: Id935a24712216aafc20ac150c2560dd998a76f56
Signed-off-by: nengwen.chen <nengwen.chen@amlogic.com>
4 years agovlock: log level less than 3, enc mode not work properly [1/1]
Yong Qin [Mon, 16 Sep 2019 08:30:42 +0000 (16:30 +0800)]
vlock: log level less than 3, enc mode not work properly [1/1]

PD#TV-10211

Problem:
log level less than 3, the function call flow changed, and
enc mode vlock max line, max pixel varible havn't be initialed.

Solution:
move initial max line/pixel varible in vlock initial function.

Verify:
tl1

Change-Id: Ib36662045e28a911bf1585bf57bc849b1952d6f9
Signed-off-by: Yong Qin <yong.qin@amlogic.com>
4 years agoCPUFREQ: use gp1 pll for cpufreq. [1/1]
Hong Guo [Thu, 20 Dec 2018 07:24:23 +0000 (15:24 +0800)]
CPUFREQ: use gp1 pll for cpufreq. [1/1]

PD#SWPL-3826

Problem:
use gp1 pll for cpufreq.

Solution:
use gp1 pll for cpufreq.

Verify:
x301_tl1

Change-Id: Iefb6d31ec40ba304f41024e4b7adceec881d043e
Signed-off-by: Hong Guo <hong.guo@amlogic.com>
4 years agousb: TOSHIBA Disk Can't Be Recognized on the Port of USB 2.0 [1/1]
he.he [Tue, 10 Sep 2019 02:48:17 +0000 (22:48 -0400)]
usb: TOSHIBA Disk Can't Be Recognized on the Port of USB 2.0 [1/1]

PD#SWPL-14156

Problem:
TOSHIBA Disk can't be recognized on the Port of USB 2.0 and since then
any disk can't be recognized.This is because
that the CCS flag of the PORTSC is still set and if write 0
to 0x38 of usb phy register the CCS will change to
0 and so that other disks can be recognized.

Solution:
when the enumeration fails, call set_usb_phy_host_tuning.

Verify:
test pass on u212

Change-Id: I507f269afc825de75c7dcce5f79c9c1dd7793d84
Signed-off-by: he.he <he.he@amlogic.com>
4 years agopower: optimize the power consumption of vad wakeup [1/1]
zhiqiang liang [Fri, 10 May 2019 05:34:49 +0000 (13:34 +0800)]
power: optimize the power consumption of vad wakeup [1/1]

PD#SWPL-3826

Problem:
optimize the power consumption of tl1 with vad wakeup

Solution:
optimize the power consumption when enter freeze mode
switch the clk81 to 24M
cpu and dsu clk switch to gp1 pll,frequency is 600M
closed the fixed pll
closed the vddio_3.3V

Verify:
TL1 revB

Change-Id: I39170bb8efb91b126b6a15faad3cefee19b13089
Signed-off-by: zhiqiang liang <zhiqiang.liang@amlogic.com>
Signed-off-by: Jian Hu <jian.hu@amlogic.com>
Signed-off-by: Hong Guo <hong.guo@amlogic.com>
4 years agoclk: add protection mechanism for all plls [1/1]
Jian Hu [Wed, 11 Sep 2019 06:05:35 +0000 (14:05 +0800)]
clk: add protection mechanism for all plls [1/1]

PD#SWPL-14024

Problem:
add protection mechanism for all plls

Solution:
add protection mechanism for all plls

Verify:
test passed on
1)axg
2)g12a
3)txl
4)txlx

Change-Id: I6f29026422f73c690854d5ffa292857d14922d22
Signed-off-by: Jian Hu <jian.hu@amlogic.com>
4 years agodv: display green when playing sdr video on sdr tv [1/1]
yao liu [Mon, 16 Sep 2019 08:00:45 +0000 (04:00 -0400)]
dv: display green when playing sdr video on sdr tv [1/1]

PD#SWPL-14115

Problem:
DV is bypass for SDR->SDR case on sm1, but
bypass failed due to dolby_vision_status is
not sync with uboot.

Solution:
Update dolby_vision_status after startup.

Verify:
passed on sm1

Change-Id: I8025b0982ce5bfb2afc5ece1b5f14be54f3a80d6
Signed-off-by: yao liu <yao.liu@amlogic.com>
4 years agodefendkey: AXG: support secure upgrade check [3/3]
Zhongfu Luo [Mon, 9 Sep 2019 03:29:32 +0000 (11:29 +0800)]
defendkey: AXG: support secure upgrade check [3/3]

PD#SH-1185

Problem:
AXG need to support secure upgrade check

Solution:
1.add defendkey support in AXG dts
2.add defendkey config in smarthome defconfig

Verify:
AXG skt board verify pass

Change-Id: I1d173d4e7ce8d47c486bf8df4f6b7e417809c424
Signed-off-by: Zhongfu Luo <zhongfu.luo@amlogic.com>
4 years agoMTD: Coverity defect cleanup: MTD [1/1]
xianjun.liu [Mon, 16 Sep 2019 07:56:11 +0000 (15:56 +0800)]
MTD: Coverity defect cleanup: MTD [1/1]

PD#SWPL-13991

Problem:
Out-of-bounds read in get_free_node

Solution:
fix the issue

Verify:
AXG400

Change-Id: I6e41caf3b3118d524218d6023fb51df692865cba
Signed-off-by: xianjun.liu <xianjun.liu@amlogic.com>
4 years agoeth: clk invert bit compatible for 100M when exphy [1/1]
qi duan [Mon, 16 Sep 2019 06:45:48 +0000 (02:45 -0400)]
eth: clk invert bit compatible for 100M when exphy [1/1]

PD#SWPL-14033

Problem:
if clk invert bit set, 100M will not connect

Solution:
don't invert clk when connect 100M network

Verify:
w400

Change-Id: I4c3acbcc0d05fc2c99b5a982461ab3d5ff83fe26
Signed-off-by: qi duan <qi.duan@amlogic.com>
4 years agoETH: add eth reset bit when resume. [1/1]
qi duan [Wed, 4 Sep 2019 09:34:59 +0000 (05:34 -0400)]
ETH: add eth reset bit when resume. [1/1]

PD#SWPL-12602

Problem:
omni phy can not connect network probably
after long stress suspend test
for gxl/txl/txlx

Solution:
In suspend/resume sequeue, add eth reset

Verify:
verify on p212/r311

Change-Id: I4b6ab34eb2eae40533f4a33db8fb40a00f5b3d51
Signed-off-by: qi duan <qi.duan@amlogic.com>
4 years agoaudio: VAD use HIFI PLL [1/1]
jian.zhou [Wed, 11 Sep 2019 07:59:12 +0000 (03:59 -0400)]
audio: VAD use HIFI PLL [1/1]

PD#SWPL-12746

Problem:
VAD does not use HIFI PLL, it will effect vad wakup

Solution:
VAD use HIFI PLL

Verify:
T962X2_X301

Change-Id: Iad13661c4ec3495130f485447f3c8b034bee9ce2
Signed-off-by: jian.zhou <jian.zhou@amlogic.com>
4 years agousb: coverity fix [1/1]
Yue Wang [Thu, 12 Sep 2019 05:39:48 +0000 (13:39 +0800)]
usb: coverity fix [1/1]

PD#SWPL-14009

Problem:
Coverity defect cleanup - usb.

Solution:
Coverity defect cleanup - usb.

Verify:
sm1

Change-Id: Ib194a82e54f819e4ab59eab944b446683c894f15
Signed-off-by: Yue Wang <yue.wang@amlogic.com>
4 years agosdio: optimize mmc tuning operation [1/1]
Nan Li [Mon, 9 Sep 2019 10:09:08 +0000 (18:09 +0800)]
sdio: optimize mmc tuning operation [1/1]

PD#SWPL-13914

Problem:
G12A TDMA affects the tuning, make tuning process
+/- dly is useless.

Solution:
add pdata save val operation.

Verify:
G12A_u212

Change-Id: I204dd989fae0d400b14725df068378be0262b1cc
Signed-off-by: Nan Li <nan.li@amlogic.com>
4 years agoamvecm: detect out of range signal [1/1]
Xihai Zhu [Thu, 12 Sep 2019 10:05:13 +0000 (06:05 -0400)]
amvecm: detect out of range signal [1/1]

PD#SWPL-14102

Problem:
need to detect out of range signal
correctly

Solution:
refine the checking

Verify:
tl1

Change-Id: Ia2e47ca3a427e4f66a5464997aeb8dd766b4f7ff
Signed-off-by: Xihai Zhu <xihai.zhu@amlogic.com>
4 years agohdmirx: add control for hdcp hpd [1/1]
Hang Cheng [Wed, 11 Sep 2019 08:15:05 +0000 (16:15 +0800)]
hdmirx: add control for hdcp hpd [1/1]

PD#SWPL-14041

Problem:
sometimes after hpcp_hpd 0->1, ESM doesn't
respond to AKE_INIT, it will lead to flash
red screen on TCL DCLS-HG50

Solution:
add control for hpcp_hpd, keep it high by default

Verify:
X301

Change-Id: I8f8e5c880400084d6ed252667460c4e397b9909d
Signed-off-by: Hang Cheng <hang.cheng@amlogic.com>
4 years agoemmc: run hs400 200M on tm2 [1/1]
Ruixuan Li [Fri, 23 Aug 2019 01:06:45 +0000 (09:06 +0800)]
emmc: run hs400 200M on tm2 [1/1]

PD#SWPL-12796

Problem:
tm2 is run hs200 200M now

Solution:
modify dts

Verify:
passed on tm2_t962e2_ab311

Change-Id: If834e822aefe3c9b469ff69ce58672a94caaabb4
Signed-off-by: Ruixuan Li <ruixuan.li@amlogic.com>
4 years agoamvecm: fix failure for pattern detect [1/1]
Xihai Zhu [Thu, 12 Sep 2019 02:34:11 +0000 (22:34 -0400)]
amvecm: fix failure for pattern detect [1/1]

PD#SWPL-14069

Problem:
special pattern is detected as colorbar

Solution:
tune the detection parameter

Verify:
tl1

Change-Id: I9079efe222888e6d9e2955c0cfd4f2d7ca0f6efa
Signed-off-by: Xihai Zhu <xihai.zhu@amlogic.com>
4 years agobl40: g12a/sm1: add m4 bringup path [1/3]
Shunzhou Jiang [Tue, 20 Aug 2019 12:09:13 +0000 (20:09 +0800)]
bl40: g12a/sm1: add m4 bringup path [1/3]

PD#SWPL-12964

Problem:
bring up m4

Solution:
add kernel driver

Verify:
U209+S905D3

Change-Id: Iaa57f24c919af013581b8e3faffb0b57f5af10ed
Signed-off-by: Shunzhou Jiang <shunzhou.jiang@amlogic.com>
4 years agotvafe: add 0x87, 0x11b support in pq trust list [1/1]
Evoke Zhang [Wed, 4 Sep 2019 06:50:58 +0000 (14:50 +0800)]
tvafe: add 0x87, 0x11b support in pq trust list [1/1]

PD#SWPL-13775

Problem:
pq need update 0x87, 0x11b reg

Solution:
1.add 0x87, 0x11b support in pq trust list
2.update 0x87,0xfa,0x12e reg init setting for tl1
3.add dump regs for debug

Verify:
x301

Change-Id: I532d164f0fb7b01e817d19ece1498b970d40193e
Signed-off-by: Evoke Zhang <evoke.zhang@amlogic.com>
4 years agodts: S905Y2 can not switch adb/usb. [1/1]
Luan Yuan [Thu, 20 Jun 2019 02:07:11 +0000 (10:07 +0800)]
dts: S905Y2 can not switch adb/usb. [1/1]

PD#SWPL-13103

Problem:
S905Y2 can not use adb.

Solution:
config dts, and switch the state in uboot.
setenv otg_device 0 or 1.

Verify:
verify by faraday.

Change-Id: If4cda761e346fb63d6918db74bc03f23cdcb3a1b
Signed-off-by: Luan Yuan <luan.yuan@amlogic.com>
4 years agoosd: adjust threshold by using active_begin_line [2/2]
Cao Jian [Tue, 10 Sep 2019 04:39:41 +0000 (12:39 +0800)]
osd: adjust threshold by using active_begin_line [2/2]

PD#SWPL-11936

Problem:
set screen position frequently
frame flashes white stripes

Solution:
modify threshold for updating all registers
on vsync coming

Verify:
Verfied on u212

Change-Id: Iac1ec8b5ec36809d5f5ffe2fe8e79c182e9c126b
Signed-off-by: Cao Jian <jian.cao@amlogic.com>
4 years agoamvecm: minor fix failure for color bar detect [1/1]
Xihai Zhu [Wed, 11 Sep 2019 03:23:37 +0000 (23:23 -0400)]
amvecm: minor fix failure for color bar detect [1/1]

PD#SWPL-14019

Problem:
colorbar is not detected

Solution:
tune the detection parameter

Verify:
tl1

Change-Id: I0bdbe8a7fa5d55a7a5879959439dc87a51d86034
Signed-off-by: Xihai Zhu <xihai.zhu@amlogic.com>
4 years agohdr: add hdr tone mapping ioctrol [1/1]
MingLiang Dong [Tue, 10 Sep 2019 05:51:46 +0000 (01:51 -0400)]
hdr: add hdr tone mapping ioctrol [1/1]

PD#SWPL-13948

Problem:
customer want to set hdr tone mapping curve themself,
we provide hdr interface for them

Solution:
add hdr iocontrol interface

Verify:
verify on TL1

Change-Id: I9b7d5b33e0a72c6d1ca1fca2ebffe2a3c7e460aa
Signed-off-by: MingLiang Dong <mingliang.dong@amlogic.com>
4 years agosuspend: gxm can not enter suspend state issue [1/2]
Hong Guo [Tue, 10 Sep 2019 05:40:39 +0000 (13:40 +0800)]
suspend: gxm can not enter suspend state issue [1/2]

PD#SWPL-13523

Problem:
gxm can't enter suspend

Solution:
modify the system sleep parameter

Verify:
gxm_q201

Change-Id: I697f03170a56925aa0fdb2160340cc0d480623a8
Signed-off-by: Hong Guo <hong.guo@amlogic.com>
4 years agovdin: System panic when calling stop_tvin_service twice continuously [1/1]
zhiwei.yuan [Mon, 9 Sep 2019 02:39:59 +0000 (10:39 +0800)]
vdin: System panic when calling stop_tvin_service twice continuously [1/1]

PD#SWPL-13880

Problem:
free_irq was called twice continuously while ponter is NULL at 2nd time.

Solution:
use mutex to prevent reentry

Verify:
verified by t962x2_x301

Change-Id: I8032d15de0a2fe5a1ab30b70af0e342d0aa3ac40
Signed-off-by: zhiwei.yuan <zhiwei.yuan@amlogic.com>
4 years agodeinterlace: clear KASAN warning [1/1]
Jihong Sui [Wed, 4 Sep 2019 06:41:40 +0000 (14:41 +0800)]
deinterlace: clear KASAN warning [1/1]

PD#SWPL-13378

Problem:
BUG: KASAN: use-after-free in di_task_handle+0x1dc/0x790

Solution:
add judgement before use

Verify:
u212

Change-Id: I6281257997239fa9adbe215ca31ef7d760c9302c
Signed-off-by: Jihong Sui <jihong.sui@amlogic.com>
4 years agoclk: tm2: fix pcie pll lock failed [1/1]
Jian Hu [Fri, 6 Sep 2019 11:47:02 +0000 (19:47 +0800)]
clk: tm2: fix pcie pll lock failed [1/1]

PD#SWPL-11934

Problem:
pcie pll lock failed some times

Solution:
1.add retry mechanism when pcie lock failed
2.add protection mechanism for all plls

Verify:
test passed on tm2 ab311

Change-Id: Id34e87d84e2bc2368c074556f500f8af1f2a4088
Signed-off-by: Jian Hu <jian.hu@amlogic.com>
4 years agodeinterlace: add retry for pre timeout [1/1]
Jihong Sui [Tue, 3 Sep 2019 07:21:04 +0000 (15:21 +0800)]
deinterlace: add retry for pre timeout [1/1]

PD#SWPL-13664

Problem:
when open some special UI app, DI will have a lot of timeout,
this cause display  abnormal.

Solution:
add retry after timeout;

Verify:
tl1

Change-Id: I3316252577bad218256651ebbc6d4fd8b25acb12
Signed-off-by: Jihong Sui <jihong.sui@amlogic.com>
4 years agoamvecm: minor fix for pattern detection function [1/1]
Xihai Zhu [Tue, 10 Sep 2019 01:55:27 +0000 (21:55 -0400)]
amvecm: minor fix for pattern detection function [1/1]

PD#SWPL-13075

Problem:
use the correct config option

Solution:
fix the wrong config option

Verify:
tl1

Change-Id: I87d3ba28c32fa77e12143522a4a342fdfe144af5
Signed-off-by: Xihai Zhu <xihai.zhu@amlogic.com>
4 years agodv: HDR Luminance exceeded recommendation range [1/1]
Wencai You [Thu, 5 Sep 2019 14:44:36 +0000 (22:44 +0800)]
dv: HDR Luminance exceeded recommendation range [1/1]

PD#SWPL-13766

Problem:
HDR Luminance 285.5 exceeded recommendation range 300~400

Solution:
increase graphic target max luminuance for HDR output

Verify:
Verified on u212

Change-Id: Ib873f18843a1a93149d0454d67345071e512893b
Signed-off-by: Wencai You <wencai.you@amlogic.com>
4 years agoamvecm: add pattern detection function [1/1]
Xihai Zhu [Fri, 23 Aug 2019 12:22:48 +0000 (08:22 -0400)]
amvecm: add pattern detection function [1/1]

PD#SWPL-13075

Problem:
some pattern need special handling

Solution:
per VLSI'e suggestion, add pattern
detection to try to detect special pattern

Verify:
tl1

Change-Id: I545b6e8c1b4a11fca927be46f16caeeb2cbe5327
Signed-off-by: Xihai Zhu <xihai.zhu@amlogic.com>
4 years agoaudio: mclk pad0 doesn't output clk [1/1]
Shuai Li [Fri, 6 Sep 2019 08:26:02 +0000 (16:26 +0800)]
audio: mclk pad0 doesn't output clk [1/1]

PD#OTT-5603

Problem:
Configurate GPIO_AO 9 as mclk_0,it doesn't work.

Solution:
From SM1, the mclk pad register is changed.
Using standard clk tree to make it compitable.

Verify:
TM2, SM1.

Change-Id: I8d53296297536c90768495232570f33fc89db131
Signed-off-by: Shuai Li <shuai.li@amlogic.com>
4 years agotvafe: update 0x18b setting for av pali for tl1 [1/1]
Evoke Zhang [Tue, 3 Sep 2019 03:00:32 +0000 (11:00 +0800)]
tvafe: update 0x18b setting for av pali for tl1 [1/1]

PD#TV-8586

Problem:
av pali need update 0x18b setting

Solution:
update 0x18b setting for av pali for tl1

Verify:
x301

Change-Id: I64bddac5c4196110b46ebfbd7a89ee97095a7f82
Signed-off-by: Evoke Zhang <evoke.zhang@amlogic.com>
4 years agodeinterlace: add condition for switch to EI in de_post_process [1/1]
Jihong Sui [Wed, 4 Sep 2019 04:16:31 +0000 (12:16 +0800)]
deinterlace: add condition for switch to EI in de_post_process [1/1]

PD#SWPL-12002

Problem:
pause and plug out/in hdmi tx, display abnormal

Solution:
add condition for switch to EI in de_post_process
ref to IPTV's project

Verify:
G12A

Change-Id: I6230464c308660c62199aa24ad5843e7c7bd070d
Signed-off-by: Jihong Sui <jihong.sui@amlogic.com>
4 years agovdin: HDMI source occurred tortured picture and had sound [1/1]
zhiwei.yuan [Fri, 30 Aug 2019 08:24:59 +0000 (16:24 +0800)]
vdin: HDMI source occurred tortured picture and had sound [1/1]

PD#SWPL-13676

Problem:
vdin status is confused when enter hdmi

Solution:
reset afifo every time enter the channel

Verify:
verified by t962x2_x301

Change-Id: I9ec78bebec4d2d5e312de82942c29a940fc322ea
Signed-off-by: zhiwei.yuan <zhiwei.yuan@amlogic.com>
4 years agodv: display abnormal after hotplug hdmi [1/1]
yao liu [Tue, 3 Sep 2019 09:44:18 +0000 (05:44 -0400)]
dv: display abnormal after hotplug hdmi [1/1]

PD#SWPL-13367

Problem:
HDMI hotplugged during video pause,
system control first set disable_video 1,
then DV core turn on due to sink changed,
then OMX sets disable video 2. DV core 1
is disabled after video_onoff_state is set to OFF.

Solution:
Monitor video status, parser and toggle once
to enable core1 when video off->on.

Verify:
SM1

Change-Id: Ied6f1f05ed1592f9917c093b5d567904a3bdc61c
Signed-off-by: yao liu <yao.liu@amlogic.com>
4 years agoatv_demod: audio: fix audio source contorl for atv demod [1/1]
nengwen.chen [Fri, 30 Aug 2019 11:41:40 +0000 (19:41 +0800)]
atv_demod: audio: fix audio source contorl for atv demod [1/1]

PD#TV-9484

Problem:
1.fix audio source contorl for atv demod.

Solution:
1.fix audio source contorl for atv demod.
2.increase the output power of ATV audio.

Verify:
Verified by r311.

Change-Id: I1332dcd3b968790e3227170799ddb019578fe431
Signed-off-by: nengwen.chen <nengwen.chen@amlogic.com>
4 years agohdmirx: add option for scdc enable [1/1]
Hang Cheng [Thu, 5 Sep 2019 07:57:11 +0000 (15:57 +0800)]
hdmirx: add option for scdc enable [1/1]

PD#SWPL-13667

Problem:
some devices may forcely send signal above 3.4G
even if TV announce hdmi1.4 edid, such as apple
TV box, Samsung UBD-K8500 dvd; and for QD6508 box
of TCL, it will not send signal out if scdc NAK

Solution:
add a scdc force enable option to cover this
issue. by default, scdc is enabled or not
accroding to current edid version

Verify:
X301

Change-Id: Ibdacbd3bb1edbdcb99637252530d19510fbcfb1d
Signed-off-by: Hang Cheng <hang.cheng@amlogic.com>
4 years agohdmirx: optimize esm clock init sequence [1/1]
yicheng shen [Thu, 5 Sep 2019 10:24:31 +0000 (06:24 -0400)]
hdmirx: optimize esm clock init sequence [1/1]

PD#SWPL-13779

Problem:
esm can not work after burning a new key and regenerating new
fw.le as the esm clock was not configured when probe.

Solution:
so we need to configure ESM clock no matter hdcp2.2
is burned or not.

Verify:
None

Change-Id: I793b63ad2f20434b9f8f27ccca7c80dee2990718
Signed-off-by: yicheng shen <yicheng.shen@amlogic.com>
4 years agousb: disable AB311 usb3.0 [1/1]
Yue Wang [Fri, 6 Sep 2019 04:25:09 +0000 (12:25 +0800)]
usb: disable AB311 usb3.0 [1/1]

PD#SWPL-13820

Problem:
disable AB311 usb3.0.

Solution:
disable AB311 usb3.0

Verify:
tm2

Change-Id: Ic69c8ea8e9f31d66f738a019d6b59e2d9a1a51a4
Signed-off-by: Yue Wang <yue.wang@amlogic.com>
4 years agocsc: add vinfo check for csc process [1/1]
Dezhi Kong [Mon, 2 Sep 2019 11:53:09 +0000 (19:53 +0800)]
csc: add vinfo check for csc process [1/1]

PD#SWPL-13491

Problem:
After plugging and unplugging HDMITX,
the panel screen color display is abnormal
for dual display platform.

Solution:
add vinfo->mode check for csc process,
avoid process null and invalid vinfo case.

Verify:
verify by AC202(sm1)

Change-Id: I54c54adcf2a0fc9a02e35b0ef24a720a55a8781a
Signed-off-by: Dezhi Kong <dezhi.kong@amlogic.com>
4 years agoosd: add osd blend reg config check. [1/4]
Dezhi Kong [Wed, 28 Aug 2019 08:11:53 +0000 (16:11 +0800)]
osd: add osd blend reg config check. [1/4]

PD#SWPL-2049

Problem:
osd3 din blend config may be incorrect when viu2 is enable

Solution:
add osd blend reg config check

Verify:
verify by AC202(sm1)

Change-Id: I3d8ff0d247226d4df1386808caba2a21a34f0b10
Signed-off-by: Dezhi Kong <dezhi.kong@amlogic.com>
4 years agousb: CtsVerifier.apk usb device test failed [1/1]
he.he [Thu, 5 Sep 2019 09:21:34 +0000 (05:21 -0400)]
usb: CtsVerifier.apk usb device test failed [1/1]

PD#SWPL-13498

Problem:
The printing may delay the usb_disconnect processing, result to
USB transfer error during reconnecting.

Solution:
Moving the print in proc_setconfig of devio.c .

Verify:
test pass on sm1

Change-Id: I5c45abb2d5d640e2e02dc3e0c08b10ca7a294eeb
Signed-off-by: he.he <he.he@amlogic.com>
4 years agoaudio: make loopback compitable with chips [1/1]
Shuai Li [Fri, 30 Aug 2019 10:38:21 +0000 (18:38 +0800)]
audio: make loopback compitable with chips [1/1]

PD#TV-8363

Problem:
Loopback doesn't work on TM2.
TL1 doesn't support loopback in OE pins.

Solution:
Make it compitable with chips.
Add tdm_lb format and chmasks.

Verify:
TM2 AB311 and TL1 X301.

Change-Id: If878fe75fc87857eae7a44439a451c5b2f494c67
Signed-off-by: Shuai Li <shuai.li@amlogic.com>
4 years agodts: ge2d: correct the ge2d irq number [1/1]
Brian Zhu [Thu, 5 Sep 2019 12:02:49 +0000 (20:02 +0800)]
dts: ge2d: correct the ge2d irq number [1/1]

PD#SWPL-13669

Problem:
Ge2d irq number is wrong on g12a/g12b/sm1.

Solution:
Replace the correct number

Verify:
Verified on u212

Change-Id: Ia3d202dc10cb978033892efb1de251bf5cf1df31
Signed-off-by: Brian Zhu <brian.zhu@amlogic.com>
4 years agodts: add osd logo_reserved [1/1]
Pengcheng Chen [Tue, 3 Sep 2019 09:31:15 +0000 (17:31 +0800)]
dts: add osd logo_reserved [1/1]

PD#SWPL-13646

Problem:
uboot logo flashed

Solution:
add osd logo_reserved

Verify:
test pass on p212

Change-Id: I73d95faffea80c68e8d0a04750d33fd0c821ca44
Signed-off-by: Pengcheng Chen <pengcheng.chen@amlogic.com>
4 years agoaudio: auge: add loopback + vad [1/1]
Xing Wang [Fri, 30 Aug 2019 06:33:50 +0000 (14:33 +0800)]
audio: auge: add loopback + vad [1/1]

PD#TV-8989

Problem:
loopback with datain pdm, no vad to wakeup

Solution:
loopback with pdmin still works when entry freeze mode
vad works in two channel mode, mapping pdm ch0 & ch1 to vad
add channel num to loopback for vad

Verify:
x301

Change-Id: Ied244292bf2a2f668bb5a2216ec6a12964a46663
Signed-off-by: Xing Wang <xing.wang@amlogic.com>
4 years agohdmirx: add repeater14 for TM2 [1/2]
Lei Yang [Mon, 2 Sep 2019 07:40:18 +0000 (15:40 +0800)]
hdmirx: add repeater14 for TM2 [1/2]

PD#SWPL-12502

Problem:
new function

Solution:
add new function of TM2

Verify:
T962E2

Change-Id: Idd5843d39bb9235fe0abdf9aaaca3be6dd2795e7
Signed-off-by: Lei Yang <lei.yang@amlogic.com>
4 years agovpp: sr software flow improvement [1/1]
Pengcheng Chen [Wed, 4 Sep 2019 03:15:32 +0000 (11:15 +0800)]
vpp: sr software flow improvement [1/1]

PD#SWPL-13633

Problem:
sr input size need improvement

Solution:
improvement sr software flow

Verify:
verified by sm1

Change-Id: I10b9dd6d057fc8906ce312576623480aa14ae8a3
Signed-off-by: Pengcheng Chen <pengcheng.chen@amlogic.com>
4 years agoethernet: q201 change to internal phy [1/1]
Zhuo Wang [Tue, 3 Sep 2019 03:33:16 +0000 (11:33 +0800)]
ethernet: q201 change to internal phy [1/1]

PD#SWPL-13557

Problem:
change q201 to internal phy

Solution:
change q201 to internal phy

Verify:
q201

Change-Id: Iae23461edf6169207a5f0468cba8edda8b8a5e75
Signed-off-by: Zhuo Wang <zhuo.wang@amlogic.com>
4 years agobuildroot: Disable lcd-drm in ac200_drm_buildroot dts [1/1]
Blance Tang [Tue, 3 Sep 2019 08:50:50 +0000 (16:50 +0800)]
buildroot: Disable lcd-drm in ac200_drm_buildroot dts [1/1]

PD#SWPL-13623

Problem:
  Wayland-DRM broken due to lcd-drm is enabled

Solution:
  Disable lcd-drm

Verify:
  Local

Change-Id: I2e4c7cded9e6979b97fb652e2d0d824c8af54ef6
Signed-off-by: Blance Tang <guofeng.tang@amlogic.com>
4 years agovdin: TL1 screen is black when switch out hdmi to others [1/1]
zhiwei.yuan [Mon, 2 Sep 2019 06:08:00 +0000 (14:08 +0800)]
vdin: TL1 screen is black when switch out hdmi to others [1/1]

PD#SWPL-13556

Problem:
hdmi signal has changed(color space, hdr etc.) before switch source

Solution:
clear the change flag when stop dec

Verify:
verified by t962x2_x301

Change-Id: I79c6dba9bf69f70850714c5810ae724b5d35e1e3
Signed-off-by: zhiwei.yuan <zhiwei.yuan@amlogic.com>
4 years agowifi: chang the static buf to support ap6356 [2/2]
Rongjun Chen [Wed, 14 Aug 2019 08:57:17 +0000 (16:57 +0800)]
wifi: chang the static buf to support ap6356 [2/2]

PD#SWPL-12561

Problem:
ap6356 open fail

Solution:
update static buf to fix it

Verify:
ampere

Change-Id: Iec415b0dcf46b3e5574bcb3673d5129b4f35c802
Signed-off-by: Rongjun Chen <rongjun.chen@amlogic.com>
4 years agolcd: tcon: add load flash data to update gamma voltage for lcd driver [2/2]
shaochan.liu [Mon, 2 Sep 2019 05:37:06 +0000 (13:37 +0800)]
lcd: tcon: add load flash data to update gamma voltage for lcd driver [2/2]

PD#TV-6676

Problem:
the auto gamma function need load flash data to update gamma voltage
gor lcd driver

Solution:
add load flash data to update gamma voltage

Verify:
t962x2_x301

Change-Id: I80176e4a146fe453c3d3b5919c96b659be1286ea
Signed-off-by: shaochan.liu <shaochan.liu@amlogic.com>
4 years agoionvideo: check and releaes ion_id when fd closed [1/1]
Rico Yang [Tue, 27 Aug 2019 02:17:49 +0000 (22:17 -0400)]
ionvideo: check and releaes ion_id when fd closed [1/1]

PD#SH-726

Problem:
ion_id leak

Solution:
release ion_id when closed

Verify:
verified on w400

Change-Id: Ie72a0fb5f4243d83aa5d7ca6be2c5cfa8844a6b2
Signed-off-by: Rico Yang <wei.yang@amlogic.com>
4 years agolcd: add lcd status for detect VBO LOCKN and VBO HPDN work properly [1/1]
shaochan.liu [Wed, 28 Aug 2019 05:33:16 +0000 (13:33 +0800)]
lcd: add lcd status for detect VBO LOCKN and VBO HPDN work properly [1/1]

PD#TV-9186

Problem:
need provide interfaces for detect VBO LOCKN and VBO HPDN work properly.

Solution:
add lcd status for detect VBO LOCKN and VBO HPDN work properly

Verify:
t962x2_x301

Change-Id: I1f441a42f656205ef2ec15429c883ffc67e60a95
Signed-off-by: shaochan.liu <shaochan.liu@amlogic.com>
4 years agoaudio: Spk_mute has no effect [1/1]
Shuai Li [Mon, 2 Sep 2019 11:10:53 +0000 (19:10 +0800)]
audio: Spk_mute has no effect [1/1]

PD#OTT-6073

Problem:
Spk_mute has no effect.

Solution:
The gpio get function get the wrong name.
After correction, it works good.

Verify:
TM2.

Change-Id: Icf0356ec3238fda6e78e778ebaa812af445ccfd5
Signed-off-by: Shuai Li <shuai.li@amlogic.com>
4 years agovlock: for support double frq out [1/1]
Yong Qin [Mon, 19 Aug 2019 08:29:49 +0000 (16:29 +0800)]
vlock: for support double frq out [1/1]

PD#SWPL-12698

Problem:
Add feature for support input 25Hz, 30Hz

Solution:
Add feature for support input 25Hz, 30Hz

Verify:
tl1

Change-Id: I753547078e26b77edd6e69f452afcd9d49a17063
Signed-off-by: Yong Qin <yong.qin@amlogic.com>
4 years agodts: mbox add video11 and video12 for screencontrol [1/2]
huijie.huang [Thu, 29 Aug 2019 11:08:31 +0000 (19:08 +0800)]
dts: mbox add video11 and video12 for screencontrol [1/2]

PD#SWPL-13022

Problem:
mbox needs to support screencontrol

Solution:
add video11 and video12 node

Verify:
SM1-AC202

Change-Id: I1197fceb6cdc2d220318bbd87281b55dff98a665
Signed-off-by: huijie.huang <huijie.huang@amlogic.com>
4 years agovdin: improve robustness of vdin drvier for reentry case [1/1]
zhiwei.yuan [Fri, 30 Aug 2019 07:04:13 +0000 (15:04 +0800)]
vdin: improve robustness of vdin drvier for reentry case [1/1]

PD#SWPL-13492

Problem:
disable irq cnt don't equal to enable

Solution:
corrent mutex mechanism for vdin driver

Verify:
verified by t962x2_x301

Change-Id: I9d33c8297c9ed4d155233948d1d6bb7dfc6ca4a4
Signed-off-by: zhiwei.yuan <zhiwei.yuan@amlogic.com>
4 years agodts: increase i2c3 clock frequency to 300k [2/2]
Cheng Tong [Wed, 28 Aug 2019 08:35:39 +0000 (16:35 +0800)]
dts: increase i2c3 clock frequency to 300k [2/2]

PD#SWPL-13393

Problem:
demod init cost about 8s

Solution:
increase i2c3 clock frequency

Verify:
on s905x3

Change-Id: I6e69629f088599f2e3b36f36d4da35df4d65034a
Signed-off-by: Cheng Tong <cheng.tong@amlogic.com>
4 years agotvafe: add pq table management [1/1]
Evoke Zhang [Fri, 16 Aug 2019 11:56:21 +0000 (19:56 +0800)]
tvafe: add pq table management [1/1]

PD#SWPL-12842

Problem:
tvafe pq setting logic is not very clear

Solution:
add pq table management for different port and format

Verify:
x301

Change-Id: I9d7ae16166c73a997d9697e61bf77a87ba743d5c
Signed-off-by: Evoke Zhang <evoke.zhang@amlogic.com>
4 years agolcd: add driver for pmu data check [2/2]
shaochan.liu [Fri, 26 Jul 2019 08:07:02 +0000 (16:07 +0800)]
lcd: add driver for pmu data check [2/2]

PD#TV-6928

Problem:
CS602 need pmu data check

Solution:
add i2c_CS602 driver with pmu data check

Verify:
t962x3_ab301

Change-Id: I1d1f33cbb63cb4f3b3fc308d610411091cb2a65d
Signed-off-by: shaochan.liu <shaochan.liu@amlogic.com>
4 years agomm: fix wrong kasan report [1/1]
Tao Zeng [Wed, 28 Aug 2019 07:25:40 +0000 (15:25 +0800)]
mm: fix wrong kasan report [1/1]

PD#SWPL-13281

Problem:
There are 2 types of wrong kasan report after merge change of
save wasted slab.
1, slab-out-of-bounds, which is caused by krealloc set shadow
   memory out-of-range, since tail of page was freed.
2, use-after-free, which is caused by kasan_free_pages called
   after a page freed. Because this function already called in
   free_page, so it marked shadow memory twice.

Solution:
1, make shadow do not out of range if a tail page was freed and
   been realloc again.
2, remove call of kasan_free_pages.

Verify:
X301

Change-Id: Ib5bdcbb618a783920009bb97d112c361888b0d7c
Signed-off-by: Tao Zeng <tao.zeng@amlogic.com>
4 years agodv: enable drop frame for dv [1/1]
yao liu [Mon, 26 Aug 2019 13:58:21 +0000 (09:58 -0400)]
dv: enable drop frame for dv [1/1]

PD#SWPL-13115

Problem:
Apk drop lots of frames before render
the first frame, in this case, omx_run
is false and no frames will render.
Decoder doesn't have free output buffer.

Solution:
Drop dv frames in video sync before render
the first frame if app want to drop.

Verify:
Verified on U212

Change-Id: I463619f658d7f78ad8d513e17ca78482e17b3a4e
Signed-off-by: yao liu <yao.liu@amlogic.com>
4 years agospdif: fix reboot system crash [1/1]
jiejing.wang [Tue, 27 Aug 2019 08:44:32 +0000 (16:44 +0800)]
spdif: fix reboot system crash [1/1]

PD#SWPL-13288

Problem:
reboot system crash

Solution:
when shutdown don't disable sysclk

Verify:
verify by x301

Change-Id: I46f319aeef5ed92e257d3e75728b1a705d981189
Signed-off-by: jiejing.wang <jiejing.wang@amlogic.com>
4 years agoamvecm: remove tm2 cm curve setting [1/1]
MingLiang Dong [Tue, 27 Aug 2019 07:30:46 +0000 (03:30 -0400)]
amvecm: remove tm2 cm curve setting [1/1]

PD#SWPL-13141

Problem:
The first time the video is played after booting,
the probability flashes a pink screen

Solution:
remove tm2 cm curve setting

Verify:
verify on TM2

Change-Id: I8d99e6ee203fbbb48154ed0aaf101465a0f18cb4
Signed-off-by: MingLiang Dong <mingliang.dong@amlogic.com>
4 years agoamvideo: add drop frame debug interface [1/1]
jintao xu [Mon, 19 Aug 2019 09:27:33 +0000 (17:27 +0800)]
amvideo: add drop frame debug interface [1/1]

PD#TV-9005

Problem:
Statistical pip actual frame dropping

Solution:
add drop frame debug interface

Verify:
AB301

Change-Id: Ibf035691b9d991eee68a274aaba36afa2b1a5c53
Signed-off-by: jintao xu <jintao.xu@amlogic.com>
4 years agoETH: remove release open when resume for amlogic phy. [1/1]
qi duan [Thu, 22 Aug 2019 09:45:15 +0000 (05:45 -0400)]
ETH: remove release open when resume for amlogic phy. [1/1]

PD#SWPL-13132

Problem:
stammac release/open when resume will change the dma addr.
if stmmac_xmit and stmmac_tx_work are running at the same time
it will cause panic

Solution:
remove stmmac_release/open call in stmmac_resume for chip
g12a/g12b/tl1/tm2

Verify:
verify on TL1

Change-Id: I5abf2ccf72c39483bbd1cce7b9e24bf596f30d0f
Signed-off-by: qi duan <qi.duan@amlogic.com>
4 years agohdr: default hdr policy follow source [1/1]
MingLiang Dong [Tue, 27 Aug 2019 06:47:57 +0000 (02:47 -0400)]
hdr: default hdr policy follow source [1/1]

PD#SWPL-11602

Problem:
default hdr follow sink, sdr video color is different from standard sdr

Solution:
default hdr policy follow source,  UI switch follow sink or follow source

Verify:
verify on G12A

Change-Id: Ie668f06d45bb3881ee71ac4580dc3bf8f107dafa
Signed-off-by: MingLiang Dong <mingliang.dong@amlogic.com>
4 years agoETH: do eth reset bit when resume. [1/1]
qi duan [Thu, 15 Aug 2019 07:58:34 +0000 (03:58 -0400)]
ETH: do eth reset bit when resume. [1/1]

PD#SWPL-12780

Problem:
internal phy can not connect network probably
after long stress suspend test

Solution:
In suspend/resume sequeue, add eth reset

Verify:
verify on TL1 and G12b

Change-Id: Id8f6767686f4e4d52774d9ac28dac46549a52d4c
Signed-off-by: qi duan <qi.duan@amlogic.com>
4 years agocamera: fix gc2145 mipi camera mirror [1/1]
Guosong Zhou [Mon, 26 Aug 2019 11:14:35 +0000 (07:14 -0400)]
camera: fix gc2145 mipi camera mirror [1/1]

PD#SWPL-12760

Problem:
camera preview interface left and right invert

Solution:
adjust gc2145 mipi camera mirror register

Verify:
S905D3-AC200

Change-Id: I1789e5d055bf8661e6ec30f67e6e8db4a6fc99f6
Signed-off-by: Guosong Zhou <guosong.zhou@amlogic.com>
4 years agodv: add more condition to reset the control path [1/1]
Brian Zhu [Sat, 24 Aug 2019 16:23:37 +0000 (00:23 +0800)]
dv: add more condition to reset the control path [1/1]

PD#SWPL-11314

Problem:
When playing profile 4, multiple resolution and dual layer dv
streaming, switching non-4k to 4K (DOVI->SDR), need do once
control path reset since the core1 setting is not correctly.

Solution:
Improve the condition to reset control path

Verify:
Verified on AC211

Change-Id: I229a33228377bd9ff7811b4a25e973eeba8af66d
Signed-off-by: Brian Zhu <brian.zhu@amlogic.com>
4 years agodrm: add TL1 drm support [1/1]
Dezhi Kong [Wed, 7 Aug 2019 06:35:07 +0000 (14:35 +0800)]
drm: add TL1 drm support [1/1]

PD#SWPL-7987

Problem:
TL1 DRM support

Solution:
add TL1 DRM support

Verify:
t962x2_x301

Change-Id: Ibc8ff641f42c0a416e80c3a420c1d808e0ad8b26
Signed-off-by: Dezhi Kong <dezhi.kong@amlogic.com>
4 years agovideo: modify the statistics of new frame count [1/1]
Rui Wang [Wed, 21 Aug 2019 11:34:05 +0000 (19:34 +0800)]
video: modify the statistics of new frame count [1/1]

PD#TV-8725

Problem:
STR standby, wake up, takes a long time, takes 5-6s.

Solution:
When the first frame is displayed,
the statistics start new frame count.

Verify:
Verified with X301

Change-Id: Ib318455959fe9688f3c697b1d562388547002877
Signed-off-by: Rui Wang <rui.wang@amlogic.com>
4 years agocvbsout: fix cgms config mistake for NTSC [1/1]
Evoke Zhang [Thu, 15 Aug 2019 10:52:18 +0000 (18:52 +0800)]
cvbsout: fix cgms config mistake for NTSC [1/1]

PD#OTT-5683

Problem:
NTSC cgms signal is incorrect

Solution:
fix cgms config mistake

Verify:
u212

Change-Id: I4a3dce8d6b3439be974a8aea48ca1d445feee25b
Signed-off-by: Evoke Zhang <evoke.zhang@amlogic.com>
4 years agodeinterlace: set post phase to 8 when crop left odd [2/2]
Jihong Sui [Fri, 23 Aug 2019 09:24:24 +0000 (17:24 +0800)]
deinterlace: set post phase to 8 when crop left odd [2/2]

PD#SWPL-13223

Problem:
there is a white line on left when crop left is odd

Solution:
set post mif phase to 8;

Verify:
TL1

Change-Id: Ic39e15f5c1d07e756ecc4909366af35d1472dc29
Signed-off-by: Jihong Sui <jihong.sui@amlogic.com>
4 years agovpp: set vd mif chroma init hphase to 8 when h crop start is odd [1/2]
Pengcheng Chen [Fri, 23 Aug 2019 05:27:25 +0000 (13:27 +0800)]
vpp: set vd mif chroma init hphase to 8 when h crop start is odd [1/2]

PD#SWPL-13223

Problem:
when crop left is odd, the video has white edge

Solution:
if vframe not processed by di,
set vd mif chroma init hphase to 8 when h crop start is odd

Verify:
verify on T972

Change-Id: Ica57503e6eebd57972129513304ae39b445ccf77
Signed-off-by: Pengcheng Chen <pengcheng.chen@amlogic.com>
4 years agodrm: merge commit related to gamma [1/1]
Dezhi Kong [Thu, 1 Aug 2019 11:07:18 +0000 (19:07 +0800)]
drm: merge commit related to gamma [1/1]

PD#SWPL-11059

Problem:
gamma setting in DRM

Solution:
merge commit related to gamma

Author: Ao Xu <ao.xu@amlogic.com>
Date:   Tue Oct 30 19:18:21 2018 +0800

    drm: add meson private property gamma_lut

    When setting CTM, gamma is also set again.
    Setting gamma frequently will lead to visual glitches.
    Add a private value to record whether
    gamma_lut blob is changed.

    Bug: b/113682067
    Test: Ran on device and changed gamma to verify there are no glitches

Author: Fergus Simpson <afergs@google.com>
Date:   Fri Aug 10 13:18:36 2018 -0700

    [Estelle] Enable top/bottom color clamping

    Modifies amvecm's color clipping to allow either the lower or upper
    limit to be set. This sets clipping registers that hold the top and
    bottom 10-bit clipping values for each color channel.

    This does not cause the artifacts that we've been seeing while trying
    enable the gamma tables.

    Usage (set a clip of 32/255):
    echo 20080020 > /sys/class/amvecm/color_bottom

    Bug: 109942195
    Test: Flashed to device and tested with a internal changes that use the
          registers.

Author: Frank Chen <frank.chen@amlogic.com>
Date:   Wed Aug 8 15:21:17 2018 +0800

    remove gamma_enable in am_meson_crtc_create

Verify:
verify by u200

Change-Id: I4221b3b4671516e7afd4dea14ce3cd71b4b66433
Signed-off-by: Dezhi Kong <dezhi.kong@amlogic.com>
4 years agodtv_demod: tl1 dtmb Suppress 0dB echo capability mode 5 test failed [1/1]
zhiwei.yuan [Wed, 14 Aug 2019 09:20:32 +0000 (17:20 +0800)]
dtv_demod: tl1 dtmb Suppress 0dB echo capability mode 5 test failed [1/1]

PD#SWPL-13072

Problem:
coefficient is not match 24M clk

Solution:
setting 24M clk coefficients

Verify:
verified by t962x2_x301

Change-Id: Ia8fc41f7aa3a9c99619ffae017c80056423c230e
Signed-off-by: zhiwei.yuan <zhiwei.yuan@amlogic.com>
4 years agohdmirx: optimize for hdcp22 [1/1]
Hang Cheng [Thu, 22 Aug 2019 09:29:49 +0000 (17:29 +0800)]
hdmirx: optimize for hdcp22 [1/1]

PD#SWPL-13130

Problem:
on LG UBK80-N DVD, hdcp22 auth passed before esm reset,
auth status will be reset, result in black screen

Solution:
delay hdcp22 auth to after esm reset

Verify:
TXLX

Change-Id: I4e7fe60cf3117712eea5f8b1eec65d544b557a48
Signed-off-by: Hang Cheng <hang.cheng@amlogic.com>
4 years agodts: tvafe: update cutwindow for tl1 [1/1]
Evoke Zhang [Mon, 3 Jun 2019 03:28:28 +0000 (11:28 +0800)]
dts: tvafe: update cutwindow for tl1 [1/1]

PD#SWPL-8866

Problem:
atv line freq adjust is not qualified

Solution:
update cutwindow

Verify:
x301

Change-Id: Iaeaa2fbf27db22ad17ef2700e70f7af424a2539a
Signed-off-by: Evoke Zhang <evoke.zhang@amlogic.com>
4 years agohdmitx: disable clk when vout disable hdmitx [1/1]
Evoke Zhang [Mon, 19 Aug 2019 07:32:09 +0000 (15:32 +0800)]
hdmitx: disable clk when vout disable hdmitx [1/1]

PD#SWPL-12382

Problem:
active hdmitx clk will cause cvbsout clk cleared by bl30 auto limitation

Solution:
disable hdmitx clk when vout disable hdmitx

Verify:
p281

Change-Id: Ie9da30173d682901e9160a0db9c775c204a770f9
Signed-off-by: Evoke Zhang <evoke.zhang@amlogic.com>
4 years agovdin: XGIMI,keytone,Wake up after STR stb,screen is always black [1/1]
zhiwei.yuan [Tue, 20 Aug 2019 09:02:52 +0000 (17:02 +0800)]
vdin: XGIMI,keytone,Wake up after STR stb,screen is always black [1/1]

PD#SWPL-12972

Problem:
vdin regs has been set to default when entering suspend.

Solution:
don't set regs since upper layer will not start again after resume.

Verify:
verified by t962x2_x301

Change-Id: Ic1042e0b1a9ba4482fe79c51606e366f60e31f59
Signed-off-by: zhiwei.yuan <zhiwei.yuan@amlogic.com>
4 years agovdin: vdin pixel probe [1/1]
Yong Qin [Thu, 22 Aug 2019 07:34:41 +0000 (15:34 +0800)]
vdin: vdin pixel probe [1/1]

PD#SWPL-13123

Problem:
add vdin pixel proble function

Solution:
1.matrix sel
2.post select
3.pixel proble

Verify:
TL1

Change-Id: I56f8898e92fee71662952481f06ed32e77b396ce
Signed-off-by: Yong Qin <yong.qin@amlogic.com>
4 years agodv: update el vf correctly [1/1]
Brian Zhu [Sat, 24 Aug 2019 14:05:11 +0000 (22:05 +0800)]
dv: update el vf correctly [1/1]

PD#SWPL-12849

Problem:
Update meta and el function was called incorrectly. It
will cause the BL and EL mismatch.

Solution:
Correct the calling sequence to get correct EL frame

Verify:
Verified by AC211

Change-Id: I6c9f0221a9facd361fcd18dcda55cc3967593c1c
Signed-off-by: Brian Zhu <brian.zhu@amlogic.com>
4 years agovpp: remove line int rdma operation for g12b revb [1/1]
Brian Zhu [Fri, 23 Aug 2019 08:18:18 +0000 (16:18 +0800)]
vpp: remove line int rdma operation for g12b revb [1/1]

PD#SWPL-9266

Problem:
Using line int rdma will randomly cause dv/hdr register setting
incompleted during one vsync.

Solution:
Disable line int rdma operation. Always enable dv/hdr core
for osd.

Verify:
Verified on galilei revb

Change-Id: I8622896ab0432ef3d9db843aa5ab6d06168aad2a
Signed-off-by: Brian Zhu <brian.zhu@amlogic.com>
4 years agousb: detect stop endpoint race using pending timer instead of counter. [1/1]
Yue Wang [Fri, 23 Aug 2019 07:19:27 +0000 (15:19 +0800)]
usb: detect stop endpoint race using pending timer instead of counter. [1/1]

PD#SWPL-13177

Problem:
stop endpoint race

Solution:
A counter was used to find out if the stop endpoint completion raced with
the stop endpoint timeout timer. This was needed in case the stop ep
completion failed to delete the timer as it was running on anoter cpu.

The EP_STOP_CMD_PENDING flag was not enough as a new stop endpoint command
may be queued between the command completion and timeout function, which
would set the flag back.

Instead of the separate counter that was used we can detect the race by
checking both the STOP_EP_PENDING flag and timer_pending in the timeout
function.

Verify:
franklin

Change-Id: Ie958ffd530a6bd176d0cf451894a5bd4dece38da
Signed-off-by: Yue Wang <yue.wang@amlogic.com>
4 years agovpp: enable sr function when DV enable with non-cert mode [1/1]
Brian Zhu [Thu, 22 Aug 2019 13:27:26 +0000 (21:27 +0800)]
vpp: enable sr function when DV enable with non-cert mode [1/1]

PD#SWPL-12722

Problem:
Previously, disabled the SR function when DV on. Since we want
to pass the dv certification without any external flag setting.
But it will affect the PQ function in SR after g12a.

Solution:
Just enable SR function under DV on. Only disable it under
certification mode.

Verify:
Verified on u212

Change-Id: I01bb8cad3fd48246f5af884f84dcc280f85908a1
Signed-off-by: Brian Zhu <brian.zhu@amlogic.com>
4 years agoemmc: run hs400 200M on sm1 [1/1]
Ruixuan Li [Thu, 8 Aug 2019 02:08:32 +0000 (10:08 +0800)]
emmc: run hs400 200M on sm1 [1/1]

PD#SWPL-12424

Problem:
run hs400 166M on sm1 now

Solution:
modify dts

Verify:
passed on sm1_ac200

Change-Id: I28f5f8da3481c9f2a19e27bc8e430a3379ec6b2a
Signed-off-by: Ruixuan Li <ruixuan.li@amlogic.com>
4 years agodts: ac214 add tunner DVB-S2+ISDB-T:AV2018+CXD22856+R836 [1/3]
Gongwei Chen [Tue, 20 Aug 2019 07:38:53 +0000 (15:38 +0800)]
dts: ac214 add tunner DVB-S2+ISDB-T:AV2018+CXD22856+R836 [1/3]

PD#SWPL-12874

Problem:
ac214 add tunner DVB-S2+ISDB-T:AV2018+CXD22856+R836

Solution:
ac214 add tunner DVB-S2+ISDB-T:AV2018+CXD22856+R836

Verify:
Verify by Android P ac214

Change-Id: If7cd5f35b12b44a2080ff0c9d1e3d90d5d3d96a9
Signed-off-by: GongWei Chen <gongwei.chen@amlogic.com>
4 years agospdif: fix standby power consumption is too high [1/1]
jiejing.wang [Tue, 23 Jul 2019 08:16:51 +0000 (16:16 +0800)]
spdif: fix standby power consumption is too high [1/1]

PD#SWPL-12461

Problem:
standby power consumption is too high

Solution:
1.when standby set spdif pin low
2.when standby set GPIOAO_2 low

Verify:
verify by U212

Change-Id: I29699688288b0e09529b7a35a4559ff1fad9891e
Signed-off-by: jiejing.wang <jiejing.wang@amlogic.com>