Commit Graph

861934 Commits

Author SHA1 Message Date
Dingxian Wen
319160e952 ARM: rockchip_defconfig: enable CONFIG_VIDEO_RK628CSI
Signed-off-by: Dingxian Wen <shawn.wen@rock-chips.com>
Change-Id: If74953d5d881560d778098f3c18b909e8d8cf42d
2021-02-24 15:26:36 +08:00
Dingxian Wen
951a29b370 ARM: dts: rockchip: add rk3288-evb-rk628-hdmi2csi-avb.dts
Signed-off-by: Dingxian Wen <shawn.wen@rock-chips.com>
Change-Id: I2ed29407a36836d73c54b41a3d83a032224f6c17
2021-02-24 14:38:33 +08:00
Dingxian Wen
861438e0fd media: i2c: rk628csi: add rk628csi HDMI to MIPI CSI-2 bridge driver
Signed-off-by: Dingxian Wen <shawn.wen@rock-chips.com>
Change-Id: I0e4d75763ffd4edbc4e3c3ab7c9f6e7f0b69bbf7
2021-02-24 14:38:33 +08:00
Tao Huang
f0c81ce474 drm/rockchip: use DRM_FB_HELPER_DEFAULT_OPS for fb_ops
Restore upstream commit 72b6bcb1a2 ("drm/rockchip: use DRM_FB_HELPER_DEFAULT_OPS for fb_ops")

Signed-off-by: Tao Huang <huangtao@rock-chips.com>
Change-Id: I523336e7d9374ed535c558e5ab49d9b8f89cfb8f
2021-02-24 11:41:42 +08:00
Lin Jinhan
a3843c2fad ARM: dts: rv1126: support enable rng and crypto module at the same time
Change-Id: I525f29520221f7139092c8884075048e0245fc22
Signed-off-by: Lin Jinhan <troy.lin@rock-chips.com>
2021-02-24 11:33:30 +08:00
Lin Jinhan
8ac6165349 crypto: rockchip: crypto v2: compatible with rng modules
Crypto V2 regs should divided into two parts when rng is belonging
to crypto module.

Change-Id: Ib976851b845ff8cdccc607a677266bb61f54ae18
Signed-off-by: Lin Jinhan <troy.lin@rock-chips.com>
2021-02-24 11:33:30 +08:00
Lin Jinhan
1dc8aff822 crypto: rockchip: use devm_clk_bulk_get_all instead of devm_clk_bulk_get
Change-Id: I0af82671c0a835fb4b3a35c5b65de19a9414f843
Signed-off-by: Lin Jinhan <troy.lin@rock-chips.com>
2021-02-24 11:33:30 +08:00
Lin Jinhan
d6ca830ccf hwrng: rockchip: v2: support separate rng from crypto v2
If rng reg set equle to crypto v2 reg, it should add 0x400 offset.

Change-Id: I591d20ea048090a3250cbc53f9dbb27a6c1b3660
Signed-off-by: Lin Jinhan <troy.lin@rock-chips.com>
2021-02-24 11:33:30 +08:00
Lin Jinhan
1146007738 crypto: rockchip: ahash: fix statesize error
API export&import is using feedback tfm, statesize should be equal to
feedback tfm's statesize, otherwise it will trigger WARN_ON in testmgr
module.

Change-Id: I450b74549dc962b93a0654d83869366868b78363
Signed-off-by: Lin Jinhan <troy.lin@rock-chips.com>
2021-02-24 11:33:30 +08:00
Dingxian Wen
4dac63bc50 media: v4l2-controls_rockchip: add private controls for audio
Signed-off-by: Dingxian Wen <shawn.wen@rock-chips.com>
Change-Id: I6f4f68d46f94924cab1530ec459f95bc0e4ca5a8
2021-02-24 11:21:07 +08:00
Dingxian Wen
033c4bd29f drm: rockchip: rk628: add rk628 combrx-phy support for HDMIRX cable mode
Signed-off-by: Dingxian Wen <shawn.wen@rock-chips.com>
Change-Id: I4c02fb6add7cce5fef8a52853c35f113b53040ff
2021-02-24 11:21:07 +08:00
Andy Yan
b7ad7adb04 Revert "drm/rockchip: framebuffer: add rockchip_fbdev_blank"
This reverts commit 2d36048f1c.
Which causes some confused behavior in suspend and resume.

