Commit Graph

51656 Commits

Author SHA1 Message Date
Andy Yan
972ff062a4 drm/rockchip: vop2: No scale if gt2/gt4 enabled
Change-Id: I9766b44d87b4b20ec12eac0422bc07ec8b66fdda
Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
2020-12-15 17:23:54 +08:00
Sandy Huang
25120743e0 drm/rockchip: vop2: fix esmart display black screen
This is workaround solution for IC design:
esmart can't support scale down when actual_w % 16 == 1.

Change-Id: I0fa090c5e28b79e644ef31ea1184b724b9d32ffa
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
2020-12-15 15:31:23 +08:00
Sandy Huang
ee81411850 drm/rockchip: vop2: update vop scale factor
Change-Id: I2bb22e56de8f2daafb510d8f3eec49928d1fa213
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
2020-12-14 17:10:47 +08:00
Shunqing Chen
d5d2966907 drm/rockchip: rk618: rgb: fix find bridge fail
Signed-off-by: Shunqing Chen <csq@rock-chips.com>
Change-Id: I0ac8b1b2b3db90e5608a3bc8e5372cdb4863182a
2020-12-14 17:00:50 +08:00
Sandy Huang
8877840a6f drm/rockchip: vop2: add support gamma function
Change-Id: I8e86cfa4e7229d26cfcf729890445d6180a1c0c5
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
2020-12-14 16:04:00 +08:00
Sandy Huang
c35604c21e drm/rockchip: vop2: add win dsp size check
Change-Id: I1a548ee5f8887c30100d9a0364acef7c991c4d2c
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
2020-12-11 17:47:00 +08:00
Andy Yan
14b10bcb2c drm/rockchip: vop2: Change > to >= for gt2/gt4 check
According to test: Cluster can work with >, But
Esmart must enable gt2 when src_h = 2 * dst_h;

Change-Id: I3347eb4e340df093f7ab29afcb3a80ae5e03b0cc
Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
2020-12-11 11:17:20 +08:00
Wyon Bi
93ec807dae drm/bridge: analogix_dp: Remove fast training detection from loader protect
Fixes: 5beeda4a26 ("drm/bridge: analogix_dp: Add loader protect for psr function")
Change-Id: If49e3b88bfc08dcb5dfe610a63ad0f4f340ef872
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
2020-12-10 18:45:36 +08:00
Sandy Huang
fe736116ba drm/rockchip/rk628: Add GVI driver
Change-Id: Ie511a993867a2a2dd974862253eb6f56ee6c0d84
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
2020-12-10 14:18:09 +08:00
Sandy Huang
4267ed97e7 drm/rockchip/rk628: combtxphy: update for GVI mode
Change-Id: Iea5a38e5c8ee1f1e3af44f7765f34e37147ffedf
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
2020-12-10 14:18:09 +08:00
Sandy Huang
1b7d995fb2 drm/rockchip: vop2: add support post scale
Change-Id: I564235c41a59b767f433cfc2eb85cf8f71eea74c
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
2020-12-09 14:18:37 +08:00
Sandy Huang
f218d7cbe6 drm/bridge: rk630: move bt656 decoder enable to last config
Change-Id: I7e3e153f71931c448a2f7ecd01395b73369e934a
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
2020-12-07 16:22:42 +08:00
Sandy Huang
2ffcd9119d drm/rockchip: vop2: update output mode for bt656
Change-Id: Ic6526fe070f05579b013b77a8ea6dd921440cbd8
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
2020-12-07 16:22:35 +08:00
Andy Yan
278370effb drm/rockchip: vop2: Add afbc offset transformat support
This is a transformat of non-16 pixel align.

Change-Id: If132f4f049cb4514c9684e0f1d5103da64abe03a
Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
2020-12-07 14:19:08 +08:00
Sandy Huang
b1c0c4e368 drm/rockchip: vop2: init yuv overlay mode
post bcsh csc module need to know win overlay at yuv or rgb domain.

Change-Id: I246c22ddf0d02f48f515947a48ef058dca36c7a5
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
2020-12-04 15:58:05 +08:00
Andy Yan
63346cd759 drm/rockchip: vop2: Change dst alpha blend mode to per pixel mode
This is changed by rihui.bao@rock-chips.com

Change-Id: I7d9ac1ebef93fbeff338baf0d92daf838223ac5f
Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
2020-12-04 11:58:53 +08:00
Andy Yan
008ab5b494 drm/rockchip: vop2: Add configure for pre overlay alpha
Change-Id: Ic304ff7424445f49fef22e6bed45c81c72488ec9
Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
2020-12-04 11:56:49 +08:00
Andy Yan
133eccd42b drm/rockchip: vop2: Add alpha support for cluster sub window
Change-Id: If4c3e467bb53b3aacdc46f7387eab764abb4f794
Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
2020-12-04 11:51:28 +08:00
Andy Yan
c398b4a772 drm/rockchip: vop2: Gather cluster ctrl register
Two sub windows in a cluster share same ctrl register bit.

