PD#SWPL-144894
Problem:
Still running commit and wait vblank ioctl
cause shutdown not to work.
Solution:
1.drm_wait_vblank_ioctl can suspend on wait vblank,
so use helper shutdown to disable KMS and disable irq.
2.drm_wait_vblank_ioctl can also suspend on lock before
waiting vblank, so force drm_device.num_crtc=0 to prevent it.
3.running commit can be suspended by blocking the atomic ioctl
thread and commit thread. For commit thread, flush worker of
thread and stop it.
Verify:
yocto + S905y4
android + s905y4
yocto + t7c
android + t7c
Test:
DRM-OSD-30
Change-Id: Id7c30e3afbcc83051ef4d1c4933c8e0140aebfd1
Signed-off-by: yujun.zhang <yujun.zhang@amlogic.com>
PD#SWPL-165984
Problem:
S7D uses different PATH_MISC_CTRL definition from other platforms,
and causes rdma issue in case of multiple displays in other platforms.
Solution:
use gfcd only for S7D.
Verify:
t7c
Test:
DRM-OSD-2
Change-Id: Ie13eff1c9e330340e2f4c21d9a90f72500c373f1
Signed-off-by: yujun.zhang <yujun.zhang@amlogic.com>
PD#SWPL-163920
Problem:
hdr before osdblend, it will cause UI flashing when switch composites
between device and gpu for multi-layers
Solution:
add drm_policy_mask property to report hardware feature
then hwc will not exchange device and client composite repeatedly
Verify:
s5 s7d
Test:
DRM-OSD-59
Change-Id: I8c717e180c4962ab8f422efa607e4d63d298e462
Signed-off-by: wenlong.zhang <wenlong.zhang@amlogic.com>
Signed-off-by: Ao Xu <ao.xu@amlogic.com>
PD#SWPL-163672
Problem:
set bg color at anytime
Solution:
move dummy data setting from video update to crtc_flush
Verify:
zapper s1a
Test:
DRM-OSD-20
Change-Id: I61baee791fe2024945f8bc3e621ee01ef13e0831
Signed-off-by: linfang.zhao <linfang.zhao@amlogic.com>
PD#SWPL-160146
PD#SWPL-163250
PD#SWPL-162538
Problem:
osd1 has the even width, osd3 has the odd width
it will lead to osd1 flicker.
Solution:
osd proc in hsize should be two times of real hsize
Verify:
s5
Test:
DRM-OSD-9, DRM-OSD-50
Change-Id: I65a21ead5b435944228ce9108b2fc54da09f5b63
Signed-off-by: Ao Xu <ao.xu@amlogic.com>
PD#SWPL-157417
Problem:
hdr in size is incorrect
Solution:
fill hdr in size according osd source input
Verify:
t7c
Test:
DRM-OSD-57
Change-Id: I79320514261db0dc35053a9e0a3b8474fdbb640f
Signed-off-by: yujun.zhang <yujun.zhang@amlogic.com>
PD#SWPL-164125
Problem:
hdr in size is incorrect
Solution:
fill hdr in size according osd source input
Verify:
s7d
Test:
DRM-OSD-57
Change-Id: I92ab6c424ba26a7f52960573a51043e2fd450692
Signed-off-by: wenlong.zhang <wenlong.zhang@amlogic.com>
PD#SWPL-161908
Problem:
due to obtaining the init value of fifo before
initializing the mif register, the bits value of
fifo_crtl are incorrect, and the bandwidth of t3x
osd2 whiteboard is twice the theoretical value
Solution:
first initialize the fifo register and then use the
initial value, the value of the fifo_crtl bits is correct
Verify:
t3x dual
Test:
DRM-OSD-56
Change-Id: Icd24e5e2b36e46bb78414c0ededfee981d52b707
Signed-off-by: congyang.huang <congyang.huang@amlogic.com>
PD#SWPL-158147
Problem:
not hardcode dummy_panel timing
Solution:
get vinfo2 timing and set for dummy_panel
Verify:
txhd2
Test:
DRM-OSD-55
Change-Id: I6b899edfc9445f880cb217d6b1e96d63acbdd249
Signed-off-by: congyang.huang <congyang.huang@amlogic.com>
PD#SWPL-156902
Problem:
hwc need get lcd connector's vrr range info
Solution:
add get_vrr_range function for lcd connector
Verify:
t3x
Test:
DRM-LCD-1
Change-Id: I562929b06bdfcfc4bb514b2d67e93e84a6925814
Signed-off-by: Ao Xu <ao.xu@amlogic.com>
PD#SWPL-161420
Problem:
t3x mode will change from 48-120hz
it will lead to garbage screen
Solution:
add force_slice parameter
Verify:
t3x-bc302
Test:
DRM-OSD-10
Change-Id: I7134c628dc412bf43a5419c8f85782a6e414b4bf
Signed-off-by: Ao Xu <ao.xu@amlogic.com>
PD#SWPL-163844
Problem:
switch to 59.94hz, not set 60hz mode when qms enable
because frac mode
Solution:
set frac 0 when brr mode
Verify:
s7d
Test:
DRM-TX-75
Change-Id: I69fc38ffee456d2a917f586e7ed04dad3aa8a22d
Signed-off-by: Wenjie Qiao <wenjie.qiao@amlogic.com>
PD#SWPL-162048
Problem:
the value of the vrr range debugfs node is incorrect
Solution:
update the value of vrr range to the debugfs node in get_modes
Verify:
t7
Test:
DRM-OSD-16
Change-Id: Ie465fabc761f23beaca406c8bb60b743f173c3bb
Signed-off-by: congyang.huang <congyang.huang@amlogic.com>
PD#SWPL-153008
Problem:
conflict between drm and dv when write afbc top ctrl reg
Solution:
write osd_axi_sel bit when update_state func come firstly,
and the bit only set mali_afbcd_data one time.
Verify:
T7C
Test:
DRM-OSD-6
Change-Id: Ib05927b147f524862cfa20070cc0474dd0dc5854
Signed-off-by: linfang.zhao <linfang.zhao@amlogic.com>
PD#SWPL-151540
Problem:
kasan failed
cat/echo sysfs osd node crash in s5
cat fbdump return zero size file in s5
Solution:
reset BLOCK_ID_MAX with 32
sysfs node should according to vpu block by index
set correct plane index
Verify:
s5, t5m
Test:
DRM-OSD-17
Change-Id: I02094c9044b172af46ab9b5bd5688a12f18ce96a
Signed-off-by: mingyang.he <mingyang.he@amlogic.com>
PD#SWPL-158042
Problem:
drm module automic-check and automic-enable use differnet hpd status
information when hdmitx hotplug
Solution:
[hpd] add system timein hdmitx state
Verify:
S5/SC2
Test:
DRM-TX-103
Change-Id: Id0f37cf01c5266a720f2881ee8cd9fab274b79b9
Signed-off-by: yahui.liu <yahui.liu@amlogic.com>
PD#SWPL-159921
Problem:
when rgba4444 pixel format's alpha is largest,
the displaying is transparent
Solution:
Set the correct mode so that the color component is padding with
most-left bits on the right instead of 0 when it expands to 8 bits
Verify:
t3x
Test:
DRM-OSD-7
Change-Id: I421f130ca3c82a99fd9557a68dcaf21b6d0e4f95
Signed-off-by: mingyang.he <mingyang.he@amlogic.com>
PD#SWPL-160107
Problem:
if osd1 scaling firstly, and then osd2 scaling different from
osd1, osd2 postion will be shift.
Solution:
clean last pipeline status of scaling
Verify:
SC2
Test:
DRM-OSD-8
Change-Id: Ie2363fd5afcd7341a6589dfc11d1c668951f88c8
Signed-off-by: wenlong.zhang <wenlong.zhang@amlogic.com>
PD#SWPL-102815
Problem:
The scaling algorithm needs to be optimized
Solution:
scaler0_block input size should refer to the
source of osd0, and postblend hstart&vstart usd the dst_x&dst_y of
osd0.
Verify:
s4
Test:
DRM-OSD-8
Change-Id: Ic3ffddbfa92ff2de0cf3345fb6a970bb842b413c
Signed-off-by: wenlong.zhang <wenlong.zhang@amlogic.com>
PD#SWPL-158272
Problem:
when only osd2 is displayed, osdblend will crash
Solution:
the index of osd is not equal to the index
of the structure array of osdblend_t3x_din
Verify:
t3x
Test:
DRM-OSD-9
Change-Id: I4ed287beab5292538cf20f268c2d4040e6551ff8
Signed-off-by: congyang.huang <congyang.huang@amlogic.com>
PD#SWPL-158247
Problem:
hdr_cap parameter is static type, which will return incorrect value
Solution:
remove static type of hdr_cap parameter
Verify:
SC2
Test:
DRM-TX-100
Change-Id: Ia41b4d7b88dbe595bd90c30c163bc07c4b32663e
Signed-off-by: wenlong.zhang <wenlong.zhang@amlogic.com>
PD#SWPL-153877
Problem:
conflict between drm and dv when write afbc top ctrl
Solution:
drm get dv status and write corresponding reg bit
Verify:
T7C
Test:
DRM-OSD-6
Change-Id: I45e8f9c86b7ca63532d642c268e5e5dba866fca0
Signed-off-by: linfang.zhao <linfang.zhao@amlogic.com>
PD#SWPL-154857
Problem:
crash when play the video is protected by digital rights management
Solution:
modify kfree to vfree
Verify:
sc2
Test:
DRM-OSD-3
Change-Id: Ifff893726965e12fcf1e07a0fb87af5be0d11a8d
Signed-off-by: mingyang.he <mingyang.he@amlogic.com>
PD#SWPL-150255
Problem:
issues with flashing and black screens during the startup
afbc dump reg error
Solution:
1.the vpp0 not init and write the vpp1 reg
2.distinguish crtcs in postblend_disable
3.dump the correct address of the afbc reg
4.not dump osdblend reg due to txhd2 no osdblend
Verify:
t3x dual
Test:
DRM-OSD-9
DRM-OSD-11
Change-Id: I8b81880fda51fed3718624d82a764ac93423da06
Signed-off-by: congyang.huang <congyang.huang@amlogic.com>
PD#SWPL-156112
Problem:
txhd2 not have osdblend
osd2_bld_src_ctrl did not clear the bit when osd2 was disabled
Solution:
not dump txhd2 osdblend reg
clear osd2_bld_src_ctrl when osd2 was disabled
Verify:
txhd2
Test:
DRM-OSD-9
DRM-OSD-11
Change-Id: I5aefb58eb182886697081174f61429244e575549
Signed-off-by: congyang.huang <congyang.huang@amlogic.com>
PD#SWPL-155059
Problem:
hwc depend on mode change uevent to unblank display
drm did not set the same mode.
Solution:
add force update property for cvbs connector
drm will do a mode change forcely
Verify:
ohm
Test:
DRM-CVBS-2
Change-Id: I2ab6aac005ca1bbfb3b3ae241eb98629bcd59f75
Signed-off-by: Ao Xu <ao.xu@amlogic.com>
PD#SWPL-96632
Problem:
hdmitx_common_validate_format_para has no mutex lock protect.
when hdmitx plug event happen in encoder atomic check stage,
it will lead to info mismatch
Solution:
add hdmitx_common_validate_mode_locked api which has mutex lock
to protect the encoder check flow.
Will revert it when we move edid parering to drm.
Verify:
ah212
Test:
DRM-OSD-5
Change-Id: I7b4c98fac8378133166100f9d22ddcfe0af66407
Signed-off-by: Ao Xu <ao.xu@amlogic.com>
PD#SWPL-155913
Problem:
any video commit will set background function
Solution:
only setting background by property
Verify:
sc2
Test:
DRM-OSD-145
Change-Id: I2df668789259e78c0d62d853a83329affc59048b
Signed-off-by: wenlong.zhang <wenlong.zhang@amlogic.com>
PD#SWPL-148385
Problem:
video and ui disappear when ui quit after playing video
Solution:
make mif and video write reg in the same time
Verify:
t7
Test:
DRM-OSD-11
Change-Id: I9d16bac1c2da30e908d849b41f1865e441d70a74
Signed-off-by: mingyang.he <mingyang.he@amlogic.com>
PD#SWPL-141593
Problem:
/sys/class/display/mode is not used anymore
need add a new sysfs node to do modesetting
Solution:
add sysfs node to set display mode
Verify:
ohm/t7c
Test:
DRM-OSD-122
Change-Id: Ie897a1cfdf1a0f2574fd14f6576b2bc1fb377c1a
Signed-off-by: Ao Xu <ao.xu@amlogic.com>
PD#SWPL-152450
Problem:
need remove workaround for drm osd display
Solution:
uboot has been fixed, the kernel can remove workaround
Verify:
s7
Test:
DRM-OSD-96
Change-Id: I16c53637b1abe183d4e8ad94c29e14fc5563a596
Signed-off-by: congyang.huang <congyang.huang@amlogic.com>
PD#SWPL-135805
Problem:
need drm support for s7 bringup
Solution:
add drm support for s7 bringup
Verify:
ptm
Test:
DRM-OSD-96
Change-Id: I28960a8ccb75240b8abbae2ee343f412260e9de8
Signed-off-by: mingyang.he <mingyang.he@amlogic.com>
PD#SWPL-147709
Problem:
burn dovi.ko, the color display abnormally
Solution:
uboot and dv write dv bits, so drm should not init it
Verify:
t7c
Test:
DRM-OSD-145
Change-Id: I79355c657ba672cafd8fa57c97160e65e053b30a
Signed-off-by: congyang.huang <congyang.huang@amlogic.com>
PD#SWPL-62336
Problem:
the struct for drm mush larger than normal so need appropriate
method of alloc memory
Solution:
use vmalloc instead of kmalloc
Verify:
ohm
Test:
DRM-OSD-143
Change-Id: If680bd0ed8b81e730dfc77ebe3531db0474b52d3
Signed-off-by: mingyang.he <mingyang.he@amlogic.com>