Change-Id: Ibff257aea6bcecc9a012397d83a9d8a1ffd02132
Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
2021-02-24 10:39:32 +08:00
Ding Wei
c22b38d86a video: rockchip: mpp: add strategy to adjust clocks
method: when meets large resolution, higher clocks will be set.
if pixels less default_max_load, clocks use normal-rates setting.
otherwise, use advanced-rates instead.

Change-Id: I7e3c21903f02e3dbc7f84ea8084610ac76738c27
Signed-off-by: Ding Wei <leo.ding@rock-chips.com>
2021-02-23 16:37:18 +08:00
Ding Wei
aedde11d4e video: rockchip: mpp: rkvdec2: add codec_info
the codec_info is similar to rkvenc && vepu.

Change-Id: I2dfb1ceaaf582e16a8525ed2286768bf1296542a
Signed-off-by: Ding Wei <leo.ding@rock-chips.com>
2021-02-23 16:37:08 +08:00
Ding Wei
e26a5d3bf2 video: rockchip: mpp: overflow issue when copy_from_user
when cnt is more than codec_info size, then it may be overflow risk.

Change-Id: I7352118f425ccf263df0083c21ef0433f2322a43
Signed-off-by: Ding Wei <leo.ding@rock-chips.com>
2021-02-23 16:32:26 +08:00
Sandy Huang
9e2373210d drm/rockchip: gem: Fix memory leak
Fixes: a612c861dd ("drm/rockchip: gem: Convert sg to page")
Change-Id: Ic1042c90827a4478826eaab84bc4799c0f31a789
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
2021-02-23 15:06:26 +08:00
Shunhua Lan
b02fc6d6ed rk_headset: sending media key up event if it's down when headset is out
Signed-off-by: Shunhua Lan <lsh@rock-chips.com>
Change-Id: Ib98ec442fdca8710e00a3e1bfb7f565aa0f5a33a
2021-02-23 11:50:03 +08:00
Algea Cao
cb2fc0bc60 drm/bridge: synopsys: dw-hdmi: Fix vmode error when system boot
If uboot logo is on, hdmi clock is need to record from crtc_state.
If not, hdmi may not be able to output audio.

Signed-off-by: Algea Cao <algea.cao@rock-chips.com>
Change-Id: I0a9c8bb5df0ab2bdb6d5d2754d92745aa7a2d0cf
2021-02-23 11:40:29 +08:00
Frank Liu
b88c7c9d1f media: i2c: sc2310: fix the bug of switching hdr
Signed-off-by: Frank Liu <frank.liu@rock-chips.com>
Change-Id: I87122cf4c6c3a47b303739ed2b1eec7cfc4e34c6
2021-02-23 11:19:24 +08:00
shengfei Xu
c3e41f4836 arm64: dts: rockchip: add not-save-power-en for rk3566-rk817-eink
Signed-off-by: shengfei Xu <xsf@rock-chips.com>
Change-Id: Ic9cd6f7b1271ef71294068604af4bee3ed0a665b
2021-02-23 10:00:24 +08:00
David Wu
9cede7577c pinctrl: rockchip: Add mdio route for rk3568 gmac1 mux
For SGMII/QSGMII, RX data are not used, but mdio has input function,
therefor, also use the mdio to route for gmac mux.

Signed-off-by: David Wu <david.wu@rock-chips.com>
Change-Id: If238d4739863cac8673ba3c3b980a07034d57c11
2021-02-23 09:52:32 +08:00
David Wu
cabce2b042 phy: rockchip: naneng-combphy: Force to select mode from GRF for SGMII/QSGMII
Because phy1 is sata mode by default, and phy2 is pcie mode by default, when using qsgmii on phy1, it needs to be configured as pcie mode, because pcie mode is compatible with K28.1 and K28.5, while sata only has K28.5. If phy1 is in sata mode, qsgmii will not work, and both K codes need to be used at the same time. Based on this, we unified configuration into pcie mode.