Change-Id: I0a123fd3a1f63bbf0d6abea557e6024a99adb4cb
Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
2020-12-04 11:39:37 +08:00
Andy Yan
75cc68bce9 drm/rockchip: vop2: Fix yuv 10 bit on cluster
YUV 10 bit config value on Cluster is different
with Esmart/Smart.

Change-Id: If334f347b6d1759650113b36327a49a850f03e0e
Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
2020-12-04 09:44:45 +08:00
Sandy Huang
572ab8ceb5 drm/rockchip: vop2: add support bcsh
Change-Id: Ibf87fe909bf7dfd0365000ca31c3bb9b84a3dbc8
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
2020-11-30 19:11:30 +08:00
Andy Yan
bff67105e4 drm/rockchip: vop2: Fix a setting of port mux value
When there is no layer attach to a port, the por_mux
should set to zero.

Change-Id: I880c3ff4ce8cac8ee41bdc7e6666d13796357cc6
Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
2020-11-30 18:40:07 +08:00
Andy Yan
1b1a5b5a62 drm/rockchip: vop2: layer_sel and port_mux config done by port
If layer_sel or port_mux config done immediately, the layer
map and port mux may change when one frame is still in display
process.

Change-Id: I5611e75c56c89fd4fa02a069acc971c9266b05b6
Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
2020-11-30 18:40:07 +08:00
Zhen Chen
fd5989b3f9 MALI: bifrost: fix bug "Kbase can do an out of bound access due to invalid jobslot parameter"
This patch is from ARM via mail
"Fwd: 00209996 - [Rockchip][IMPORTANT] Cat A(rare)- Security bug in Mali DDK (16-Nov, 2020) Edit Subject"

Signed-off-by: Zhen Chen <chenzhen@rock-chips.com>
Change-Id: Ife807e5e850274222db8aea0e4cac588e02a8e53
2020-11-30 18:04:43 +08:00
Zhen Chen
c0720cd95e MALI: rockchip: upgrade bifrost DDK to g2p0-01eac0, from r25p1-01bet0
In addition, rename some configs that have been used in drivers/gpu/arm/midgard.

Change-Id: I5356d6b3f544195eb6bebe88927abe7c8bcb7dd1
Signed-off-by: Zhen Chen <chenzhen@rock-chips.com>
2020-11-30 18:04:43 +08:00
Algea Cao
47e7dc9812 drm: rockchip: dw-hdmi: Increase rockchip_phy_config array size
Some platforms such as rk356x require more detailed configuration
partitioning to accommodate hdmi signal at different resolutions.

Signed-off-by: Algea Cao <algea.cao@rock-chips.com>
Change-Id: I4cc5fd4769ec51a5608b1901776d91f77324af3b
2020-11-30 11:06:23 +08:00
Guochun Huang
ba83205b99 drm/rockchip: dsi: add support swap two channel data of MIPI
Change-Id: Ib9dd986da26bff9fb744e592522c332e721e03ac
Signed-off-by: Guochun Huang <hero.huang@rock-chips.com>
2020-11-28 10:36:05 +08:00
Andy Yan
cd6ef0265c drm/rockchip: vop2: Only change port mux when a windows is removed to another port
Change port_mux/layer_sel register as less as possible.

Change-Id: I7436cafcb9dd40ae9495091a08b0df479a79c978
Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
2020-11-26 16:48:19 +08:00
Wyon Bi
666136fb3a drm/rockchip: analogix_dp: fix a typo
Fixes: 962c917b1d ("drm/rockchip: analogix_dp: Add audio support")
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
Change-Id: I105c5942d4cd5b9f82c3219f7494f6627d6e01a4
2020-11-26 02:46:26 +00:00
Andy Yan
30a84f553e drm/rockchip: vop2: Disable auto gating
A workaround to avoid display image shift on
screen when window enable.

Change-Id: I37064f580f7050997b521282d9cbae4193ace05d
Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
2020-11-25 10:43:58 +08:00
Andy Yan
284e9a78fd drm/rockchip: vop2: Fix ovl_cfg_done_port register definition
Change-Id: Ic3d1df5b24dd6dbe827d36353f0c5b0a05fa6a1b
Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
2020-11-24 20:14:30 +08:00
Andy Yan
a72db1718f drm/rockchip: vop2: Enable debug irq
Enable post buf empty irq.

