Commit Graph

88731 Commits

Author SHA1 Message Date
Kevin Kim
b04da58ff0 ODROID-COMMON:Support up to 384KHz sample rate.
Change-Id: Iad8a1337637b5f09d444c632935a1326123a04d8
2019-12-11 15:54:20 +09:00
renjiang.han
44a35c9d11 ppmgr: add vdin support 10bit. [1/6]
PD#SWPL-9350

Problem:
ppmgr does not support 10bit to cause a rotating screen.

Solution:
add vdin support 10bit.

Verify:
on U212

Change-Id: Idbe90f7e351edbc12e0e2d905f06e0cdd18da148
Signed-off-by: renjiang.han <renjiang.han@amlogic.com>
2019-10-30 15:34:09 +08:00
Pengcheng Chen
d3e33ccdae 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>
2019-10-24 11:34:51 +08:00
shaochan.liu
0984f6e8e4 lcd: add lcd_init_level to control lcd display [2/2]
PD#TV-9856

Problem:
need change display driver for cool boot to enter
kernel stage freeze mode

Solution:
add lcd_panel_ctrl to control lcd display

Verify:
t962x2-x301

Change-Id: I8b58ab0a0f87c49791af7dddf7b05db37f7ad716
Signed-off-by: shaochan.liu <shaochan.liu@amlogic.com>
2019-10-17 19:08:28 +08:00
Shaochan Liu
ff51a5a14c lcd: add lcd_ctrl bootargs for lcd driver control [2/2]
PD#SWPL-4097

Problem:
add lcd_ctrl bootargs for lcd driver control

Solution:
add lcd_ctrl bootargs for lcd driver advance control
and debug function in kernel

Verify:
verify by t962x2-r311

Change-Id: I4d741eef42505e259b54cd4f00e395d09edf7604
Signed-off-by: Shaochan Liu <shaochan.liu@amlogic.com>
2019-10-17 19:04:43 +08:00
Luan Yuan
0473b56bf2 Revert "emmc: run hs400 166M busmod on sm1 [1/1]"
This reverts commit b8c1efa84c.

Revert "emmc: rescan cmd delay windows to set cmd delay [1/1]"

This reverts commit 83a014c14c.
2019-08-21 11:07:46 +08:00
Ruixuan Li
83a014c14c emmc: rescan cmd delay windows to set cmd delay [1/1]
PD#SWPL-10095

Problem:
command delay may too close to the command edge

Solution:
rescan cmd delay windows and find cmd delay value
after data alignment

Verify:
passed on g12b

Change-Id: I258e93aa87e35c843c45f62c58af3609bebe0901
Signed-off-by: Ruixuan Li <ruixuan.li@amlogic.com>
2019-08-02 19:33:21 +08:00
Brian Zhu
53e4e35613 vpp: support 3D with afbc format [1/1]
PD#TV-3042

Problem:
3D function did not support afbc format before

Solution:
Add the support case which format is afbc.

Verify:
x301

Change-Id: I38189bfa78eec6ac811fb81631514d7d7b8b3d62
Signed-off-by: Brian Zhu <brian.zhu@amlogic.com>

b8d9145 vpp: add interface to force non-afbc path [1/1]
c807fc4 vpp: tm2: add vd2 function for tm2 [2/2]
eea348a vpp: tm2: add vpp and sr support [1/2]
f08c28c video: Some interlace stream will stuck when pts rebound [1/1]
53b2624 amlvideo: reset video_inuse when amlvideo stop [1/1]
17cdaf3 amvideo: set black_threshold_height default 48 [1/1]
1cd025d vpp: set default aspect when the ratecontrol is zero [1/1]
58a2e8f vpp: Modify vframe epoll event [1/1]
94b0dc8 vpp: Modify vframe epoll event [1/1]
e98d6d3 video: enable pts calculation when hold video state changes [1/1]
43d30c4 vpp: add histgram test interface for vpp slt test [1/1]
2677784 amvecm: optimize amvecm update in vsync [1/1]
af78b0f vpp: increase the afbc burst len as 4 for txlx [1/1]
1ace6fc vpp: hold the vpp setting when meet the non-dw afbc frame [1/1]
e8a3758 vpp: 3d: disable crop when 3d playback or hdmi in [1/1]
4e6774d vpp: add black_threshold to disable video when window is too small[1/1]
3ae164f vpp: including crop info when AFBC switch to normal frame [1/1]
c67657f vpp: add the pic_mode backup to check difference [1/1]
33b1aee video: timming gets error when switching channels [1/1]
233779e vpp: add log switch in vpp_set_filters [1/1]
b00582b vpp: config the vd1 canvas1 correctly when 3D enabled [1/1]
607bc19 vpp: support 3D with afbc format [1/1]

vpp: config the vd1 canvas1 correctly when 3D enabled [1/1]

PD#TV-3086

Problem:
3D display abnormal. The vd1 canvas1 was incorrect.

Solution:
When enabled 3D function, config vd1 canvas1 correctly

Verify:
x301

Change-Id: I201cda2f33badf1af54ab4f177a17f761c7cea8d
Signed-off-by: Brian Zhu <brian.zhu@amlogic.com>

vpp: add log switch in vpp_set_filters [1/1]

PD#SWPL-5942

Problem:
Too many log when DI process called the vpp_set_filters with AFBC.

Solution:
Add log switch to disable it.

Verify:
verified on X301

Change-Id: I34c8573bed78e49d27ec386279e929e617bf76d5
Signed-off-by: Brian Zhu <brian.zhu@amlogic.com>

video: timming gets error when switching channels [1/1]

PD#TV-3062

Problem:
When switching channels, Hisense platform needs hold video,
and the timming obtained at this time is wrong

Solution:
because we have add hold video function, so get width and
height interface give the last video frame width and height,
and so on change the video

Verify:
X301

Change-Id: I331a4589dcb5f5785dce7eea6d8cd03c92d733d2
Signed-off-by: Xiaoming Sui <xiaoming.sui@amlogic.com>

vpp: add the pic_mode backup to check difference [1/1]

PD#TV-2929

Problem:
The pic_mode in cur_dispbuf was changed but not be detected.

Solution:
Add global pic_mode variable to check if the pic_mode in cur_dispbuf
is changed. If so, force vpp_set_filters.

Verify:
verified on x301

Change-Id: I5b95f512ad0823b031989f05526f114694887f2b
Signed-off-by: Brian Zhu <brian.zhu@amlogic.com>

vpp: including crop info when AFBC switch to normal frame [1/1]

PD#SWPL-6347

Problem:
When AFBC switch to normal frame, excluding the crop information, the pps
parameters are calculated with wrong input size.

Solution:
1.Add the crop information, when afbc swicth to normal frame.
2.check ratio of compress_width/width, sync to crop value

Verify:
verified on x301

Change-Id: Ib943f8a11263ce577952e589bc172d8b7bafd954
Signed-off-by: Brian Zhu <brian.zhu@amlogic.com>
Signed-off-by: Luan Yuan <luan.yuan@amlogic.com>

vpp: add black_threshold to disable video when window is too small [1/1]

PD#TV-3641

Problem:
Add new interface to disable video when window is too small

Solution:
Add the black_threshold interface to control the threshold size.
And set the default value is width=20, height=30.

Verify:
verified by x301

Change-Id: Ifeb376c2e2edbb5706b2cdc2d08421bd0086b01e
Signed-off-by: Brian Zhu <brian.zhu@amlogic.com>

vpp: 3d: disable crop when 3d playback or hdmi in [1/1]

PD#TV-3962

Problem:
3D mode does not support crop function

Solution:
Remove crop when 3D display.

Verify:
Verified on x301

Change-Id: Id35dd662886be24e3ec78d070e3a70f513f89b16
Signed-off-by: Brian Zhu <brian.zhu@amlogic.com>

vpp: hold the vpp setting when meet the non-dw afbc frame [1/1]

PD#SWPL-7513

Problem:
When meet the non-dw afbc frame, vpp can not display with
scaling down as expected.

Solution:
Hold the current vpp setting and wait provider to switch
non-afbc.

Verify:
x301

Change-Id: I3c0e678d2da42376f3a77e334b8c5ce48460273b
Signed-off-by: Brian Zhu <brian.zhu@amlogic.com>

vpp: increase the afbc burst len as 4 for txlx [1/1]

PD#TV-3132

Problem:
When playing 4K afbc and scaling down to small window,
the vskip is 1 and DDR freq is also lower, the display will
flicker caused by DDR bandwidth issue.

Solution:
Increase the afbc mif burst len from 2 to 4. And enable
the dmc adjustment in that case.

Verify:
r311, verify pass

Change-Id: Ia431a93f6083fd584b7e2eb14f777c5a5e7c20e7
Signed-off-by: Brian Zhu <brian.zhu@amlogic.com>

amvecm: optimize amvecm update in vsync [1/1]

PD#SWPL-6475

Problem:
hdmi input signal, video flicker

Solution:
optimize amvecm update in vsync

Verify:
verify on TL1

Change-Id: I3379333053fc52b8a33747ca83b1d6d68ea874ab
Signed-off-by: MingLiang Dong <mingliang.dong@amlogic.com>

vpp: add histgram test interface for vpp slt test [1/1]

PD#GH-31

Problem:
Need pattern to filter the error vpp modules in SLT test

Solution:
Using clipping and histgram function to create the test pattern
and get the histgram data.

Verify:
verified on w400

Change-Id: I52680c96f568980f71ac8c27c4b66352fea96651
Signed-off-by: Brian Zhu <brian.zhu@amlogic.com>

video: enable pts calculation when hold video state changes [1/1]

PD#TV-3999

Problem:
dtmb individual channel switching speed is slow,
it takes about 16s

Solution:
enable pts calculation when hold video
state changes.

Verify:
X301

Change-Id: I4c8eda3af3df894d8116461abf63c3dda45c8ce3
Signed-off-by: Rui Wang <rui.wang@amlogic.com>

vpp: Modify vframe epoll event [1/1]

PD#SWPL-8850

Problem:
too many print when channel change.

Solution:
Modify vframe epoll event flow to avoid same event.

Verify:
verify on marconi.

Change-Id: Id709439f24d3cad82df6082c477cacce1a9b9cc7
Signed-off-by: qiyao.zhou <qiyao.zhou@amlogic.com>

vpp: Modify vframe epoll event [1/1]

PD#SWPL-8850

Problem:
too many print when channel change.

Solution:
Modify vframe epoll event flow to avoid same event.

Verify:
verify on marconi.

Change-Id: Iefbd190c0280276bf941c48bf99706a0f2573df1
Signed-off-by: qiyao.zhou <qiyao.zhou@amlogic.com>

vpp: set default aspect when the ratecontrol is zero [1/1]

PD#TV-5266

Problem:
Vpp used the wrong aspect ratio in 3D, screen mode = normal
and aspect ratio is 0 in ratecontrol variable.

Solution:
When the aspect ratio is 0, set the default value as
(height << 8) / width

Verify:
Verified by x301

Change-Id: I34f7cd3ce5ed1818d3090ebb4be934225038625e
Signed-off-by: Brian Zhu <brian.zhu@amlogic.com>

amvideo: set black_threshold_height default 48 [1/1]

PD#OTT-1836

Problem:
disable video when window is too small

Solution:
set black_threshold_height default 48

Verify:
U212

Change-Id: I9ed7deb54baef1c44bb9cc0c1a4d699140663864
Signed-off-by: jintao xu <jintao.xu@amlogic.com>

amlvideo: reset video_inuse when amlvideo stop [1/1]

PD#TV-6189

Problem:
video_inuse always is 1 when codec server crash

Solution:
reset video_inuse when amlvideo stop

Verify:
TL1