Signed-off-by: David Wu <david.wu@rock-chips.com>
Change-Id: I4a9e5a2cdcee448ec3457778bf4ee7135be70087
2021-02-23 09:52:10 +08:00
Andy Yan
a2e043603e drm/rockchip: vop2: Fix bg_ovl_dly
It should be prev_vp, vp is a fixed port in this function.

Change-Id: I7c5b1be4ecebbf6a3aee7766a0f8ecbcbf4951a1
Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
2021-02-23 09:42:12 +08:00
Yifeng Zhao
69c3fdd97f mmc: sdhci-of-dwcmshc: fix emmc cmd timeout issue while suspend and resume
bug:
[  322.619045] PM: Syncing filesystems ...
[  322.669563] mmc2: error -110 doing runtime resume

Disable DLL to reset emmc sample clock and the command conflict check
function after the controller has been reset or config clock to 375Khz.

Signed-off-by: Yifeng Zhao <yifeng.zhao@rock-chips.com>
Change-Id: Ife306fdf1c8948e7ddef4d029b850735b43865e9
2021-02-23 09:41:12 +08:00
Zorro Liu
646fea68b5 drm/rockchip: ebc_dev: release version v1.03
1.add vir_width/vir_height support
2.optimize the speed of get pvr lut table

Signed-off-by: Zorro Liu <lyx@rock-chips.com>
Change-Id: I32e1b66a4ee53a198e4c349107ae52e0a7d40145
2021-02-22 18:49:25 +08:00
Zorro Liu
0022edf158 arm64: dts: rockchip: rk3566 eink: add vir_width/vir_height for eink panel and remove gpu opp detele note
Signed-off-by: Zorro Liu <lyx@rock-chips.com>
Change-Id: Ica99525fd947d9e33eecb3858552e5b6ab1df166
2021-02-22 18:47:53 +08:00
Xu Hongfei
7a96299fce media: rockchip: isp: support output isp/ispp reg in nv12 format
used by follow steps :
1. echo Y > /sys/module/video_rkispp/parameters/sendreg_withstream
2. echo videoX > /sys/module/video_rkispp/parameters/sendreg_withstream_video_name

Signed-off-by: Xu Hongfei <xuhf@rock-chips.com>
Change-Id: I68f332accc6d617d46289727fe50c93f62fe67c3
2021-02-22 16:19:34 +08:00
Sandy Huang
cc062ca36e arm64: dts: rockchip: rk3568: update reg id for rgb and lvds
the reg id will be used to find port id at uboot logo

Change-Id: If32ec28a3b1d30d20ded4229a767777bba0ea07a
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
2021-02-22 16:18:57 +08:00
Sandy Huang
3ccb2c94a0 arm64: dts: rockchip: rk3568-evb6: move rgb_in_vp2 out from port@0
Change-Id: Ia6b2179847bd806394da3deb20ed5e459d01b301
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
2021-02-22 16:18:57 +08:00
Sandy Huang
ec3ebaeb51 arm64: dts: rockchip: rk3566 evb1: enable uboot logo for lvds panel
Change-Id: Ic9436491fc627587ecfafc85085241ac476c18b2
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
2021-02-22 16:18:57 +08:00
Andy Yan
e4070b975b drm/rockchip: vop2: Add aclk property
Change-Id: I73c00373578be4f7bc4bf5dd790bd9137a49b345
Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
2021-02-22 14:14:01 +08:00
Ding Wei
c8e635088d video: rockchip: mpp: issue for power off
when have task in running_list, it should be power off later.

