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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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 ec74136dedhttps://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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>