PD#SWPL-6631
Problem:
dv certification need osd blend bypass
Solution:
add osd blend bypass function
Verify:
verified on tm2 t96e2
Change-Id: I91ba9c622aacc7bc9ad657105fd5e53a3cee595b
Signed-off-by: yao liu <yao.liu@amlogic.com>
PD#SWPL-11431
Problem:
black screen on 4k60hz
display abnormal on 1080p24hz/1080i/576p/480p
Solution:
1.Adjust potch according to resolution
2.Add tm2 in is_graphics_output_off
3.Move osd sc to the back of core2
Verify:
Verified on TM2
Change-Id: Ida1b4a67b3a7233d3a03b0536d246a0bd677e90c
Signed-off-by: yao liu <yao.liu@amlogic.com>
PD#SWPL-10952
Problem:
osd for 4k native UI
Solution:
modify u32 to u64 for left-shift
Verify:
verified on g12b-w400
Change-Id: I9e98e3b5769d61132570f3f4bb1f47694cffde8f
Signed-off-by: Cao Jian <jian.cao@amlogic.com>
PD#SWPL-11388
Problem:
rdma not support multi reg trace
Solution:
add rdma multi reg trace function
Verify:
verify by g12b w400
Change-Id: I74496e11f85af5f2e9aa99108dfc5842eb98d9fc
Signed-off-by: Pengcheng Chen <pengcheng.chen@amlogic.com>
PD#SWPL-7636
Problem:
update dvfs voltage and pwm for g12b revb
Solution:
update dvfs voltage and pwm for g12b revb
Verify:
update dvfs voltage and pwm for g12b revb
Change-Id: I29deea791126fcb1819be380ed81bc2aa29eeec6
Signed-off-by: Hong Guo <hong.guo@amlogic.com>
PD#TV-9668
Problem:
After cpu idle enabled, watch point event register will be cleared
if cpu exit pm(idle). This will cause watch point can't work.
Solution:
re-enable watch point after cpu exit pm(idle)
Verify:
TL1
Change-Id: I4fc2002eaabecd4c5e60a5916bc29e0107882bec
Signed-off-by: Tao Zeng <tao.zeng@amlogic.com>
PD#SWPL-5564
Problem:
When open VMAP for kernel stack, if we meet kernel panic log, we
can't know physical address of stack and hard to debug.
Solution:
Print pfn for register in vmalloc range
Verify:
p212
Change-Id: Iee120df1feab88e412ef63e87c2e2bb4ad0645fb
Signed-off-by: Tao Zeng <tao.zeng@amlogic.com>
PD#SWPL-15010
Problem:
Crash if keep executing echo w > /proc/sysrq-trigger
on android platform
Solution:
Add necessary checking for the fp to be dereferenced in
dump_backtrace_entry with VMAP stack enabled
Verify:
U212
Change-Id: I69d8d7353cf99a71dc3e7640efa1d460ef2f5f9a
Signed-off-by: Jiamin Ma <jiamin.ma@amlogic.com>
PD#SWPL-13243
Problem:
pmu event is not accurate or not complete in A53/A55/A73.
Solution:
1, modify event config for A53/A55/A73.
2, perf executable file must compiled from latest kernel(5.1+)
3, A55 events are most complete, A73 are least complete(eg: less ld_retired/st_retired/stall/prefetch events)
4, A55/A53 same event meanings simlar, but A73 is more different(eg: L1/L2 dcache/icache loads meanings)
sample commands:
a55 arm64:
perf stat -e task-clock,context-switches,cpu-migrations,page-faults,instructions,armv8_pmuv3/ld_retired/,armv8_pmuv3/st_retired/,cycles,branch-loads,branch-load-misses,armv8_pmuv3/a55_l1d_cache_rd/,armv8_pmuv3/a55_l1d_cache_refill_rd/,armv8_pmuv3/a55_l1d_cache_wr/,armv8_pmuv3/a55_l1d_cache_refill_wr/,L1-icache-loads,L1-icache-load-misses,armv8_pmuv3/a55_l2d_cache_rd/,armv8_pmuv3/a55_l2d_cache_refill_rd/,armv8_pmuv3/a55_l1d_cache_refill_inner/,armv8_pmuv3/a55_l1d_cache_refill_outer/,armv8_pmuv3/a55_l1d_cache_refill_prefetch/,armv8_pmuv3/a55_l2d_cache_refill_prefetch/,armv8_pmuv3/a5x_stall_frontend_cache/,armv8_pmuv3/a5x_stall_frontend_tlb/,armv8_pmuv3/a5x_stall_backend_ld/,armv8_pmuv3/a55_stall_backend_ld_cache/,armv8_pmuv3/a55_stall_backend_ld_tlb/,armv8_pmuv3/a5x_stall_backend_st/,armv8_pmuv3/a5x_stall_backend_ilock_agu/,armv8_pmuv3/a5x_stall_backend_ilock_fpu/ ls
a53 arm64:
perf stat -e task-clock,context-switches,cpu-migrations,page-faults,instructions,armv8_pmuv3/ld_retired/,armv8_pmuv3/st_retired/,cycles,branch-loads,branch-load-misses,armv8_pmuv3/l1d_cache/,armv8_pmuv3/l1d_cache_refill/,L1-icache-loads,L1-icache-load-misses,armv8_pmuv3/a5x_l2d_cache/,armv8_pmuv3/a5x_l2d_cache_refill/,armv8_pmuv3/a53_cache_refill_prefetch/,armv8_pmuv3/a53_scu_snooped/,armv8_pmuv3/a5x_stall_frontend_cache/,armv8_pmuv3/a5x_stall_frontend_tlb/,armv8_pmuv3/a5x_stall_backend_ld/,,armv8_pmuv3/a5x_stall_backend_st/,armv8_pmuv3/a5x_stall_backend_ilock_agu/,armv8_pmuv3/a5x_stall_backend_ilock_fpu/ ls
a73 arm64: (w400 bind to a73 cpu2)
perf stat -e task-clock,context-switches,cpu-migrations,page-faults,instructions,cycles,branch-loads,branch-load-misses,armv8_pmuv3/l1d_cache/,armv8_pmuv3/l1d_cache_refill/,armv8_pmuv3/a55_l1d_cache_rd/,armv8_pmuv3/a55_l1d_cache_wr/,armv8_pmuv3/a5x_l2d_cache/,armv8_pmuv3/a5x_l2d_cache_refill/,armv8_pmuv3/a55_l2d_cache_rd/,armv8_pmuv3/a55_l2d_cache_wr/ busybox taskset 4 ls
a55 arm:
perf stat -e task-clock,context-switches,cpu-migrations,page-faults,instructions,armv7_cortex_a15/ld_retired/,armv7_cortex_a15/st_retired/,cycles,branch-loads,branch-load-misses,armv7_cortex_a15/a55_l1d_cache_rd/,armv7_cortex_a15/a55_l1d_cache_refill_rd/,armv7_cortex_a15/a55_l1d_cache_wr/,armv7_cortex_a15/a55_l1d_cache_refill_wr/,L1-icache-loads,L1-icache-load-misses,armv7_cortex_a15/a55_l2d_cache_rd/,armv7_cortex_a15/a55_l2d_cache_refill_rd/,armv7_cortex_a15/a55_l1d_cache_refill_inner/,armv7_cortex_a15/a55_l1d_cache_refill_outer/,armv7_cortex_a15/a55_l1d_cache_refill_prefetch/,armv7_cortex_a15/a55_l2d_cache_refill_prefetch/,armv7_cortex_a15/a5x_stall_frontend_cache/,armv7_cortex_a15/a5x_stall_frontend_tlb/,armv7_cortex_a15/a5x_stall_backend_ld/,armv7_cortex_a15/a55_stall_backend_ld_cache/,armv7_cortex_a15/a55_stall_backend_ld_tlb/,armv7_cortex_a15/a5x_stall_backend_st/,armv7_cortex_a15/a5x_stall_backend_ilock_agu/,armv7_cortex_a15/a5x_stall_backend_ilock_fpu/ ls
a53 arm:
perf stat -e task-clock,context-switches,cpu-migrations,page-faults,instructions,armv7_cortex_a15/ld_retired/,armv7_cortex_a15/st_retired/,cycles,branch-loads,branch-load-misses,armv7_cortex_a15/l1d_cache/,armv7_cortex_a15/l1d_cache_refill/,L1-icache-loads,L1-icache-load-misses,armv7_cortex_a15/a5x_l2d_cache/,armv7_cortex_a15/a5x_l2d_cache_refill/,armv7_cortex_a15/a53_cache_refill_prefetch/,armv7_cortex_a15/a53_scu_snooped/,armv7_cortex_a15/a5x_stall_frontend_cache/,armv7_cortex_a15/a5x_stall_frontend_tlb/,armv7_cortex_a15/a5x_stall_backend_ld/,armv7_cortex_a15/a5x_stall_backend_st/,armv7_cortex_a15/a5x_stall_backend_ilock_agu/,armv7_cortex_a15/a5x_stall_backend_ilock_fpu/ ls
a73 arm: (w400 bind to a73 cpu2)
perf stat -e task-clock,context-switches,cpu-migrations,page-faults,instructions,cycles,branch-loads,branch-load-misses,armv7_cortex_a15/l1d_cache/,armv7_cortex_a15/l1d_cache_refill/,armv7_cortex_a15/a55_l1d_cache_rd/,armv7_cortex_a15/a55_l1d_cache_wr/,armv7_cortex_a15/a5x_l2d_cache/,armv7_cortex_a15/a5x_l2d_cache_refill/,armv7_cortex_a15/a55_l2d_cache_rd/,armv7_cortex_a15/a55_l2d_cache_wr/ busybox taskset 4 ls
Verify:
ac200/u200/w400
Change-Id: I7f11e1480c3c27d016b011d2a84c33e824f69b08
Signed-off-by: Hanjie Lin <hanjie.lin@amlogic.com>
PD#OTT-2730
Problem:
1.BT open fail;
2.the problem is caused by Flow Control;
Solution:
1.set host cts pull-down as default on the dts.
Verify:
Galilei.
Change-Id: I42aa3bfa263d4330219268622bce94bfc24ced8a
Signed-off-by: Kuibao Zhang <kuibao.zhang@amlogic.com>
PD#SWPL-1856
Problem:
refactored irblaster code
Solution:
1. Refactor the code according to the core, provider, and consumer
frameworks.
2. Provide software encode to let irblaster work according to different
protocols
3. Provide a unified consumer interface to allow other consumer drivers
to use irblaster.
Verify:
test pass on g12a_u200_v1
Change-Id: Ifd841ef0ed741b7fd721defc25691744ea2103f0
Signed-off-by: Bichao Zheng <bichao.zheng@amlogic.com>
PD#SWPL-14953
Problem:
commit: 64ef52a0160d33a2aa88eff05a373bafc6d8637d
arm64 dts set err.
Solution:
modify it.
Verify:
sm1_ac200
Change-Id: Ida45806ec2232435d9d7b40f5286a46528f8ab73
Signed-off-by: Nan Li <nan.li@amlogic.com>
PD#SWPL-14953
Problem:
SD card 3.0 mode requires power cycle.
if not, the initialization of SD card will be affected.
Solution:
add SD power cycle supported.
Verify:
sm1_ac200
Change-Id: Ic8aecadf3b63660adb74ff4ecf0a5d38037b579f
Signed-off-by: Nan Li <nan.li@amlogic.com>
PD#SH-986
Problem:
nn module and usb module confilct
Solution:
add a label in galcore
Verify:
s905d3 w400
Change-Id: I3f5b8738aa8924c7a292fc1da6dda1d2002a77ae
Signed-off-by: "cancan.chang" <cancan.chang@amlogic.com>
PD#SWPL-5395
Problem:
sm1 support double-edge trigger, current code do not support.
Solution:
add relatvie bitmask to support this function.
Verify:
ptm & sm1_skt
Change-Id: I48ebc9b38db868f946c49b6fd5f98d427b2669df
Signed-off-by: Qianggui Song <qianggui.song@amlogic.com>
PD#SWPL-6193
Problem:
ramdump need write compressed data to persist storage device.
But if we write it under uboot, it may cause journal and block
bitmap mismatch due to different version of file system. This
caused kernel panic after ramdump finished.
Solution:
Write compressed data under kernel.
This change also removed some extern function of ramdump since
we use sticky register to store ramdump information.
Verify:
p212
Change-Id: Idd83ec6ead4783918b90a39cf716fd3117402278
Signed-off-by: Tao Zeng <tao.zeng@amlogic.com>
PD#SWPL-9471
Problem:
it will hangup when play 3D game for a long time
Solution:
using the origin clk-mux ops to register cpu clock
Verify:
test passed on x301
Change-Id: I1b977e3a9559ef5f376d4cb8a4735e943c07f525
Signed-off-by: Jian Hu <jian.hu@amlogic.com>
PD#SWPL-15143
Problem:
userspace program use the write() syscall to write the node.
when write the strlen() length content, it will fail.
Solution:
use the buf[size] to instead of buf[size-1]
Verify:
U200
Change-Id: I886d9a1cbf3da459476bca76c9a5708ecbc20afe
Signed-off-by: Ao Xu <ao.xu@amlogic.com>
PD#SWPL-11059
Problem:
gamma setting in DRM
Solution:
merge commit related to gamma
Author: Ao Xu <ao.xu@amlogic.com>
Date: Tue Oct 30 19:18:21 2018 +0800
drm: add meson private property gamma_lut
When setting CTM, gamma is also set again.
Setting gamma frequently will lead to visual glitches.
Add a private value to record whether
gamma_lut blob is changed.
Bug: b/113682067
Test: Ran on device and changed gamma to verify there are no glitches
Author: Fergus Simpson <afergs@google.com>
Date: Fri Aug 10 13:18:36 2018 -0700
[Estelle] Enable top/bottom color clamping
Modifies amvecm's color clipping to allow either the lower or upper
limit to be set. This sets clipping registers that hold the top and
bottom 10-bit clipping values for each color channel.
This does not cause the artifacts that we've been seeing while trying
enable the gamma tables.
Usage (set a clip of 32/255):
echo 20080020 > /sys/class/amvecm/color_bottom
Bug: 109942195
Test: Flashed to device and tested with a internal changes that use the
registers.
Author: Frank Chen <frank.chen@amlogic.com>
Date: Wed Aug 8 15:21:17 2018 +0800
remove gamma_enable in am_meson_crtc_create
Verify:
verify by u200
Change-Id: I4221b3b4671516e7afd4dea14ce3cd71b4b66433
Signed-off-by: Dezhi Kong <dezhi.kong@amlogic.com>
PD#SWPL-11320
Problem:
current gem driver have not implementted the import interface.
For drm-hwc in android, gralloc allocate the dumb buffer, it
should use the import interface to import the allocated buffer
to the drm driver.
Solution:
implement the gem import interface
Verify:
g12a-u200
Change-Id: I32f7705fd67853a1000875b2af69fcaf700330e1
Signed-off-by: Ao Xu <ao.xu@amlogic.com>
PD#SWPL-7987
Problem:
TL1 DRM support
Solution:
add TL1 DRM support
Verify:
t962x2_x301
Change-Id: Ibc8ff641f42c0a416e80c3a420c1d808e0ad8b26
Signed-off-by: Dezhi Kong <dezhi.kong@amlogic.com>
PD#SWPL-4866
Problem:
1. The old implement not support atomic. (the atomic check on am_meson
hdmi.c will disable CP,The set property function will not reached when
use atomic set CP)
2. The hdcp work kthread start and terminal not match cause coredump.
Problem:
need add hdcp function.
Solution:
Start hdcp work when the encoder enabled.stop when encoder disabled.
modified hdcp work state machine.
Verify:
On u212 drm backend, use drm-helper-client to set CP property.
need enable atomic on wayland.based on below CL
http://scgit.amlogic.com:8080/#/c/78810/1http://scgit.amlogic.com:8080/#/c/78804/2http://scgit.amlogic.com:8080/#/c/78811/1
Change-Id: If213b7def89ff1f1ec63b866a21a3323e098786f
Signed-off-by: lingjie li <lingjie.li@amlogic.com>
PD#SWPL-12289
Problem:
drm driver has no debug sysfs file
Solution:
add follow sysfs node
1. dump the osd register
/sys/kernel/debug/dri/%minor%/vpu/reg_dump
2. dump the gem buffer image
/sys/kernel/debug/dri/%minor%/vpu/dump
3. set the gem buffer image store path
/sys/kernel/debug/dri/%minor%/vpu/imgpath
4. set 1 to disable the osd plane
/sys/kernel/debug/dri/%minor%/vpu/blank
Verify:
g12a-u200
Change-Id: I10746d65b09d3b530dc22720b8cee669fa120dde
Signed-off-by: Ao Xu <ao.xu@amlogic.com>
PD#SWPL-13092
Problem:
drm driver has no drm support
Solution:
add afbc block support
Verify:
g12a-u200
Change-Id: If2e57b63032e9f93be800bda652b80e560163231
Signed-off-by: Ao Xu <ao.xu@amlogic.com>
PD#SWPL-8061
Problem:
SM1 support
Solution:
add sm1 support
Verify:
verify by ac200 with modetest command
Change-Id: Id79f227afa7f7dbcaad09887f8bdbd1f64b93c4a
Signed-off-by: Dezhi Kong <dezhi.kong@amlogic.com>
PD#SWPL-9646
Problem:
unsupport multi-layer
Solution:
add multi-layer support
Verify:
verify by w400 with modetest command
Change-Id: I5cd50761d2ab9cfff0f80d38e20455044c7a33fd
Signed-off-by: Dezhi Kong <dezhi.kong@amlogic.com>
PD#SWPL-7872
Problem:
TM2 special case , vd2 afbc can't work on TM2
Solution:
Process bl+el as SDR on TM2
Verify:
T962e2
Change-Id: I2433b72c4b5548e75665aba9623a29cd5f12d202
Signed-off-by: yao liu <yao.liu@amlogic.com>
PD#TV-1586
Problem:
no atv format get func
Solution:
Add atv format get func
Verify:
verified by x301
Change-Id: Ia43d5a67370d2b025e1b32833a5408a5e7d251d4
Signed-off-by: Nian Jing <nian.jing@amlogic.com>