Change-Id: I6df2d8ed11a05eba5753d78800c2175fc99ad0f1
Signed-off-by: Ding Wei <leo.ding@rock-chips.com>
2021-02-22 14:10:50 +08:00
Weixin Zhou
8168344c4a input: touchscreen: gt1x: Avoid suspend/resume is invoked imbalanced
Signed-off-by: Weixin Zhou <zwx@rock-chips.com>
Change-Id: I26733edacd48c6de11704e15998559e202935e11
2021-02-22 10:55:50 +08:00
Kever Yang
949ba26de3 cpufreq: fix redefinition of 'rockchip_cpufreq_adjust_target'
No need to define rockchip_cpufreq_adjust_target in cpufreq.h for ARCH
other than rockchip.

Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
Change-Id: I32295390f39c53dd1f320362c71f762efbb8e83e
2021-02-22 09:55:07 +08:00
Sugar Zhang
3f6ca46bfc arm64: dts: rockchip: rk356x: Correct inputclkfs for hdmi audio
Change-Id: I7669c77bba4ffc3360a3d1428408ac03d4bbaf9f
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
2021-02-21 18:21:03 +08:00
Ding Wei
1f802e2fef arm64: dts: rockchip: rk3568: rkvdec: reset clock rates
clock set 297M/396M, and it will divided from gpll.

Change-Id: Ie039dfa0c55c323b9fd7b6a628a389677f87728f
Signed-off-by: Ding Wei <leo.ding@rock-chips.com>
2021-02-21 17:43:02 +08:00
Guochun Huang
3345da5438 drm/rockchip: dsi: make rk356x series drive pixdata on posedge
fix the dclk polarity in the driver to avoid incorrect
configuration, even if we can configure through attribute
pixelclk-active in dts.

Change-Id: Ie3861206d2f6312ef252df87ecb49dd7d5f0ba9b
Signed-off-by: Guochun Huang <hero.huang@rock-chips.com>
2021-02-21 17:34:30 +08:00
Guochun Huang
fa3d24a3d9 drm/rockchip: dsi: the max bit rate is 1.2Gbps per lane in rk3568
Change-Id: I80d8f7303679bd4595cf59ef3d576dfef7863e69
Signed-off-by: Guochun Huang <hero.huang@rock-chips.com>
2021-02-21 16:37:06 +08:00
Liang Chen
4be1db3450 arm64: dts: rockchip: rk3568: adjust opp-table for cpu
Change-Id: I909d2d652ee75bbfbb13825b2a380bc2e1f2140e
Signed-off-by: Liang Chen <cl@rock-chips.com>
2021-02-21 11:50:50 +08:00
Xu Hongfei
ab2d34feaa media: rockchip: isp: switch hdr_done interrupt according to hdrtmo cnt mode
Signed-off-by: Xu Hongfei <xuhf@rock-chips.com>
Change-Id: Ibe1a23e5871daf32bf0646ccc022b2a7f371b08c
2021-02-21 11:50:29 +08:00
Tony Xie
fc4e5f879f arm64: dts: rockchip: rk3568: add cpu-idle-states node.
Signed-off-by: Tony Xie <tony.xie@rock-chips.com>
Change-Id: I6689bbb109a3e2db7b1bd97875b6ff663f110dac
2021-02-21 11:31:48 +08:00
Huang zhibao
cb57c4f9d8 arm64: dts: rockchip: rk3568-nvr-demo-v10: disabled pcie for v10 borad
Signed-off-by: Huang zhibao <hzb@rock-chips.com>
Change-Id: I1e43f028786756ac49338250d5aea22df850a2f9
2021-02-21 10:40:37 +08:00
David Wu
e7373a13f7 ethernet: stmmac: dwmac-rk: Add automatic speed mode changed for 10/100/1000M
After the completion of Clause 37 auto-negotiation, xpcs automatically
switches to the negotiated speed.