Change-Id: I5b1b808668e3b2fb78781a4ea1ccbaefc3507d2b
Signed-off-by: Lifeng Cao <lifeng.cao@amlogic.com>

video: Some interlace stream will stuck when pts rebound [1/1]

PD#TV-6236

Problem:
Some interlace stream di has buffer count more than 16
If video pts rebound in this stream. The condition that
(abs(omx_pts_set_index - next_vf->omx_index) <= 16) is
not true. So this frame can not toggle always.

Solution:
Delete this condition that
(abs(omx_pts_set_index - next_vf->omx_index) <= 16)

Verify:
verify TL1

Change-Id: I7e8c12ec72d086b0516f7c7490b492e16e36e8fe
Signed-off-by: Lifeng Cao <lifeng.cao@amlogic.com>

vpp: tm2: add vpp and sr support [1/2]

PD#SWPL-6615

Problem:
Need vpp and sr supprt for sm2

Solution:
add support for tm2

Verify:
test pass on tm2 skt

Change-Id: I0ae2cb178fcbe047cdfec6b4e200424178993e6e
Signed-off-by: Brian Zhu <brian.zhu@amlogic.com>

vpp: tm2: add vd2 function for tm2 [2/2]

PD#SWPL-6615

Problem:
Need vd2 function

Solution:
add vd2 function for tm2:
1.vd2 pps scaler
2.disable vd2 afbc

Verify:
test pass on tm2 skt

Change-Id: I7af5de741b90e443ee065218aecb823ef06d66a7
Signed-off-by: Brian Zhu <brian.zhu@amlogic.com>
Signed-off-by: Luan Yuan <luan.yuan@amlogic.com>

vpp: add interface to force non-afbc path [1/1]

PD#SWPL-7035

Problem:
When DI switched to use VD AFBC, need vpp force to non-afbc first.
Otherwise, display willl flash.

Solution:
Provide new interface to request the vpp release afbc hardware first.
Then return the current afbc status.

Verify:
verified on x301

Change-Id: Ibb2b897db7d2f2c40006433d63709988992c84f1
Signed-off-by: Brian Zhu <brian.zhu@amlogic.com>
2019-07-09 20:24:11 +08:00
Nanxin Qin
2626e304ce media: fixed some issues for the v4l2 decode. [2/2]
PD#SWPL-5314

Problem:
1. add a dummy vframe flag VFRAME_FLAG_EMPTY_FRAME_V4L.
2. add the FRAME_BASE_PATH_V4L_* for v4l2 display
3. recycle vframes when the isr recevie the empty vframe.

Solution:
1. fixed some issues for the v4l2 decode.
2. add pause and resume for v4l2 m2m job.

Verify:
todo

Change-Id: I00b44ad4d3a75f7e2167ca347562d002c2690430
Signed-off-by: Nanxin Qin <nanxin.qin@amlogic.com>
2019-07-08 16:07:33 +08:00
yao liu
d101704618 dolby: demo-debug.apk test fail [1/1]
PD#SWPL-10167

Problem:
Apk drop several frames at beginning, but
dolby frames are not consumed, decoder has
no idle buffers.

Solution:
Ignore drop for dual layer dolby video

Verify:
verified on u212

Change-Id: I732d82e71c190c62a14c05accea44b4c55d04239
Signed-off-by: yao liu <yao.liu@amlogic.com>
Signed-off-by: Luan Yuan <luan.yuan@amlogic.com>
2019-07-05 13:50:30 +08:00
yicheng shen
c18ba28567 hdmitx: update phy setting of 3G for SM1 [2/2]
PD#SWPL-8791

Problem:
HDMITX Eye Diagram of SM1 test fail

Solution:
Optimize the PHY setting.

Verify:
SM1

Change-Id: I33d8b8a1a515fe478845287c44271524b256c5f1
Signed-off-by: yicheng shen <yicheng.shen@amlogic.com>
Signed-off-by: Luan Yuan <luan.yuan@amlogic.com>
2019-07-03 16:54:05 +08:00
MingLiang Dong
c84f850db5 hdr: fix osd1 last line abnormal [2/3]
PD#SWPL-9042

Problem:
osd1 last line abnormal

Solution:
use osd1 hdr mtx workaround

Verify:
verify on TL1

Change-Id: I04b848d996d0c819c9eb841ac1da4b927b42383d
Signed-off-by: MingLiang Dong <mingliang.dong@amlogic.com>
2019-06-29 12:48:20 +08:00
Jianxin Pan
813e74c57b dts: debug: enable ftrace_ramoops for new tm2 dts [1/1]
PD#SWPL-6028

Problem:
enable ftrce in ramoops for new tm2 dtbs

Solution:
enable ftrce in ramoops for new tm2 dtbs

Verify:
verified ok

Change-Id: Ia7ee3b11784a69ef7d6b7671f9ad75c14ae477f7
Signed-off-by: Jianxin Pan <jianxin.pan@amlogic.com>
Signed-off-by: Luan Yuan <luan.yuan@amlogic.com>

debug: improve ftrace_ramoops for io trace [2/2]

PD#SWPL-6028

Problem:
improve ftrace_ramoops to debug bus hang

Solution:
1. in uboot
setenv initargs $initargs ramoops_io_en=1 loglevel=3;save;reset
2. in linux command line:
cat /sys/module/kernel/parameters/ramoops_io_en
to check if success.
3. after watchdog reboot, get trace data with:
cat /sys/fs/pstore/ftrace-ramoops-0

Verify:
TL1 x301

Change-Id: If1a2582b40a3ded31eedef5355eb0b8a5bf495c3
Signed-off-by: Jianxin Pan <jianxin.pan@amlogic.com>

debug: save irqflag locally when ftrace_ramoops io [1/1]

PD#SWPL-6028

Problem:
save irqflag locally when ftrace_ramoops io

Solution:
save irqflag locally when ftrace_ramoops io

Verify:
TL1 x301

Change-Id: I6df9700cceaccc97dc983d88ada73197a6968f73
Signed-off-by: Jianxin Pan <jianxin.pan@amlogic.com>

debug: do not print old_size when ftrace_size is 0 [1/1]

PD#SWPL-6028

Problem:
do not print old_size when ftrace_size is 0

Solution:
do not print old_size when ftrace_size is 0

Verify:
TL1 x301

Change-Id: I00a71c83fede14a2606c5e7eea5d8c4fdaeb5553
Signed-off-by: Jianxin Pan <jianxin.pan@amlogic.com>

dts: change ftrace-size. [1/1]

PD#SWPL-6028

Problem:
add ftrace-size.

Solution:
add ftrace-size.

Verify:
no.

Change-Id: I42d34edf665632dfe29d04df192964238b8e3df8
Signed-off-by: Jianxiong Pan <jianxiong.pan@amlogic.com>
Signed-off-by: Luan Yuan <luan.yuan@amlogic.com>
2019-06-27 16:37:31 +08:00
Nanxin Qin
eccd79959b media: add interface for checks the video profile. [1/2]
PD#SWPL-8648

Problem:
add interface for checks the video profile

Solution:
add interface for checks the video profile

Verify:
u212

Change-Id: I95d0df62fae2debc6c0cc5a4d2adf002122b7630
Signed-off-by: Nanxin Qin <nanxin.qin@amlogic.com>
2019-06-27 15:50:56 +08:00
Zongdong Jiao
06efbfe3d7 hdmitx: fix valid_mode effects color attribute [1/1]
PD#OTT-4372

Problem:
Need add a extra hdmi_format_para for valid_mode

Solution:
Add a extra hdmi_format_para for valid_mode
Also, fix cedst_en assginment and wrong aud ACR/N parameters when
kernel bootup, need to get current vinfo then set right ARC/N.

Verify:
G12/U212

Change-Id: Ib59986d7436a578daeb7055aa41a379e9381a99b
Signed-off-by: Zongdong Jiao <zongdong.jiao@amlogic.com>
2019-06-26 15:34:34 +08:00
shipeng.sun
352d434153 amlvideo: Optimize reduce latency of input frame [1/1]
PD#SWPL-8068
PD#SWPL-8069

Problem:
1. use select to polling frame.

Solution:
1. add when use video layer amlvideo support poll
2. add trace debug info

Verify:
Verify on marconi

Change-Id: Ib1ae87b4b7ab35b075bc357953abe43e3410232a
Signed-off-by: shipeng.sun <shipeng.sun@amlogic.com>
Signed-off-by: Tao Guo <tao.guo@amlogic.com>
2019-06-24 13:27:37 +08:00
jintao xu
f44412ce0b ionvideo: fix latency and crash [1/1]
PD#SWPL-8069

Problem:
1.about 2ms latency due to sleep
2.crash while poll ionvideo

Solution:
1.use semaphore instead of sleep
2.fix poll function
3.add trace info for ionvideo

Verify:
U212

Change-Id: Idde64151541d826ba6a6cd1abcc901e80f0e4b45
Signed-off-by: jintao xu <jintao.xu@amlogic.com>
2019-06-24 13:27:03 +08:00
Pengcheng Chen
cc316f1b45 ge2d: move ge2d canvas_config to ge2d process thread [1/1]
PD#OTT-4320

Problem:
ge2d canvas_config have been overwritten

Solution:
move ge2d canvas_config from ge2d config to ge2d process

Verify:
w400

Change-Id: I6733751435f9185c8f96287c5308145898c8b8a7
Signed-off-by: Pengcheng Chen <pengcheng.chen@amlogic.com>

gdc: gdc dmabuf multi-process support [1/1]

PD#OTT-4320

Problem:
gdc phys have been overwritten when dma fd is same from diff process

Solution:
when get phys by dma fd, used struct dma_buf instead of dma fd

Verify:
w400

Change-Id: I6e990c9fda9245db0d92053cc011fc6f9507db72
Signed-off-by: Pengcheng Chen <pengcheng.chen@amlogic.com>

ge2d: ge2d dmabuf multi-process support [1/1]

PD#OTT-4320

Problem:
ge2d phys have been overwritten when dma fd is same from diff process

Solution:
when get phys addr by dma fd, used struct dma_buf instead of dma fd

Verify:
w400

Change-Id: Idb32bc61d33345d370db4eb6bcb04351d854f069
Signed-off-by: Pengcheng Chen <pengcheng.chen@amlogic.com>
2019-06-21 16:16:51 +08:00
Pengcheng Chen
b32e86f2c2 gdc: add gdc multi plane fd support [1/1]
PD#SWPL-7421

Problem:
gdc output not support multi plane fd

Solution:
add gdc multi plane fd support

Verify:
Verfied on G12B-W400

Change-Id: I898c027f068f92af5101fe65487baf1dfbec7c35
Signed-off-by: Pengcheng Chen <pengcheng.chen@amlogic.com>

ge2d: add ge2d multi plane fd support [2/2]

PD#SWPL-7421

Problem:
ge2d not support multi plane fd

Solution:
add ge2d multi plane fd support

Verify:
Verfied on G12B-W400

Change-Id: Ia8a529833d5c53a70eaa2094f8110635e4f184c1
Signed-off-by: Pengcheng Chen <pengcheng.chen@amlogic.com>
2019-06-21 16:09:32 +08:00
Pengcheng Chen
cef12eabc6 ge2d: unmap ge2d dma_buf after ge2d process finished [1/1]
PD#SWPL-4839

Problem:
have risk of unmap ge2d dma_buf

Solution:
unmap ge2d dma_buf after ge2d process finished

Verify:
verify by w400

Change-Id: Ia84786b297f8e95cc9efc038300917c98d6b73f6
Signed-off-by: Pengcheng Chen <pengcheng.chen@amlogic.com>
Signed-off-by: Jian Cao <jian.cao@amlogic.com>