Change-Id: I3ea4cdf7d13aae553bb30756cebe0c82e1997f4d
Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
2020-11-24 20:14:30 +08:00
Algea Cao
95a674b078 drm/bridge: rk630: Add RK630 tve driver
Change-Id: I80180ca55d1eda0dd63dc8399d5196ae8d4e9f57
Signed-off-by: Algea Cao <algea.cao@rock-chips.com>
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
2020-11-24 14:39:11 +08:00
Sandy Huang
189e797edf drm/rockchip: lvds: remove unused code
Change-Id: Id579000e6b48a2bc6991abbb87e8e4099ec17d77
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
2020-11-24 11:37:49 +08:00
Sandy Huang
c179d5b9da drm/rockchip: lvds: enable lvds clk invert
Change-Id: I22a6a45e54e9adefaf826f42549e2492fa831d31
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
2020-11-24 10:01:47 +08:00
Guochun Huang
1fc907678a drm: rockchip: rk628: add set bus format
Change-Id: Ibf597773f0b89eb07fecf4b3af3ff81f762777f4
Signed-off-by: Guochun Huang <hero.huang@rock-chips.com>
2020-11-23 16:42:03 +08:00
Sandy Huang
ec8bbf235c drm/rockchip: vop: remove output uv swap config
the rb swap at crtc_atomic_enable can instead of uv swap, if RGB format
do rb swap and uv swap, the output data is still RGB, enable one of the
two function, the output data is BGR.

Change-Id: I6e929c2b9316e7ab691f159ba4dd792274a1dad5
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
2020-11-23 16:13:46 +08:00
Sandy Huang
26965a0de4 drm/rockchip: vop2: add config ports background color
before this commit, the bt1120/bt656/hdmi yuv output will display green
screen at power on state.

Change-Id: I21ee96f0883e0edc5f3a4cec1bf7bac25d15c775
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
2020-11-23 16:13:11 +08:00
Sandy Huang
d6d6ab6a93 drm/rockchip: vop2: fix overlay mode config error for port1/2
Change-Id: I213a78641bfb1a75d492e24fe3ca3118bc8fce48
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
2020-11-23 14:10:11 +08:00
Sandy Huang
a772a3b7c3 drm/rockchip: rgb: add more bus format support
Change-Id: I38a110796bf13c42da9c212e9cdcb933ca0e4238
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
2020-11-20 19:57:06 +08:00
Sandy Huang
305262a848 drm/rockchip: vop: add more bus format support
Change-Id: Ia31b795742582e861d73eda1bcf9bac064cc74a1
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
2020-11-20 19:56:52 +08:00
Sandy Huang
ee243fd36e drm/rockchip: vop2: Fix some bt656 bt1120 config error
Change-Id: I89d18e31b2932eb78d4c4314414b9adf4a6dd4a6
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
2020-11-20 19:56:37 +08:00
Wyon Bi
962c917b1d drm/rockchip: analogix_dp: Add audio support
Change-Id: Ib611037f497a0758bd2b6a312155562a719fe15f
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
2020-11-20 18:06:09 +08:00
Andy Yan
87e3158384 drm/rockchip: vop2: put pm_runtime in vop2_disable
Only put pm_runtime when all crtc(video_port) disabled.

Change-Id: I38a41d8fda454081a5104ed5baea520a8498554a
Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
2020-11-19 20:50:02 +08:00
Andy Yan
5df67251b8 drm/rockchip: vop2: Rewrite vsc_gt2/gt4 check logic
Use multiplication instead of division.
when gt4 enabled: src_h >>= 2;
when gt2 enable: src_h >>=1;

Change-Id: If47f873668f61b9a0690c665079bddfacc8429b5
Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
2020-11-18 21:32:31 +08:00
Andy Yan
1221fbb694 drm/rockchip: vop2: Add vsd_yrgb_gt2/gt4 register definition for cluster
Change-Id: I80b928191754cdb2c7d4ad2157b77bdbdcb955ad
Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
2020-11-18 19:54:14 +08:00
Andy Yan
18b66b881f drm/rockchip: vop2: Add color components swap
Change-Id: I124f92fadc2494311b950657bbb0176d65aff08b
Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
2020-11-18 19:54:14 +08:00
Wyon Bi
cbee98b758 drm/bridge: analogix_dp: Add NULL pointer check for dp->phy
Fixes: d7ad116fb3 ("drm/rockchip: analogix_dp: Add support for rk3568")
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
Change-Id: I8cef87e13dd7c03baac730523c8f4b98d1a043f2
2020-11-18 19:43:52 +08:00
Guochun Huang
09f5dd4822 drm/rockchip: dsi: make timing and lane rate more accurate
use actual pixel or dot clock in the hardware to calc the
timings and lane rate if dclk can not be applied accurately.

Change-Id: I6c0bcaca35cb945a58cc50005b23c6c772c9a082
Signed-off-by: Guochun Huang <hero.huang@rock-chips.com>
2020-11-18 17:09:05 +08:00
Andy Yan
8349065753 drm/rockchip: vop2: Fix format definition
Change-Id: I8197ed19f3829858006205b995068458119a8c28
Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
2020-11-18 15:30:09 +08:00