Signed-off-by: David Wu <david.wu@rock-chips.com>
Change-Id: Id8ca8cd9cb22d4adbac3cdfdf1f2f500bb0301f1
2021-02-21 10:39:42 +08:00
Tony Xie
799783d175 arm64: dts: rockchip: rk3568: add rktimer node.
Signed-off-by: Tony Xie <tony.xie@rock-chips.com>
Change-Id: I18eb7c25796785aeffb7a2753007f02c9f82fb6e
2021-02-21 09:54:00 +08:00
Andy Yan
6c3f0fc415 drm/rockchip: vop2: No limit possible_crtc
Change-Id: Iaa297f9077ff2f3a12ef256dcac31dc2bec1c274
Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
2021-02-19 16:18:00 +08:00
Sandy Huang
68a6c87b27 drm/rockchip: vop2: set correct primary plane for rk3566
set esmart0 as port0 primary plane, smart0 as port1 primary
plane, esmart1 as port2 primary plane.

Change-Id: I0307426769be62c65ae37ab6917f01ba5f8500de
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
2021-02-19 16:16:51 +08:00
Tao Huang
3088a3b56c soc: rockchip: power-domain: Fix lockdep warning
Use rockchip_dmcfreq_lock_nested().

Signed-off-by: Tao Huang <huangtao@rock-chips.com>
Change-Id: I0f5c2b716cc22be195885c7d74cd26c36b8eeff4
2021-02-18 09:46:39 +08:00
Tao Huang
29c90bf3e9 PM / devfreq: rockchip_dmc: Introduce rockchip_dmcfreq_lock_nested()
After commit c95036feef ("PM / devfreq: rockchip_dmc: Fix deadlock between dmcfreq and vop on/off"),
rockchip_dmcfreq_sem support down read recursive.
Try to avoid lockdep warning:

======================================================
WARNING: possible circular locking dependency detected
4.19.172 #9 Not tainted
------------------------------------------------------
composer@2.1-se/221 is trying to acquire lock:
00000000a1c9588b (&genpd->mlock){+.+.}, at: genpd_lock_mtx+0x14/0x1c

but task is already holding lock:
00000000cc938c9c (rockchip_dmcfreq_sem){++++}, at: rockchip_dmcfreq_lock+0x14/0x1c

which lock already depends on the new lock.

the existing dependency chain (in reverse order) is:

-> #2 (rockchip_dmcfreq_sem){++++}:
       down_read+0x50/0x94
       rockchip_dmcfreq_lock+0x14/0x1c
       rockchip_pd_power+0x3c/0x200
       rockchip_pd_power_off+0x24/0x2c
       genpd_power_off+0x168/0x27c
       genpd_power_off_work_fn+0x34/0x50
       process_one_work+0x300/0x66c
       worker_thread+0x238/0x4c0
       kthread+0x148/0x158
       ret_from_fork+0x10/0x18

-> #1 (&pmu->mutex){+.+.}:
       __mutex_lock_common+0xc8/0x1014
       mutex_lock_nested+0x28/0x30
       rockchip_pd_power+0x38/0x200
       rockchip_pd_power_off+0x24/0x2c
       genpd_power_off+0x168/0x27c
       genpd_power_off_work_fn+0x34/0x50
       process_one_work+0x300/0x66c
       worker_thread+0x238/0x4c0
       kthread+0x148/0x158
       ret_from_fork+0x10/0x18

-> #0 (&genpd->mlock){+.+.}:
       lock_acquire+0x124/0x1ec
       __mutex_lock_common+0xc8/0x1014
       mutex_lock_nested+0x28/0x30
       genpd_lock_mtx+0x14/0x1c
       genpd_runtime_suspend+0x1d8/0x21c
       __rpm_callback+0x150/0x24c
       rpm_suspend+0x278/0x7b0
       rpm_idle+0x6c/0x444
       __pm_runtime_idle+0x78/0x9c
       vop2_crtc_atomic_disable+0x5ac/0x6b4
       drm_atomic_helper_commit_modeset_disables+0x234/0x440
       rockchip_atomic_commit_complete+0x140/0x378
       rockchip_drm_atomic_commit+0x1c4/0x224
       drm_atomic_connector_commit_dpms+0x110/0x128
       drm_mode_obj_set_property_ioctl+0x144/0x2b4
       drm_connector_property_set_ioctl+0x3c/0x60
       drm_ioctl+0x2c0/0x454
       do_vfs_ioctl+0x4dc/0x794
       __arm64_sys_ioctl+0x70/0x98
       el0_svc_common+0x9c/0x16c
       el0_svc_handler+0x28/0x60
       el0_svc+0x8/0xc