gdc: unmap gdc dma_buf after gdc process stop [2/2]

PD#SWPL-4839

Problem:
have risk of unmap gdc dma_buf

Solution:
unmap gdc dma_buf after gdc process stop

Verify:
verify by w400

Change-Id: If86ac881fd85a5c4b3583567c9748e87149c1d78
Signed-off-by: Pengcheng Chen <pengcheng.chen@amlogic.com>
2019-06-21 15:36:15 +08:00
Jian Cao
f00415d974 ge2d: merge ge2d from amlogic-3.14-dev [1/1]
PD#SWPL-4355

Problem:
ge2d: fix ge2d bitblt error

Solution:
merge patch 'fix ge2d bitblt error' from amlogic-3.14-dev(PD#154877)

Verify:
verified on u200

Change-Id: I4a813810837814931c3cb68f9a0f8a0929b06540
Signed-off-by: pengcheng chen <pengcheng.chen@amlogic.com>
Signed-off-by: Jian Cao <jian.cao@amlogic.com>

ge2d: merge ge2d from amlogic-3.14-dev  [2/3]

PD#SWPL-4355

Problem:
ge2d: play video display mess when used ionvideo

Solution:
merge patch 'play video display mess when used ionvideo'
from amlogic-3.14-dev(PD#155143)

Verify:
verified on u200

Change-Id: Iaf34fe1d1c7e7637015dadaaf43e201cf28089b7
Signed-off-by: pengcheng chen <pengcheng.chen@amlogic.com>
Signed-off-by: Jian Cao <jian.cao@amlogic.com>

ge2d: merge ge2d from amlogic-3.14-dev  [3/3]

PD#SWPL-4355

Problem:
ge2d: Adjust scaler para when input is nv21 and output is rgb

Solution:
merge patch 'Adjust scaler para when input is nv21 and output is rgb'
from amlogic-3.14-dev(PD#15652)

Verify:
verified on u200

Change-Id: I199b07d683a01175ec17d4d34be6febd3083920c
Signed-off-by: pengcheng chen <pengcheng.chen@amlogic.com>
Signed-off-by: Jian Cao <jian.cao@amlogic.com>
2019-06-21 15:24:00 +08:00
Jian Cao
142ab39731 ge2d: fix strechblit issue for GE2D [1/1]
PD#SWPL-4075

Problem:
dst data is not normal by using strechblit function
such as 1920x1080 --> 640x360

Solution:
add bit width restriction for
horizontal scaler initial phase

Verify:
verified on g12b-w400

Change-Id: Ibcd85cc08f49254e90100beb952e711736531134
Signed-off-by: Jian Cao <jian.cao@amlogic.com>

ge2d: add enhanced hsc adv num support [2/2]

PD#SWPL-4075

Problem:
add enhanced hsc adv num support

Solution:
add enhanced hsc adv num support

Verify:
verified on g12b-w400

Change-Id: I13b52a0b10e8f3830c57ff691ef3472a34cbe89c
Signed-off-by: Jian Cao <jian.cao@amlogic.com>
2019-06-21 15:22:58 +08:00
Jian Cao
fa0001a2bd ge2d: add support for nv16 [1/1]
PD#SWPL-3876

Problem:
add support for nv16

Solution:
add support for nv16

Verify:
verified on g12a-u200

Change-Id: I34c9179ed4fde43b9bd00caa9505ea4c8ee78eb0
Signed-off-by: Jian Cao <jian.cao@amlogic.com>
2019-06-21 15:20:59 +08:00
Zongdong Jiao
1683d25c4a hdmitx: correct hpd trigger [1/1]
PD#SWPL-8724

Problem:
When kernel boots up, there will be two irq status.
[    0.602639] hdmitx: system: irq 80000004 0
[    0.622658] hdmitx: system: irq 80000002 0

Solution:
Correct hpd trigger

Verify:
G12/U212

Change-Id: I3c913c6d46ac4e639032134c598050b5c77a047d
Signed-off-by: Zongdong Jiao <zongdong.jiao@amlogic.com>
2019-06-20 11:27:23 +08:00
Zongdong Jiao
35f2ddb9c6 hdmitx: add SCDC/CED function [1/1]
PD#SWPL-6361

Problem:
Lack SCDC/CED function to check Rx TMDS status

Solution:
Add SCDC/CED function
By default, this function is not open.
Enable it in board dts file like below:
  &amhdmitx {
	cedst_en = <1>;
  };
Also, you can manually enable it by
  'echo 1 > /sys/class/amhdmitx/amhdmitx0/cedst_policy'
Then listen '/sys/class/extcon/hdmi_cedst/uevent'
and check 'cat /sys/class/amhdmitx/amhdmitx0/cedst_count'

Verify:
G12/U212

Change-Id: Ic9c90936bad643ea95d418d7b019eb37210d7123
Signed-off-by: Zongdong Jiao <zongdong.jiao@amlogic.com>
2019-06-20 11:27:10 +08:00
Guosong Zhou
2f30390be8 camera: add gc2145 mipi camera driver [1/2]
PD#SWPL-8903

Problem:
S905D3 project need bring up gc2145 mipi camera

Solution:
bring up gc2145 mipi camera on S905D3-AC202

Verify:
verify on S905D3-AC202

Change-Id: I5c7c3c551eca7ec20759e724c24d725f89641d96
Signed-off-by: Guosong Zhou <guosong.zhou@amlogic.com>
2019-06-18 20:12:00 +08:00
Zongdong Jiao
ed1133315b hdmitx: rewrite multi-purpose VSIF [1/1]
PD#SWPL-8788

Problem:
VSIF has multi-purpose: HDMI_4K, 3D, DV and HDR10+.
Need rewrite VSIF programming.

Solution:
rewrite multi-purpose VSIF

Verify:
G12/U212

Change-Id: I1db21d54c8ae873045661d1f00b930afcad5be60
Signed-off-by: Zongdong Jiao <zongdong.jiao@amlogic.com>
2019-06-17 09:50:58 +08:00
Zongdong Jiao
65e78e6f26 hdmitx: replace I2C_REACTIVE with I2C_RESET logic [1/1]
PD#OTT-3716

Problem:
In GX, there is the I2C_REACTIVE method to avoid the I2C hangup
issue. But it is fixed in G12, so need replace it.

Solution:
Replace I2C_REACTIVE with I2C_RESET logic

Verify:
G12/U212

Change-Id: I1ca2f77a213db0d7de067745b3701816b7c85c27
Signed-off-by: Zongdong Jiao <zongdong.jiao@amlogic.com>
2019-06-14 14:44:21 +08:00
Xuhua Zhang
76edb1fbde tvin: vdin: tl1 improve vdin afbce function [1/1]
PD#172587

Problem:
vdin afbce can not work well

Solution:
change afbce work mode

Verify:
verify on tl1

Change-Id: I3e980c7488bd8a0eb6f043fd1fb2d2b2bc75140f
Signed-off-by: Xuhua Zhang <xuhua.zhang@amlogic.com>

8adc242 tvafe: add control for tvconfig snow config [1/1]
190d82f cvbs: cvbsoutput support for tl1 [1/1]
3e859c8 vdin: add dolby mem release protection [1/1]
ba57ce5 vdin: G12A color space error when  capture screen by post blend
[1/1]
768c100 vdin: add new interface for passing dma-buf to vdin [1/1]
f24b329 vdin: QD980 HDMI 4k 30Hz,change bit depth has green screen [1/1]
a8c6962 vdin: add afbce reg access protection [1/1]
874fe722 vdin: support afbc/non-afbc switch dynamically [1/1]
321d0bc vdin: revert ignore v4l2start/stop ioctl when vdin1 used for
preview [1/1]
05df311 vdin: disable afbce under 4k resolution [1/1]
3038cb8 vdin: recycle garbage frame for afbc mode [1/1]
fbb84a75 vdin: support dynamic dest_cfmt changing [1/1]
81c1e14 vdin: ignore v4l2start/stop ioctl when vdin1 used for preview [1/1]
bab3adb tvafe: add av/atv/cvbs support for tm2 [1/1]
2c05842 vdin: add vdin support for tm2 [1/1]
5a825f1 vdin: config vdin mif/afbc path directly [1/1]
3cb9517 vdin: sync vdin0 & vdin1 buffer for afbc mode to avoid garbage
screen [1/1]
d1f8149 vdin: fixed the issue of mem mapping from vmap. [1/1]
0b049e1 vdin: add sm1 support [1/1]
bfc5e18 vdin: fix vdin1 dest_cfmt for tl1 afbc preview support [1/1]
ded6424 tvin: vdin: add vdin1 scaler preview for vdin0 preview [1/1]
b23ca7b vdin: optimize game mode for tl1 phase lock [1/1]
2a95ff7 vlock: add phase lock function [1/1]
51822f9 vlock: screen flash after PAL NTSC swich [1/1]
315f6d3 vlock: vlock for tl1 [1/1]
7f3b8d9 vdin: fix snowflake bottom screen [1/1]
c2a4eaf tvafe: optimize stable time on manual setting [1/1]
c05cefd tvin: vdin: add interface to get signalinfo [1/1]
5c5d26c tvin: vdin: fix vdin histgram error on tl1 [1/1]
7c0701b tvin: vdin: fix dolby vision memory free print error [1/1]
a510d76 tvin: vdin: fix system crash when dolby vision enable [1/1]
2f1ba00 vdin: add vdin1 histgram [1/1]
f5abdd8 tvin: vdin: fix TXLX ATv channel switching crash [1/1]
8d1a496 vdin: tl1: add viu loop back vpp path [1/1]
63f1b85 tvin: vdin: add vdin afbce memory power ctrl [1/1]
211b677 hdmirx: add allm mode. [1/2]
2afb3d7 tvafe: fix black border for atv [1/1]
ced9632 tvin: vdin: fix afbce 576p color anomaly [1/1]
f00295ae tvin: vdin: fix afbce 4k yuv444 display error [1/1]
1fef799 tvin: vdin: vdin add afbce write back to memory interface [1/1]
482e11b tvin: vdin: fix vdin CMA layout adaptation [1/1]
87d67d8 tvin: vdin: vdin afbce fix header size bug [1/1]
f938eed vdin: optimize game mode process [1/1]
6e847e0 tvin: vdin: hdmirx format change, display exception [1/1]
4c7bb63 tvin: vdin: tl1 improve vdin function [1/1]
8850ab8 tvin: vdin: tl1 improve vdin afbce function  [1/1]

tvin: vdin: tl1 improve vdin function [1/1]

PD#172587

Problem:
1.in the afbce mode,
  screen flicker when serial port print too many debugging information
2.vdin afbce 4K crash
3.viu loop back error
4.need afbce lossy mode

Solution:
1.vdin use rdma mode
2.change vdin afbce buff size
3.change VDIN_ASFIFO_CTRL3 register
4.add lossy mode

Verify:
x301

Change-Id: Id66c0d7df22a9aeaca15d645f9a2ce0ecf47be3f
Signed-off-by: Xuhua Zhang <xuhua.zhang@amlogic.com>
Signed-off-by: Luan Yuan <luan.yuan@amlogic.com>

tvin: vdin: hdmirx format change, display exception [1/1]

PD#SWPL-2411

Problem:
hdmirx input 4096X2160 yuv422 in a short period of time,
formate change form yuv422 to yuv444, screen display is exception.

Solution:
force malloc yuv444 size

Verify:
Verify on txlx r311

Change-Id: Ie670b9a2b0c1eceffe423a1cf8606e78b6b347cd
Signed-off-by: Xuhua Zhang <xuhua.zhang@amlogic.com>

vdin: optimize game mode process [1/1]

PD#SWPL-2145

Problem:
HDMI Rx Video path display latency of Game mode and Normal mode

Solution:
optimize game mode

Verify:
T962X-R311

Change-Id: Ib0a41915dfb088495c976d56ab812f90e31602f4
Signed-off-by: Dezhi Kong <dezhi.kong@amlogic.com>

tvin: vdin: vdin afbce fix header size bug [1/1]

PD#SWPL-3208

Problem:
vdin afbce scaler, display abnormal.

Solution:
fix afbce header size problem.

Verify:
TL1 X301

Change-Id: I461b4aa809ceddbe18cf7f6f49e8152b43b86076
Signed-off-by: Xuhua Zhang <xuhua.zhang@amlogic.com>

tvin: vdin: fix vdin CMA layout adaptation [1/1]

PD#SWPL-2526

Problem:
1.CMA layout adaptation cause crash
2.vdin buff dump error
3.read_pic error

Solution:
1.codec mm has be moved to high memory area,
	we should map memory use vmap.
2.make vdin high mem and low mem to be compatible
	when we dump vdin buff.
3.fix read_pic bug.

Verify:
TXLX R311

Change-Id: I90e4f46ba91d38c6ce0f8bfd65b5c22e6be3b83f
Signed-off-by: Xuhua Zhang <xuhua.zhang@amlogic.com>

tvin: vdin: vdin add afbce write back to memory interface [1/1]

PD#SWPL-3200

Problem:
vdin add afbce need more debug method.

Solution:
vdin add read_pic_afbce debug interface

Verify:
TL1 X301

Change-Id: I45a741ba20409dc25b41ce316b0df0dce9d2dc28
Signed-off-by: Xuhua Zhang <xuhua.zhang@amlogic.com>

tvin: vdin: fix afbce 4k yuv444 display error [1/1]

PD#SWPL-3429

Problem:
vdin output format is afbce 4k yuv444,it display ghost shadow of image

Solution:
add afbce comb control

Verify:
x301

Change-Id: I168f13994a4929bd227ba70b006f259ac0726238
Signed-off-by: Xuhua Zhang <xuhua.zhang@amlogic.com>

tvin: vdin: fix afbce 576p color anomaly [1/1]

PD#SWPL-3424

Problem:
dvd play 576p media, tl1 display color anomaly

Solution:
encoder use same default color setting with decoder

Verify:
x301

Change-Id: I8954874ea048b2d9e9b7aa58c883da1f306c4459
Signed-off-by: Xuhua Zhang <xuhua.zhang@amlogic.com>

tvafe: fix black border for atv [1/1]

PD#SWPL-3573

Problem:
appear black border after unplug/plug signal

Solution:
reset de when nosignal
restore acd hsync when signal unstable

Verify:
verified by x301

Change-Id: Ia9e2e9dfb326061bd3b9b6f9a02be0d935cdf06f
Signed-off-by: Nian Jing <nian.jing@amlogic.com>

hdmirx: add allm mode. [1/2]

PD#SWPL-1619

Problem:
need support allm mode

Solution:
add allm mode

Verify:
None

Change-Id: I34d05cfbef4b3fccbbb7c6b35fa613cda9b9cf36
Signed-off-by: yicheng shen <yicheng.shen@amlogic.com>
Signed-off-by: Luan Yuan <luan.yuan@amlogic.com>

tvin: vdin: add vdin afbce memory power ctrl [1/1]

PD#SWPL-3635

Problem:
Miss vdin afbce memory power ctrl.

Solution:
Add vdin afbce memory power ctrl.

Verify:
x301_tl1

Change-Id: I94946e3d16027083688735d68b9d023b6bc5c8bf
Signed-off-by: Xuhua Zhang <xuhua.zhang@amlogic.com>

vdin: tl1: add viu loop back vpp path [1/1]

PD#SWPL-2676

Problem:
tl1 viu loop back error

Solution:
add viu loop back vpp path

Verify:
TL1 X301

Change-Id: I4069f6bbd6672d89bd93a0c8b275cfffc273c427
Signed-off-by: Xuhua Zhang <xuhua.zhang@amlogic.com>

tvin: vdin: fix TXLX ATv channel switching crash [1/1]

PD#SWPL-3964

Problem:
ATv channel switching crash

Solution:
stop vdin, close afbc
need judge platform, there is not afbce on txlx

Verify:
verify by einstein

Change-Id: Ibcff1da47b9fdca7e1758b0d45e7d6800bfc8080
Signed-off-by: Xuhua Zhang <xuhua.zhang@amlogic.com>

vdin: add vdin1 histgram [1/1]

PD#SWPL-3059

Problem:
vdin1 hisgram and screencap cannot be used simultaneously

Solution:
add vdin1 histgram,and make hist and screencap function to be compatible

Verify:
txlx r311

Change-Id: I759d1cdc69d59015ce845898990088eb6943cc41
Signed-off-by: xuhua zhang <xuhua.zhang@amlogic.com>

tvin: vdin: fix system crash when dolby vision enable [1/1]

PD#SWPL-3353

Problem:
system crash when dolby vision enable

Solution:
32bit kernel,phy addr to virt interface is changed

Verify:
Verified on txlx R311

Change-Id: Ie012bdaf7f9dc24acf7a7e03f0db056ff31e578c
Signed-off-by: Xuhua Zhang <xuhua.zhang@amlogic.com>

tvin: vdin: fix dolby vision memory free print error [1/1]

PD#SWPL-3353

Problem:
dolby vision memory free print error

Solution:
dolby vision memory has been free by vdin_cma_release,
don't free again.

Verify:
test pass on R311

Change-Id: Id7108cf17260430c53dff707e843ed7833c8ee7c
Signed-off-by: Xuhua Zhang <xuhua.zhang@amlogic.com>

tvin: vdin: fix vdin histgram error on tl1 [1/1]

PD#TV-2263

Problem:
vdin histgram error on tl1

Solution:
tl1 use TVIN_PORT_VIU1_WB0_VPP

Verify:
verify on tl1

Change-Id: I225a85a1debee0e8c42f60751524661fc5c986bd
Signed-off-by: Xuhua Zhang <xuhua.zhang@amlogic.com>

tvin: vdin: add interface to get signalinfo [1/1]

PD#TV-2083

Problem:
TVIN_IOC_G_SIG_INFO not complete enough

Solution:
add interface to get signalinfo

Verify:
Verify on TL1

Change-Id: I32f198f14dfcc1f8a8ee1f19c4065bd7d4d5dccc
Signed-off-by: Xuhua Zhang <xuhua.zhang@amlogic.com>

tvafe: optimize stable time on manual setting [1/1]

PD#SWPL-5052

Problem:
optimize swith channel time

Solution:
lower wait time on manual colorfmt setting
stable time optimized from 500ms -> 300ms

Verify:
x301

Change-Id: I7e7d711d1c3ab0630d41e933c53ce34d0025e860
Signed-off-by: Nian Jing <nian.jing@amlogic.com>

vdin: fix snowflake bottom screen [1/1]

PD#SWPL-5129

Problem:
cut window need restore when nosignal

Solution:
restore cutwin when nosignal

Verify:
verified by r341

Change-Id: If18dbd18df11cce5d1ddb99ee266901b75b065b3
Signed-off-by: Nian Jing <nian.jing@amlogic.com>

vlock: vlock for tl1 [1/1]

PD#SWPL-3129

Problem:
1.verify manual pll mode
2.modify vlock hiu register access api
3.add a new fsm for tl1 test
4.add chip match data

Solution:
add function for tl1

Verify:
verified on tl1

Change-Id: I75f8d2a40437056135f8dd0fb241016a9ea680df
Signed-off-by: Yong Qin <yong.qin@amlogic.com>
Signed-off-by: Luan Yuan <luan.yuan@amlogic.com>

vlock: screen flash after PAL NTSC swich [1/1]

PD#SWPL-4246

Problem:
the screen always flash after switch PAL to NTSC in AVin

Solution:
do not change pll M value, M value will case v by one fail

Verify:
verified on tl1 android p

Change-Id: Ib5ea8dfef1c40af5535e69fdc9241a7f77b4a7dd
Signed-off-by: Yong Qin <yong.qin@amlogic.com>

vlock: add phase lock function [1/1]

PD#SWPL-3644

Problem:
new feature on tl1

Solution:
add function

Verify:
verified on tl1 android p

Change-Id: I964054512f59a98f03d20df11b8c63d6802744d5
Signed-off-by: Yong Qin <yong.qin@amlogic.com>

vdin: optimize game mode for tl1 phase lock [1/1]

PD#SWPL-4788

Problem:
sometimes hdmi source display broken in game mode

Solution:
use phase lock for tl1 game mode ahead 2 frames,
and ahead 1 frame for previous chips.

Verify:
x301

Change-Id: I00df9125c9ea7869ed6e111ba99a8b755c914129
Signed-off-by: Evoke Zhang <evoke.zhang@amlogic.com>

tvin: vdin: add vdin1 scaler preview for vdin0 preview [1/1]

PD#SWPL-4115

Problem:
vdin preview error when input 4K

Solution:
use vdin1 as double write function

Verify:
x301

Change-Id: I4ed15dd5c445ed3c38b4a2535be075210dcbdac7
Signed-off-by: Xuhua Zhang <xuhua.zhang@amlogic.com>

vdin: fix vdin1 dest_cfmt for tl1 afbc preview support [1/1]

PD#SWPL-5971

Problem:
preview window color is green with 1080p & 4k hdmirx

Solution:
vdin1 dest_cfmt follow vdin0 for the software double write for preview

Verify:
x301

Change-Id: I2e45b5f838cddcac1ca1c4e6710a7cc1f45ae9b5
Signed-off-by: Evoke Zhang <evoke.zhang@amlogic.com>

vdin: add sm1 support [1/1]

PD#SWPL-6065

Problem:
need add vdin support for sm1

Solution:
add vdin support for sm1

Verify:
pxp

Change-Id: I55af5273607a88f4e5a2394de0acbb44811da8f9
Signed-off-by: Evoke Zhang <evoke.zhang@amlogic.com>

vdin: fixed the issue of mem mapping from vmap. [1/1]

PD#SWPL-6196

Problem:
the memory issue cause to kernel crash.

Solution:
1. add flush cache when the mem oper end.
2. unmap addr which from vmap in vdin driver.

Verify:
X301

Change-Id: Id6efe2b009fe64ad753d51eb06784bd4e66f5e87
Signed-off-by: Nanxin Qin <nanxin.qin@amlogic.com>

vdin: sync vdin0 & vdin1 buffer for afbc mode to avoid garbage screen [1/1]

PD#SWPL-3431

Problem:
enter hdmi 4k port will flash garbage screen with afbc mode

Solution:
sync vdin0 & vdin1 buffer for afbc mode

Verify:
x301

Change-Id: I443a9be2ed619a5cd2b6229f15814d8b856c5535
Signed-off-by: Evoke Zhang <evoke.zhang@amlogic.com>

vdin: config vdin mif/afbc path directly [1/1]

PD#SWPL-6277

Problem:
switch hdmi port maybe display green screen

Solution:
1.optimize vdin stop sequence, reduce afbc state polling interval,
  and rest afbc to get a clean state
2.change vdin mif/afbc patch directly, not rdma method,
  for vdin0/1 rdma are independent

Verify:
x301

Change-Id: I0ddf5d27dcfc0fd930eeb681f876c4c5e92e8d70
Signed-off-by: Evoke Zhang <evoke.zhang@amlogic.com>

vdin: add vdin support for tm2 [1/1]

PD#SWPL-6701

Problem:
Need vdin supprt for sm2

Solution:
add vdin support for tm2

Verify:
test pass on tm2 ab311

Change-Id: I57d7b3014938011d18c5e168f18c78e4fa542fc7
Signed-off-by: Nian Jing <nian.jing@amlogic.com>

tvafe: add av/atv/cvbs support for tm2 [1/1]

PD#:SWPL-6702

Problem:
tm2 bringup

Solution:
add av/atv/cvbs support for tm2

Verify:
tm2 T962E2

Change-Id: I1c7358cd17463843fbdd7a93c7416a22aaa2387c
Signed-off-by: Nian Jing <nian.jing@amlogic.com>
Signed-off-by: Luan Yuan <luan.yuan@amlogic.com>

vdin: ignore v4l2start/stop ioctl when vdin1 used for preview [1/1]

PD#SWPL-6840

Problem:
hdmi port can't screencap

Solution:
ignore v4l2start/stop ioctl when vdin1 used for preview

Verify:
x301

Change-Id: I26e7b057177a0b7ed203c04bd3008c2a34793b4a
Signed-off-by: Evoke Zhang <evoke.zhang@amlogic.com>

vdin: support dynamic dest_cfmt changing [1/1]

PD#TV-4306

Problem:
vdin afbc will show green screen when hdmirx change dest_cfmt after stable

Solution:
dynamic config vdin afbc with cfmt

Verify:
x301

Change-Id: I404c47934f090222a2cdd7cf98b619826cd92cc7
Signed-off-by: Evoke Zhang <evoke.zhang@amlogic.com>

vdin: recycle garbage frame for afbc mode [1/1]

PD#TV-4335

Problem:
switch tvin signals will flash garbage screen

Solution:
recycle barbage frame for afbc mode

Verify:
x301

Change-Id: I17c13b5db7a506403aa5ac74568b7a9e16c075c0
Signed-off-by: Evoke Zhang <evoke.zhang@amlogic.com>

vdin: disable afbce under 4k resolution [1/1]

PD#SWPL-7511

Problem:
no need enable vdin afbce under 4k,
it is no help for bandwidth with these resolution

Solution:
only enable vdin afbce for 4k resolution

Verify:
x301

Change-Id: I283efd872004846d158ef6c9addbd1e666d2f61a
Signed-off-by: Evoke Zhang <evoke.zhang@amlogic.com>

vdin: revert ignore v4l2start/stop ioctl when vdin1 used for preview [1/1]

PD#SWPL-7324

Problem:
tvafe work abnormal when use vdin1 preview

Solution:
revert the previous commit for v4l2start/stop

Verify:
x301

This reverts commit 81c1e1449c.

Change-Id: I8cdefececb8b01cb86426684a6c700bc9bf8b615
Signed-off-by: Evoke Zhang <evoke.zhang@amlogic.com>

vdin: support afbc/non-afbc switch dynamically [1/1]

PD#SWPL-7512

Problem:
need switch vdin afbc/non-afbc mode sometime

Solution:
support afbc/non-afbc switch dynamically

Verify:
x301

Change-Id: I08433938f169a51ed1ed7a23fd99f3ba42e076fe
Signed-off-by: Evoke Zhang <evoke.zhang@amlogic.com>
Signed-off-by: Luan Yuan <luan.yuan@amlogic.com>

vdin: add afbce reg access protection [1/1]

PD#SWPL-7983

Problem:
txlx will crash when access afbce reg without afbce hw

Solution:
add afbce reg access protection

Verify:
r311

Change-Id: Iaabf8da9cb2a58e9c26626b9ac718bdf9c6a2ac3
Signed-off-by: Evoke Zhang <evoke.zhang@amlogic.com>

vdin: QD980 HDMI 4k 30Hz,change bit depth has green screen [1/1]

PD#SWPL-8184

Problem:
don't updated afbce output color format

Solution:
update afbce config according afbce support or not,
instead of afbce need or not.

Verify:
verified by t962x2_x301

Change-Id: I7885357c1e5b04b58b059401a5f66d2ee83c76ef
Signed-off-by: zhiwei.yuan <zhiwei.yuan@amlogic.com>

vdin: add new interface for passing dma-buf to vdin [1/1]

PD#TV-3863

Problem:
gpu cann't get vdin buf directly

Solution:
vdin write data to the addr passed by upper layer

Verify:
verified by t962x2_x301

Change-Id: I495b78c419e10a6dacb9b9f29c0f8e87339ac195
Signed-off-by: zhiwei.yuan <zhiwei.yuan@amlogic.com>
Signed-off-by: Luan Yuan <luan.yuan@amlogic.com>

vdin: G12A color space error when  capture screen by post blend [1/1]

PD#SWPL-8335

Problem:
color space setting error

Solution:
set yuv444 when use viu1 post blend port

Verify:
verified by t962x2_x301

Change-Id: Ic92a6db92f6cec64084d140c5f505489579b294f
Signed-off-by: zhiwei.yuan <zhiwei.yuan@amlogic.com>

vdin: add dolby mem release protection [1/1]

PD#SWPL-8797

Problem:
sometime oops occurred for vdin_dolby mem release

Solution:
add vdin dolby mem alloc flag & release protection

Verify:
x301

Change-Id: Iee90b58a0624c32032e204adcd043c8e94d03f1f
Signed-off-by: Evoke Zhang <evoke.zhang@amlogic.com>

cvbs: cvbsoutput support for tl1 [1/1]

PD#172587

Problem:
no cvbsoutput

Solution:
add cvbsoutput

Verify:
test pass on x301

Change-Id: I92f70d26e32f95de7c63ddbac9fe6664063c1902
Signed-off-by: Nian Jing <nian.jing@amlogic.com>
Signed-off-by: Luan Yuan <luan.yuan@amlogic.com>

tvafe: add control for tvconfig snow config [1/1]

PD#SWPL-5985

Problem:
display snow when snow config disabled

Solution:
add control for tvconfig snow config

Verify:
verify it on x301

Change-Id: I3466efc98577f2403f3a6cd638ad7dbf70ce34dc
Signed-off-by: Nian Jing <nian.jing@amlogic.com>
Signed-off-by: Luan Yuan <luan.yuan@amlogic.com>
2019-06-12 18:40:32 +08:00
shanghai engineers
309d50fbfc TM2: add chip id and name for tm2 [1/1]
PD#SWPL-6157

Problem:
TM2 bring up need to update chip version name and id

Solution:
add the chipid and chip version name at dts and help file

Verify:
on ptm board4

Change-Id: I37e44828db1821c7fd2921c3e4271a27bd715b88
Signed-off-by: pan yang <pan.yang@amlogic.com>
Signed-off-by: Luan Yuan <luan.yuan@amlogic.com>
2019-06-12 14:08:09 +08:00
Kaifu Hu
a6a0ef47b8 hdmi: support 1440x2560p60hz modes [1/1]
PD#IPTV-1032

Problem:
Need support 1440x2560p60hz

Solution:
Porting VESA code and 1440x2560p60hz

Verify:
g12b/w400

Change-Id: I3cf38bebc29b76aed50fe2ced7b47e27f2d1af06
Signed-off-by: Kaifu Hu <kaifu.hu@amlogic.com>
2019-06-12 11:32:50 +08:00
Jian Cao
6e690ddfde ge2d: add option for rgb_to_yuv to 709 or 601 [1/1]
PD#OTT-3711

Problem:
color parameters are wrong
while displaying images on NativeImagePlayer

Solution:
add a macro BT_STANDARD for 709 or 601

Verify:
verified on W400

Change-Id: I0703ef17748c8267b86e85a4366cac88d3e41ee1
Signed-off-by: Jian Cao <jian.cao@amlogic.com>
2019-06-05 17:00:37 +08:00
Yi Zhou
958b4d6698 dv: add tm2 interface [1/1]
PD#SWPL-6338

Problem:
need to add dv interface in tm2

Solution:
choose dv in UI and play films, observe the video and
graphic

Verify:
ab301 verify ok

Change-Id: I5d85b195254a16bcc9046d258728bd41d8a809d5
Signed-off-by: Yi Zhou <yi.zhou@amlogic.com>
Signed-off-by: Luan Yuan <luan.yuan@amlogic.com>
2019-06-04 19:27:43 +08:00
Hui Zhang
4695eaa6f9 media_module: fix hevc back mmu dmc warnning [2/2]
PD#TV-5832

Problem:
when mmu scatter tail is freed. sometimes sao mmu is not
stopped or in idle. there is potential memory pollution

Solution:
before free unused scatter, to check hw statu idle and
diable sao mmu to avoid hevc back overwrite system memory

Verify:
X301

Change-Id: Ib784809a0946bd0a6c479a98678cb40edacc4118
Signed-off-by: Hui Zhang <hui.zhang@amlogic.com>
2019-06-04 17:32:42 +08:00
Long Yu
a62d6bf36e emmc: report response crc error on G12B when hs400 200M busmode [1/1]
PD#SWPL-8670

Problem:
G12B report response crc error when hs400 200M busmode

Solution:
find a eyetest hole between 14-20 or 48-54, otherwise
tuning tx_delay and find again and
adjust CMD rx timing dynamically in HS400 mode

Verify:
passed on G12B

Change-Id: I23e4d5118e0ca0564367a77102aea9e1085633a9
Signed-off-by: Long Yu <long.yu@amlogic.com>
2019-05-24 15:30:41 +08:00
Brian Zhu
dc3a71552c vpp: use new interface to increase accuracy of ar calculation [1/2]
PD#OTT-2068

Problem:
When playing 1280x128 video under normal screen mode, the aspect ratio from
decodec is not accurate enough by multipling 0x100. (128x256/1280=25.6).
Dropping 0.6 will cause height losing 9 lines.

Solution:
Using new interface to pass real ar width and height following steps:
1.Set old ar variable to 0x3ff as a trigger flag.
2.set the original ar value into sar_width and sar_height of vframe

Verify:
verified on franklin

Change-Id: I8a794edd968a76f198ee9cb168a7cfb858c858f8
Signed-off-by: Brian Zhu <brian.zhu@amlogic.com>
Signed-off-by: Luan Yuan <luan.yuan@amlogic.com>
2019-05-22 20:18:22 +08:00
Tao Zeng
739c4358ad secmon: clear mmu mapping of cma before a73 run [1/1]
PD#SWPL-8082

Problem:
Very low ratio(0.3%) of SError can be seen when do auto-reboot
test on g12b platfrom.

Solution:
Clear mmu mapping of secmon cma before a73 run

Verify:
w400

Change-Id: Idacfaea29dea2eff86304c7071a560c76654a5c3
Signed-off-by: Tao Zeng <tao.zeng@amlogic.com>
2019-05-22 19:56:27 +08:00
Jian Cao
20d6624053 ge2d: correct YUV limit/full range config when RGB->YUV [1/1]
PD#OTT-3500

Problem:
Grey-scale graph image on video layer performance worse.

Solution:
correct YUV limit/full range config to set ge2d,
when converting RGB to YUV.

Verify:
G12B_W400 board.

Change-Id: I304298a0a6942482196fe5d56a0f356fb30cbe61
Signed-off-by: Jian Cao <jian.cao@amlogic.com>
2019-05-21 20:28:43 +08:00
Tao Zeng
8549cdc1dd binder: back port changes from kernel 4.19 [1/3]
PD#SWPL-8572

Problems:
based on android platfrom, each process may allocate 1MB vmalloc
memory space for IPC. But most process don't use full memory
range of vmalloc space. It's a waste of memory space and may
cause driver can't work normal based on 32bit kernel

Soluton:
On kernel 4.19, google have fixed it, so we need back porting
following changes:

Squashed commit of the following:

commit b12a56e5342e15e99b0fb07c67dfce0891ba2f6b
Author: Todd Kjos <tkjos@google.com>
Date:   Tue Mar 19 09:53:01 2019 -0700

    FROMGIT: binder: fix BUG_ON found by selinux-testsuite

    The selinux-testsuite found an issue resulting in a BUG_ON()
    where a conditional relied on a size_t going negative when
    checking the validity of a buffer offset.

    (cherry picked from commit 5997da8214
     git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc.git
     char-misc-linus)
    Bug: 67668716
    Change-Id: Ib3b408717141deadddcb6b95ad98c0b97d9d98ea
    Fixes: 7a67a39320 ("binder: add function to copy binder object from buffer")
    Reported-by: Paul Moore <paul@paul-moore.com>
    Tested-by: Paul Moore <paul@paul-moore.com>
    Signed-off-by: Todd Kjos <tkjos@google.com>

commit 5b28e504d93a5f1efc074dd7cdcadc07293bb783
Author: Todd Kjos <tkjos@android.com>
Date:   Thu Feb 14 15:22:57 2019 -0800

    UPSTREAM: binder: fix handling of misaligned binder object

    Fixes crash found by syzbot:
    kernel BUG at drivers/android/binder_alloc.c:LINE! (2)

    (cherry pick from commit 26528be672)
    Bug: 67668716
    Reported-and-tested-by: syzbot+55de1eb4975dec156d8f@syzkaller.appspotmail.com
    Signed-off-by: Todd Kjos <tkjos@google.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

    Change-Id: Ib8597dd05a158f78503d4affe6c5f46ded16a811

commit e110c3b44e437bad09f76c2b42f23dcad898f57d
Author: Todd Kjos <tkjos@android.com>
Date:   Wed Feb 13 11:48:53 2019 -0800

    UPSTREAM: binder: fix sparse issue in binder_alloc_selftest.c

    Fixes sparse issues reported by the kbuild test robot running
    on https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc.git
    char-misc-testing: bde4a19fc0 ("binder: use userspace pointer as base
    of buffer space")

    Error output (drivers/android/binder_alloc_selftest.c):
    sparse: warning: incorrect type in assignment (different address spaces)
    sparse:    expected void *page_addr
    sparse:    got void [noderef] <asn:1> *user_data
    sparse: error: subtraction of different types can't work

    Fixed by adding necessary "__user" tags.

    (cherry pick from commit 36f3093792)
    Bug: 67668716
    Reported-by: kbuild test robot <lkp@intel.com>
    Signed-off-by: Todd Kjos <tkjos@google.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

    Change-Id: Ia0a16d163251381d4bc04f46a44dddbc18b10a85

commit 9f6fd7733286f1af04d153c9d3a050ca2615b3cc
Author: Todd Kjos <tkjos@android.com>
Date:   Fri Feb 8 10:35:20 2019 -0800

    BACKPORT: binder: use userspace pointer as base of buffer space

    Now that alloc->buffer points to the userspace vm_area
    rename buffer->data to buffer->user_data and rename
    local pointers that hold user addresses. Also use the
    "__user" tag to annotate all user pointers so sparse
    can flag cases where user pointer vaues  are copied to
    kernel pointers. Refactor code to use offsets instead
    of user pointers.

    (cherry pick from commit bde4a19fc0)
    Bug: 67668716
    Change-Id: I9d04b844c5994d1f6214da795799e6b373bc9816
    Signed-off-by: Todd Kjos <tkjos@google.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 194d8606b011657ce30bf0c240a5adcad0691201
Author: Todd Kjos <tkjos@android.com>
Date:   Wed Dec 5 15:19:25 2018 -0800

    UPSTREAM: binder: fix kerneldoc header for struct binder_buffer

    Fix the incomplete kerneldoc header for struct binder_buffer.

    (cherry pick from commit 7a2670a5bc)
    Bug: 67668716
    Signed-off-by: Todd Kjos <tkjos@google.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

    Change-Id: I6bb942e6a9466b02653349943524462f205af839

commit 55cb58623a60d48678d8eb74e1cabe7744ed62c2
Author: Todd Kjos <tkjos@android.com>
Date:   Fri Feb 8 10:35:19 2019 -0800

    BACKPORT: binder: remove user_buffer_offset

    Remove user_buffer_offset since there is no kernel
    buffer pointer anymore.

    (cherry pick from commit c41358a5f5)
    Bug: 67668716
    Signed-off-by: Todd Kjos <tkjos@google.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

    Change-Id: I399219867704dc5013453a7738193c742fc970ad

commit 3301f77efa9d99e742e5642243b891e014becf17
Author: Todd Kjos <tkjos@android.com>
Date:   Fri Feb 8 10:35:18 2019 -0800

    UPSTREAM: binder: remove kernel vm_area for buffer space

    Remove the kernel's vm_area and the code that maps
    buffer pages into it.

    (cherry pick from commit 880211667b)
    Bug: 67668716
    Signed-off-by: Todd Kjos <tkjos@google.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

    Change-Id: I2595bb8416c2bbfcf97ad3d7380ae94e29c209fb

commit 628c27a60665f15984364f6c0a1bda03473b3a78
Author: Todd Kjos <tkjos@android.com>
Date:   Fri Feb 8 10:35:17 2019 -0800

    UPSTREAM: binder: avoid kernel vm_area for buffer fixups

    Refactor the functions to validate and fixup struct
    binder_buffer pointer objects to avoid using vm_area
    pointers. Instead copy to/from kernel space using
    binder_alloc_copy_to_buffer() and
    binder_alloc_copy_from_buffer(). The following
    functions were refactored:

    	refactor binder_validate_ptr()
    	binder_validate_fixup()
    	binder_fixup_parent()

    (cherry pick from commit db6b0b810b)
    Bug: 67668716
    Signed-off-by: Todd Kjos <tkjos@google.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

    Change-Id: Ic222af9b6c56bf48fd0b65debe981d19a7809e77

commit ed39057090cc4a95c318bafcd97f418da56e3867
Author: Todd Kjos <tkjos@android.com>
Date:   Fri Feb 8 10:35:16 2019 -0800

    BACKPORT: binder: add function to copy binder object from buffer

    When creating or tearing down a transaction, the binder driver
    examines objects in the buffer and takes appropriate action.
    To do this without needing to dereference pointers into the
    buffer, the local copies of the objects are needed. This patch
    introduces a function to validate and copy binder objects
    from the buffer to a local structure.

    (cherry pick from commit 7a67a39320)
    Bug: 67668716
    Signed-off-by: Todd Kjos <tkjos@google.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

    Change-Id: I42dfe238a2d20bdeff479068ca87a80e4577e64a

commit 01f8f48c56b53faf1c795112f451a032a0d00b75
Author: Todd Kjos <tkjos@android.com>
Date:   Fri Feb 8 10:35:15 2019 -0800

    BACKPORT: binder: add functions to copy to/from binder buffers

    Avoid vm_area when copying to or from binder buffers.
    Instead, new copy functions are added that copy from
    kernel space to binder buffer space. These use
    kmap_atomic() and kunmap_atomic() to create temporary
    mappings and then memcpy() is used to copy within
    that page.

    Also, kmap_atomic() / kunmap_atomic() use the appropriate
    cache flushing to support VIVT cache architectures.
    Allow binder to build if CPU_CACHE_VIVT is defined.

    Several uses of the new functions are added here. More
    to follow in subsequent patches.

    (cherry picked from commit 8ced0c6231)
    Bug: 67668716
    Change-Id: I6a93d2396d0a80c352a1d563fc7fb523a753e38c
    Signed-off-by: Todd Kjos <tkjos@google.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit bfc28d4c046d2a1aea5db66508e7fbb65a31a4a9
Author: Todd Kjos <tkjos@android.com>
Date:   Fri Feb 8 10:35:14 2019 -0800

    UPSTREAM: binder: create userspace-to-binder-buffer copy function

    The binder driver uses a vm_area to map the per-process
    binder buffer space. For 32-bit android devices, this is
    now taking too much vmalloc space. This patch removes
    the use of vm_area when copying the transaction data
    from the sender to the buffer space. Instead of using
    copy_from_user() for multi-page copies, it now uses
    binder_alloc_copy_user_to_buffer() which uses kmap()
    and kunmap() to map each page, and uses copy_from_user()
    for copying to that page.

    (cherry picked from 1a7c3d9bb7)
    Bug: 67668716
    Signed-off-by: Todd Kjos <tkjos@google.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

    Change-Id: I59ff83455984fce4626476e30601ed8b99858a92

commit 89a1a65d35200d8ca94c865f061f11af41a8ced7
Author: Todd Kjos <tkjos@android.com>
Date:   Mon Jan 14 09:10:21 2019 -0800

    FROMGIT: binder: create node flag to request sender's security context

    To allow servers to verify client identity, allow a node
    flag to be set that causes the sender's security context
    to be delivered with the transaction. The BR_TRANSACTION
    command is extended in BR_TRANSACTION_SEC_CTX to
    contain a pointer to the security context string.

    Signed-off-by: Todd Kjos <tkjos@google.com>
    Reviewed-by: Joel Fernandes (Google) <joel@joelfernandes.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

    (cherry picked from commit ec74136ded
     https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
     master)
    Change-Id: I44496546e2d0dc0022f818a45cd52feb1c1a92cb
    Signed-off-by: Todd Kjos <tkjos@google.com>

commit 4afd6d2498ecd54e4211c6e47d8956a686a52ee3
Author: Todd Kjos <tkjos@android.com>
Date:   Wed Dec 5 15:19:26 2018 -0800

    UPSTREAM: binder: filter out nodes when showing binder procs

    When dumping out binder transactions via a debug node,
    the output is too verbose if a process has many nodes.
    Change the output for transaction dumps to only display
    nodes with pending async transactions.

    Signed-off-by: Todd Kjos <tkjos@google.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    (cherry picked from commit ecd589d8f5)
    Bug: 112037142
    Change-Id: Iaa76ebdc844037ce1ee3bf2e590676790a959cef

commit 72e3c1d60a499bfa547d962a150082f47bfb16af
Author: Todd Kjos <tkjos@android.com>
Date:   Tue Nov 6 15:55:32 2018 -0800

    binder: fix race that allows malicious free of live buffer

    commit 7bada55ab5 upstream.

    Malicious code can attempt to free buffers using the BC_FREE_BUFFER
    ioctl to binder. There are protections against a user freeing a buffer
    while in use by the kernel, however there was a window where
    BC_FREE_BUFFER could be used to free a recently allocated buffer that
    was not completely initialized. This resulted in a use-after-free
    detected by KASAN with a malicious test program.

    This window is closed by setting the buffer's allow_user_free attribute
    to 0 when the buffer is allocated or when the user has previously freed
    it instead of waiting for the caller to set it. The problem was that
    when the struct buffer was recycled, allow_user_free was stale and set
    to 1 allowing a free to go through.

    Signed-off-by: Todd Kjos <tkjos@google.com>
    Acked-by: Arve Hjønnevåg <arve@android.com>
    Cc: stable <stable@vger.kernel.org> # 4.14
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit c7940ee7e55f4caec80ab646b7f9d495ee2677c6
Author: Martijn Coenen <maco@android.com>
Date:   Sat Aug 25 13:50:56 2018 -0700

    UPSTREAM: binder: Add BINDER_GET_NODE_INFO_FOR_REF ioctl.

    This allows the context manager to retrieve information about nodes
    that it holds a reference to, such as the current number of
    references to those nodes.

    Such information can for example be used to determine whether the
    servicemanager is the only process holding a reference to a node.
    This information can then be passed on to the process holding the
    node, which can in turn decide whether it wants to shut down to
    reduce resource usage.

    Bug: 79983843
    Change-Id: I21e52ed1ca2137f7bfdc0300365fb1285b7e3d70
    Signed-off-by: Martijn Coenen <maco@android.com>

commit afd02b5ead68a94eb6bf1bf5234271687d7eb461
Author: Minchan Kim <minchan@kernel.org>
Date:   Thu Aug 23 14:29:56 2018 +0900

    android: binder: fix the race mmap and alloc_new_buf_locked

    There is RaceFuzzer report like below because we have no lock to close
    below the race between binder_mmap and binder_alloc_new_buf_locked.
    To close the race, let's use memory barrier so that if someone see
    alloc->vma is not NULL, alloc->vma_vm_mm should be never NULL.

    (I didn't add stable mark intentionallybecause standard android
    userspace libraries that interact with binder (libbinder & libhwbinder)
    prevent the mmap/ioctl race. - from Todd)

    "
    Thread interleaving:
    CPU0 (binder_alloc_mmap_handler)              CPU1 (binder_alloc_new_buf_locked)
    =====                                         =====
    // drivers/android/binder_alloc.c
    // #L718 (v4.18-rc3)
    alloc->vma = vma;
                                                  // drivers/android/binder_alloc.c
                                                  // #L346 (v4.18-rc3)
                                                  if (alloc->vma == NULL) {
                                                      ...
                                                      // alloc->vma is not NULL at this point
                                                      return ERR_PTR(-ESRCH);
                                                  }
                                                  ...
                                                  // #L438
                                                  binder_update_page_range(alloc, 0,
                                                          (void *)PAGE_ALIGN((uintptr_t)buffer->data),
                                                          end_page_addr);

                                                  // In binder_update_page_range() #L218
                                                  // But still alloc->vma_vm_mm is NULL here
                                                  if (need_mm && mmget_not_zero(alloc->vma_vm_mm))
    alloc->vma_vm_mm = vma->vm_mm;

    Crash Log:
    ==================================================================
    BUG: KASAN: null-ptr-deref in __atomic_add_unless include/asm-generic/atomic-instrumented.h:89 [inline]
    BUG: KASAN: null-ptr-deref in atomic_add_unless include/linux/atomic.h:533 [inline]
    BUG: KASAN: null-ptr-deref in mmget_not_zero include/linux/sched/mm.h:75 [inline]
    BUG: KASAN: null-ptr-deref in binder_update_page_range+0xece/0x18e0 drivers/android/binder_alloc.c:218
    Write of size 4 at addr 0000000000000058 by task syz-executor0/11184

    CPU: 1 PID: 11184 Comm: syz-executor0 Not tainted 4.18.0-rc3 #1
    Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.8.2-0-g33fbe13 by qemu-project.org 04/01/2014
    Call Trace:
     __dump_stack lib/dump_stack.c:77 [inline]
     dump_stack+0x16e/0x22c lib/dump_stack.c:113
     kasan_report_error mm/kasan/report.c:352 [inline]
     kasan_report+0x163/0x380 mm/kasan/report.c:412
     check_memory_region_inline mm/kasan/kasan.c:260 [inline]
     check_memory_region+0x140/0x1a0 mm/kasan/kasan.c:267
     kasan_check_write+0x14/0x20 mm/kasan/kasan.c:278
     __atomic_add_unless include/asm-generic/atomic-instrumented.h:89 [inline]
     atomic_add_unless include/linux/atomic.h:533 [inline]
     mmget_not_zero include/linux/sched/mm.h:75 [inline]
     binder_update_page_range+0xece/0x18e0 drivers/android/binder_alloc.c:218
     binder_alloc_new_buf_locked drivers/android/binder_alloc.c:443 [inline]
     binder_alloc_new_buf+0x467/0xc30 drivers/android/binder_alloc.c:513
     binder_transaction+0x125b/0x4fb0 drivers/android/binder.c:2957
     binder_thread_write+0xc08/0x2770 drivers/android/binder.c:3528
     binder_ioctl_write_read.isra.39+0x24f/0x8e0 drivers/android/binder.c:4456
     binder_ioctl+0xa86/0xf34 drivers/android/binder.c:4596
     vfs_ioctl fs/ioctl.c:46 [inline]
     do_vfs_ioctl+0x154/0xd40 fs/ioctl.c:686
     ksys_ioctl+0x94/0xb0 fs/ioctl.c:701
     __do_sys_ioctl fs/ioctl.c:708 [inline]
     __se_sys_ioctl fs/ioctl.c:706 [inline]
     __x64_sys_ioctl+0x43/0x50 fs/ioctl.c:706
     do_syscall_64+0x167/0x4b0 arch/x86/entry/common.c:290
     entry_SYSCALL_64_after_hwframe+0x49/0xbe
    "

    Signed-off-by: Todd Kjos <tkjos@google.com>
    Signed-off-by: Minchan Kim <minchan@kernel.org>
    Reviewed-by: Martijn Coenen <maco@android.com>
    Cc: stable <stable@vger.kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 3ed5fd0f095e9d6fe5f33f909165a8cd596e8b46
Author: Sherry Yang <sherryy@android.com>
Date:   Tue Aug 7 12:57:13 2018 -0700

    android: binder: Rate-limit debug and userspace triggered err msgs

    Use rate-limited debug messages where userspace can trigger
    excessive log spams.

    Acked-by: Arve Hjønnevåg <arve@android.com>
    Signed-off-by: Sherry Yang <sherryy@android.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 8129fb3ee7af23a888383aa23647c9d576ecdfef
Author: Sherry Yang <sherryy@android.com>
Date:   Thu Jul 26 17:17:17 2018 -0700

    android: binder: Show extra_buffers_size in trace

    Add extra_buffers_size to the binder_transaction_alloc_buf tracepoint.

    Acked-by: Arve Hjønnevåg <arve@android.com>
    Signed-off-by: Sherry Yang <sherryy@android.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 3b0bbcb65457ddec6fbee72bb26002e2bba16089
Author: Guenter Roeck <linux@roeck-us.net>
Date:   Mon Jul 23 14:41:38 2018 -0700

    android: binder: Include asm/cacheflush.h after linux/ include files

    If asm/cacheflush.h is included first, the following build warnings are
    seen with sparc32 builds.

    In file included from arch/sparc/include/asm/cacheflush.h:11:0,
            from drivers/android/binder.c:54:
    arch/sparc/include/asm/cacheflush_32.h:40:37: warning:
    	'struct page' declared inside parameter list will not be visible
    	outside of this definition or declaration

    Moving the asm/ include after linux/ includes solves the problem.

    Suggested-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Guenter Roeck <linux@roeck-us.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit e8a4948f49629c6ab122339f46908884d55ca7e9
Author: Guenter Roeck <linux@roeck-us.net>
Date:   Mon Jul 23 14:47:23 2018 -0700

    android: binder_alloc: Include asm/cacheflush.h after linux/ include files

    If asm/cacheflush.h is included first, the following build warnings are
    seen with sparc32 builds.

    In file included from ./arch/sparc/include/asm/cacheflush.h:11:0,
    	from drivers/android/binder_alloc.c:20:
    ./arch/sparc/include/asm/cacheflush_32.h:40:37: warning:
    	'struct page' declared inside parameter list

    Moving the asm/ include after linux/ includes fixes the problem.

    Suggested-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Guenter Roeck <linux@roeck-us.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 8cae6730ef318700ab3a0db3ef43ee6a5e5856c8
Author: Geert Uytterhoeven <geert@linux-m68k.org>
Date:   Wed Jun 6 14:40:56 2018 +0200

    android: binder: Drop dependency on !M68K

    As of commit 7124330dab ("m68k/uaccess: Revive 64-bit
    get_user()"), the 64-bit Android binder interface builds fine on m68k.

    Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

verify:
p212

Change-Id: I1bac2c5345bcac64a3890f1688c1ecc4a3654a79
Signed-off-by: Tao Zeng <tao.zeng@amlogic.com>
2019-05-21 14:13:25 +08:00
Tao Zeng
a59c4b9d52 kasan: rebuild address layout after vmalloc increased [1/1]
PD#SWPL-8132

Problem:
In Jira TV-5143, final fix change have increased 128MB address space
for vmalloc. Because binder wasted too many vmalloc space but it's
hard to fix it in kernel side.
Due to incease of vmalloc address space, old design of address space
layout for KASAN32 is not suitable after this change. So we need to
change memory layout to fix this problem and let KASAN can running OK
again.

Solution:
1, rebuild address space layout for kasan
2, make kasan compatible with vmap stack config

Verify:
p212

Change-Id: I2ce8a840df0ce1fcda61ebeb14a64b1d609719ca
Signed-off-by: Tao Zeng <tao.zeng@amlogic.com>
2019-05-21 13:48:04 +08:00
Tao Guo
40ca8b283a debug: add trace tag and more trace print [1/2]
PD#SWPL-8124

Problem:
There are too many trace info when enabled
Lack some important trace info

Solution:
Add tag to enable/disable trace info for different modules
Add more trace info

Verify:
P212

Change-Id: I9916b97071dc6b3a5e133bb0ea55eb9a9532cec8
Signed-off-by: Tao Guo <tao.guo@amlogic.com>
2019-05-20 11:38:18 +08:00
Peng Yixin
dd3e1faf2e media_module: add double cache in codec_mm_scatter [1/1]
PD#SWPL-6677

Problem:
    Decocder allocation and free mmu memory spend a long time.

Solution:
    Add double cache to solve this problem.

Verify:
    Verified P212

Change-Id: I393ad47b921631a49f551b32e31fd776ff4dfeea
Signed-off-by: Peng Yixin <yixin.peng@amlogic.com>
2019-05-20 11:38:14 +08:00
Xiaoming Sui
48ab30240e avsync: fix the avsync issue when pcrmaster [1/1]
PD#SWPL-7775

Problem:
dtv video freeze when the stream is replayed

Solution:
when replay at pcrmaster, check the vpts and systime,
if the vpts > systime and the diff > margin,
then adjust the sysclk to make playback smooth.

Verify:
X301

Change-Id: Id1474db030e06fff6ce425a54562cfa4e02ceaa9
Signed-off-by: Xiaoming Sui <xiaoming.sui@amlogic.com>
2019-05-17 20:05:19 +08:00
Zongdong Jiao
45af10ca5e hdmitx: add dongle_mode case for low power [2/2]
PD#SWPL-5302

Problem:
For dongle products, it is connected to TV directly, and some
parameters are different from mbox.

Solution:
Add dongle mode for driver's usage

Verify:
U211/S905Y2

Change-Id: Ibe45b167800d3b830d78ca8e9d7b67efd64d8564
Signed-off-by: Zongdong Jiao <zongdong.jiao@amlogic.com>
2019-05-16 13:17:44 +08:00
Shuai Li
49fe388415 audio: update audio driver to the latest. [1/1]
0504a9a audio: add clk tuning_enable/start_enable control in dts [1/1]
32dd894 audio: add lock for resampler [1/1]
2ad1050 audio: set hdmi format-check threshold by input samplerate [2/2]
953435d audio: fix TDMOUT channel map error [1/1]
9eace31 audio: auge: add lower power mode for PDM & vad [1/1]
90b9c44 audio: auge: add loopback driver [1/1]
0d736dd audio: add 10ms sleep before pdn enable [1/1]
51d1794 audio: add 10ms delay before pdn enable [1/1]
998f60b audio: disable tl1 acodec dac dapm to depop [1/1]
7b0ef35 audio: enable hw resmaple pause thd [1/1]
fcb2613 audio: TM2 bringup: enable ADC for linein [1/1]
4f4dc5a audio: TM2: bringup AMP ti5805 on ab301 [1/1]
758b24b audio: fixed kernel panic when resample is disabled [1/1]
19e844f audio: TM2 audio basic function bringup [1/1]
27c68d0 audio: add codec trigger mute for depop [1/1]
d415bb5 audio: fixed the issue of PDM 16 channel capture. [1/1]
d6e5cf5 audio: always on DDR arb [1/1]
0663274 audio: add HW resample for HDMIRX [1/1]
22f4718 audio: add param check for resample [1/1]
audio: add HW resample for HDMIRX [1/1]

PD#SWPL-6118

Problem:
No resample will cause mismatch between
input and output if they are not at same
samplerate.

Solution:
Add resample for hdmirx case

Verify:
Local tested.

Change-Id: I298e401578bf49484d6b75fd736d2a74c38508e4
Signed-off-by: Shuai Li <shuai.li@amlogic.com>
Signed-off-by: Luan Yuan <luan.yuan@amlogic.com>

audio: always on DDR arb [1/1]

PD#TV-3452

Problem:
Toddr stuck after a long time playback.

Solution:
For debug usage.

Verify:
No need.

Change-Id: Ibf4446148f5e028040d7d6527c7695f23f964f7c
Signed-off-by: Shuai Li <shuai.li@amlogic.com>
Signed-off-by: Zhe Wang <Zhe.Wang@amlogic.com>

audio: fixed the issue of PDM 16 channel capture. [1/1]

PD#SWPL-5551

Problem:
cannot capture 8PDM + 8LOOPBACK.

Solution:
PDM cannot support 8PDM + 8LOOPBACK.

Verify:
s420/s400, verify pass

Change-Id: Iaf38bdcb218ebfc024666312162569cab93a76a9
Signed-off-by: Renjun Xu <renjun.xu@amlogic.com>

audio: add codec trigger mute for depop [1/1]

PD#SWPL-6944

Problem:
TV-3381
Speaker sometimes has clicking noise when playing DTV program.

Solution:
add codec trigger mute for depop

Verify:
Local verified.

Change-Id: Ib15a6b90bd3a6cdda2255afaf86daeab68ba07e2
Signed-off-by: Shuai Li <shuai.li@amlogic.com>

audio: TM2 audio basic function bringup [1/1]

PD#SWPL-6721

Problem:
TM2 bringup

Solution:
audio basic function bringup

Verify:
Verified on T962e2_ab311

Change-Id: Ic48ded3964ea87e40c4d683d71a50bbdc1975f91
Signed-off-by: Zhe Wang <Zhe.Wang@amlogic.com>
Signed-off-by: Luan Yuan <luan.yuan@amlogic.com>

audio: fixed kernel panic when resample is disabled [1/1]

PD#SWPL-7039

Problem:
Kernel Panic when resample A is disabled

Solution:
When resample is disabled,don't init resample

Verify:
Verified on T962e2_ab311

Change-Id: Id9552ffc6be40f133b828dbded4ad3f15d177ab0
Signed-off-by: Zhe Wang <Zhe.Wang@amlogic.com>

audio: TM2: bringup AMP ti5805 on ab301 [1/1]

PD#SWPL-7074

Problem:
speaker doesn't work

Solution:
bringup AMP ti5805 on ab301

Verify:
Verified on T962x3_ab301

Change-Id: Icb27691b4fd5a1e54070c4a6d3d3c68cdf3a60b7
Signed-off-by: Zhe Wang <Zhe.Wang@amlogic.com>
Signed-off-by: Luan Yuan <luan.yuan@amlogic.com>

audio: TM2 bringup: enable ADC for linein [1/1]

PD#SWPL-7027

Problem:
audio path AVin is on audio

Solution:
enable ADC for linein

Verify:
Verify on AB311

Change-Id: Iea1d694e0b605d62596635d85416d33f56dbbcb2
Signed-off-by: Zhe Wang <Zhe.Wang@amlogic.com>
Signed-off-by: Luan Yuan <luan.yuan@amlogic.com>

audio: enable hw resmaple pause thd [1/1]

PD#TV-4638

Problem:
Speaker output high frequency howling
after change from pattern 615 to pattern 1 on chroma22294.
The hw resampler keeps sending noise if it has no input.

Solution:
Enable the hw resample pause thd by default.

Verify:
TL1 X301.

Change-Id: Ib6f0924025e155eaa8ba0e3681b307f7ff56b449
Signed-off-by: Shuai Li <shuai.li@amlogic.com>

audio: disable tl1 acodec dac dapm to depop [1/1]

PD#TV-3933

Problem:
Tl1 acodec has pop sound when first sound appear.

Solution:
Disable the DAPM which disable/enable every time
start/stop the audio stream.

Verify:
Tl1 X301.

Change-Id: Iaaf7da125de513bd8297f6c6e41af0a42c9d25bd
Signed-off-by: Shuai Li <shuai.li@amlogic.com>

audio: add 10ms delay before pdn enable [1/1]

PD#SWPL-7680

Problem:
the pwn signal is self excitable

Solution:
1)add 10ms delay before pdn enable
2)set default clk for extern codec

Verify:
HW verify

Change-Id: I031b20851ee1eeb65215075fc8abe783ceddf42b
Signed-off-by: Zhe Wang <Zhe.Wang@amlogic.com>

audio: add 10ms sleep before pdn enable [1/1]

PD#SWPL-7680

Problem:
mdelay will pend the system

Solution:
change mdelay to usleep_range

Verify:
HW verify

Change-Id: I8452dc7b1056378dbc6b743fc43316eccbf525a5
Signed-off-by: Zhe Wang <Zhe.Wang@amlogic.com>

audio: auge: add loopback driver [1/1]

PD#SWPL-7240

Problem:
limit of current loopback
add loopback b for tl1
add tdmin_lb

Solution:
optimize loopback driver

Verify:
s400, u200, x301, ac200, ab301

Change-Id: I9dd4c7ad041231bb2c49513e354cfb4fb92131c4
Signed-off-by: Xing Wang <xing.wang@amlogic.com>
Signed-off-by: Luan Yuan <luan.yuan@amlogic.com>

audio: auge: add lower power mode for PDM & vad [1/1]

PD#SWPL-3825

Problem:
VAD & PDM works in 24m clks for lowpower mode when in deep suspend

Solution:
support VAD & PDM in 24m sysclk, 768k dclk

Verify:
x301

Change-Id: Ic363337ee9b0eba0f890ae62b9e0cb6bb54dcd6a
Signed-off-by: Xing Wang <xing.wang@amlogic.com>
Signed-off-by: Luan Yuan <luan.yuan@amlogic.com>

audio: fix TDMOUT channel map error [1/1]

PD#SWPL-6427

Problem:
ALSA tdmout buffer frequently underrun.
This will cause the tdmout channel map error.
And the other channels data go into the spk.

Solution:
1)Adjust the sequence of starting and stopping.
2)reserved frddrA for EQ/DRC module

Verify:
Test more that 1 hour and pass.
Need more stress test.

Change-Id: Ib9b6897f0b6c32652c611a8c2c367aa76b9f1e3f
Signed-off-by: Shuai Li <shuai.li@amlogic.com>
Signed-off-by: Zhe Wang <Zhe.Wang@amlogic.com>
Signed-off-by: Luan Yuan <luan.yuan@amlogic.com>

audio: set hdmi format-check threshold by input samplerate [2/2]

PD#SWPL-6340

Problem:
ddp audio input from hdmiin is not smooth

Solution:
set hdmiin format-check threshold by input sr

Verify:
Verified by x301.

Change-Id: Idb8ffa616c3880b1c34d61ca4e8c2917343a9ffc
Signed-off-by: Zhe Wang <Zhe.Wang@amlogic.com>

audio: add lock for resampler [1/1]

PD#SWPL-8134

Problem:
kernel NULL pointer for aml_resample_enable

Solution:
add lock for resampler

Verify:
Need stress test for x301

Change-Id: I1bbf5d7aeab681399c93f0cba9cc59195d3be0d6
Signed-off-by: Shuai Li <shuai.li@amlogic.com>

audio: add clk tuning_enable/start_enable control in dts [1/1]

PD#SWPL-8306

Problem:
speaker without audio on S400. sideeffect of SWPL-7680

Solution:
add control interface in dts to enable clk tuning
and start clk before codec init

Verify:
verify on S400

Change-Id: Ic9f4e7b13b7d4ced18852346cdc7cf5f48e510dc
Signed-off-by: Zhe Wang <Zhe.Wang@amlogic.com>
Signed-off-by: Luan Yuan <luan.yuan@amlogic.com>

audio: add param check for resample [1/1]

PD#SWPL-7798

Problem:
Crashed when audio resample setting params
are invalid.

Solution:
Add check method if the params is invalid.

Verify:
Tl1.

Change-Id: I1e0396be8d401c0a49ff0de9fd7f160f0c8133ca
Signed-off-by: Shuai Li <shuai.li@amlogic.com>
Signed-off-by: Luan Yuan <luan.yuan@amlogic.com>
2019-05-15 19:30:57 +08:00
wenbiao zhang
c891636f02 bandwidth: fix wrong bandwidth usage on t950 [1/3]
PD#TV-470

Problem:
t950 ddr bandwidth usage is error

Solution:
t950/805x ddr is 16bit, correct the param to get right usage

Verify:
t950

Change-Id: Ice876f82e5c33e778b3ac9f593e0c163d57d7f3f
Signed-off-by: wenbiao zhang <wenbiao.zhang@amlogic.com>
2019-05-14 11:05:03 +08:00
long yu
d3a2a17000 storage: emmc: Add HS400 busmode support for G12B-RevB [1/1]
PD#SWPL-5040

Problem:
not support HS400 busmode

Solution:
add HS400 busmode support for G12B-RevB

Verify:
T962X-R311,TL1-T962X2_X301,G12B-W400

Change-Id: I11a1f47b9473fa341c7d754a51d6e270551758a7
Signed-off-by: long yu <long.yu@amlogic.com>
2019-05-10 18:54:48 +08:00
Long Yu
09146b28cf storage: emmc: Add HS400 busmode support for TL1 [1/1]
PD#SWPL-2311

Problem:
not support HS400 busmode

Solution:
add HS400 busmode support for TL1

Verify:
TL1-T962X2_X301

Change-Id: I95ac19e9c0c5b84c9225602cda6964aaaee4151e
Signed-off-by: Long Yu <long.yu@amlogic.com>
Signed-off-by: Luan Yuan <luan.yuan@amlogic.com>
2019-05-10 18:54:47 +08:00
Xiaoming Sui
3352dd11fd avsync: spdif: fix the avsync for ms12 [1/4]
PD#SWPL-5837

Problem:
dtv is out of avsync when dolby ms12 certificate

Solution:
when the audio is played, recalculate the apts to sync
pcrsrc when pcrmaster.

Verify:
X301

Change-Id: I199383aa1c0de1b4f0ec646d9d066910b3bb2b42
Signed-off-by: Xiaoming Sui <xiaoming.sui@amlogic.com>

avsync: tsync: fix the avsync for ms12 [3/4]

PD#SWPL-5837

Problem:
dtv is out of avsync when dolby ms12 certificate

Solution:
when the audio is played, recalculate the apts to sync
pcrsrc when pcrmaster.

Verify:
X301

Change-Id: Ia121e57ad69c5b0d211e14bf3a61f165457e54c7
Signed-off-by: Xiaoming Sui <xiaoming.sui@amlogic.com>
2019-05-09 14:13:26 +08:00
Rong Zhang
c4ec76d0d0 media_module: mh264/h265/avs2 [1/2]
PD#SWPL-6607

Problem:
	Not support QOS information for mh264.h265,avs2

Solution:
	Support QOS information picking for mh264,h265,avs2
	Support QOS information access interface by ioctl

Verify:
	Verified franklin

Change-Id: I4e6f85392007bc78a274726aba510c39088018e3
Signed-off-by: Rong Zhang <rong.zhang@amlogic.com>
2019-05-07 20:05:20 +08:00