other info that might help us debug this:

Chain exists of:
  &genpd->mlock --> &pmu->mutex --> rockchip_dmcfreq_sem

 Possible unsafe locking scenario:

       CPU0                    CPU1
       ----                    ----
  lock(rockchip_dmcfreq_sem);
                               lock(&pmu->mutex);
                               lock(rockchip_dmcfreq_sem);
  lock(&genpd->mlock);

 *** DEADLOCK ***

4 locks held by composer@2.1-se/221:
 #0: 0000000079852c0e (crtc_ww_class_acquire){+.+.}, at: drm_mode_obj_set_property_ioctl+0xe4/0x2b4
 #1: 00000000a8d2d1f1 (crtc_ww_class_mutex){+.+.}, at: drm_modeset_backoff+0x118/0x230
 #2: 000000008d649114 (&vop2->vop2_lock){+.+.}, at: vop2_crtc_atomic_disable+0x3c/0x6b4
 #3: 00000000cc938c9c (rockchip_dmcfreq_sem){++++}, at: rockchip_dmcfreq_lock+0x14/0x1c

stack backtrace:
CPU: 0 PID: 221 Comm: composer@2.1-se Not tainted 4.19.172 #9
Hardware name: Rockchip RK3566 EVB2 LP4X V10 Board (DT)
Call trace:
 dump_backtrace+0x0/0x160
 show_stack+0x14/0x1c
 dump_stack+0xd8/0x128
 print_circular_bug+0x580/0x588
 __lock_acquire+0x1bc4/0x1bd0
 lock_acquire+0x124/0x1ec
 __mutex_lock_common+0xc8/0x1014
 mutex_lock_nested+0x28/0x30
 genpd_lock_mtx+0x14/0x1c
 genpd_runtime_suspend+0x1d8/0x21c
 __rpm_callback+0x150/0x24c
 rpm_suspend+0x278/0x7b0
 rpm_idle+0x6c/0x444
 __pm_runtime_idle+0x78/0x9c
 vop2_crtc_atomic_disable+0x5ac/0x6b4
 drm_atomic_helper_commit_modeset_disables+0x234/0x440
 rockchip_atomic_commit_complete+0x140/0x378
 rockchip_drm_atomic_commit+0x1c4/0x224
 drm_atomic_connector_commit_dpms+0x110/0x128
 drm_mode_obj_set_property_ioctl+0x144/0x2b4
 drm_connector_property_set_ioctl+0x3c/0x60
 drm_ioctl+0x2c0/0x454
 do_vfs_ioctl+0x4dc/0x794
 __arm64_sys_ioctl+0x70/0x98
 el0_svc_common+0x9c/0x16c
 el0_svc_handler+0x28/0x60
 el0_svc+0x8/0xc

Signed-off-by: Tao Huang <huangtao@rock-chips.com>
Change-Id: Ic743189e335b0e9ae7fed9c3d542bf1d57f5d33a
2021-02-18 09:46:39 +08:00
Guochun Huang
4c48b468d0 arm64: dts: rockchip: rk356x evb: dsi0 is mounted on vp1 by default
Change-Id: I4a1d2c8842dcd4880380962c952a6ba13ad8919d
Signed-off-by: Guochun Huang <hero.huang@rock-chips.com>
2021-02-17 19:57:03 +08:00
Tao Huang
c0fa27867b arm64: dts: rockchip: Sort Makefile
Sort the .dtb files alphabetically.

Change-Id: I3b7ff929d86707a50593cda0200142fcfd48f47b
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
2021-02-17 17:23:49 +08:00