Commit Graph

1271684 Commits

Author SHA1 Message Date
William Wu
a3c8a03bae usb: gadget: composite: Fix bcdUSB for non-SuperSpeed gadget
This patch set bcdUSB to 0x0200 for non-SuperSpeed gadget
which disable LPM. It can avoid usb bus enter LPM.

Test on RK356X platform, connect USB2.0 ADB to the PC USB
host port, without this patch, the usb bus will enter LPM
dynamically and trigger the USB DWC3 controller suspend
interrupt event frequently (more than 1000 interrupts per
second).

Signed-off-by: William Wu <william.wu@rock-chips.com>
Change-Id: Id0b9d54800e471512a417933868f76181c89e99d
2024-05-09 14:11:24 +08:00
Zhang Yubing
941de7d1c6 drm/rockchip: vop2: print fixed timing when dump vop info
Change-Id: Ia111bb91d5e436fbfa5fee67f6db76a250fc61a4
Signed-off-by: Zhang Yubing <yubing.zhang@rock-chips.com>
2024-05-09 10:57:19 +08:00
Zhang Yubing
4663ed8792 drm/rockchip: dw-dp: use mode crtc_* timing for hardware config
The mode contains two copies of timings, first are the plain and
origin timings, this should keep unchanged, the second are copy
from the first timing by add some computed and special fixup, this
is associate with hardware.

Change-Id: Ibb9564318ea9b14575cc5cb8695495088a4f0c4d
Signed-off-by: Zhang Yubing <yubing.zhang@rock-chips.com>
2024-05-09 10:57:19 +08:00
Damon Ding
b935b0aa0c drm/rockchip: analogix_dp: use mode crtc_* timing for hardware config
The mode contains two copies of timings, first are the plain and
origin timings, this should keep unchanged, the second are copy
from the first timing by add some computed and special fixup, this
is associate with hardware.

Change-Id: I14dd9596445d5cac0297fcf6306a82b40b31cdaa
Signed-off-by: Damon Ding <damon.ding@rock-chips.com>
2024-05-09 10:57:19 +08:00
Chaoyi Chen
96708c3281 drm/rockchip: lvds: use mode crtc_* timing for hardware config
The mode contains two copies of timings, first are the plain and
origin timings, this should keep unchanged, the second are copy
from the first timing by add some computed and special fixup, this
is associate with hardware.

Signed-off-by: Chaoyi Chen <chaoyi.chen@rock-chips.com>
Change-Id: I219f440c922847f0b0affaaaa268161213fa5f78
2024-05-09 10:57:19 +08:00
Sandy Huang
a10da2195c drm/rockchip: dsi: use mode crtc_* timing for hardware config
The mode contains two copies of timings, first are the plain and
origin timings, this should keep unchanged, the second are copy
from the first timing by add some computed and special fixup, this
is associate with hardware.

Signed-off-by: Sandy Huang <hjc@rock-chips.com>
Change-Id: I2b20b6345149cc96f6d12ccc9d6b41b85d6b9c10
2024-05-09 10:57:19 +08:00
Sandy Huang
a34e2cbc91 drm/rockchip: dsi2: use mode crtc_* timing for hardware config
The mode contains two copies of timings, first are the plain and
origin timings, this should keep unchanged, the second are copy
from the first timing by add some computed and special fixup, this
is associate with hardware.

Signed-off-by: Sandy Huang <hjc@rock-chips.com>
Change-Id: Ie8a3855677606720214e41d99b90b9ff490e1db2
2024-05-09 10:57:19 +08:00
Sandy Huang
9915f0b201 drm/rockchip: vop2: keep mode origin timing and fixup crtc timing
The mode contains two copies of timings, first are the plain and
origin timings, this should keep unchanged, the second are copy
from the first timing by add some computed and special fixup, this
is associate with hardware.

Signed-off-by: Sandy Huang <hjc@rock-chips.com>
Change-Id: I6dd48ba725673ec0ad33e8f59435a8b90913e149
2024-05-09 10:57:19 +08:00
Sandy Huang
2b31b121d9 drm/rockchip: drv: add mode crtc_* timing covert
The mode contains two copies of timings, first are the plain and
origin timings, this should keep unchanged, the second are copy
from the first timing by add some computed and special fixup, this
is associate with hardware.

Signed-off-by: Sandy Huang <hjc@rock-chips.com>
Change-Id: Ib841af1bbdc970d205d8aec3f83c6238a13bdede
2024-05-09 10:57:19 +08:00
Jianwei Fan
3e568d5f2f phy: rockchip: csi2_dphy: fix digital part reset before set continue mode
Change-Id: I7b6de73e1aa2b1e794633bd33086d640e637c483
Signed-off-by: Jianwei Fan <jianwei.fan@rock-chips.com>
2024-05-09 10:52:14 +08:00
Zefa Chen
48fab7147a phy: rockchip: csi2-dphy: fixes error point of dcphy logic node for rk3576
This error resulted in the failure to reinitialize dcphy rx when resetting dcphy tx

Signed-off-by: Zefa Chen <zefa.chen@rock-chips.com>
Change-Id: I3362505437102fb09585f74ce2cfa362c9a2fe76
2024-05-09 10:50:21 +08:00
Zhibin Huang
ad6b958b4d drm/panel: panel-simple: add connector-type property parse
Type: Function
Redmine ID: N/A
Associated modifications: N/A
Test: N/A

Signed-off-by: Zhibin Huang <zhibin.huang@rock-chips.com>
Change-Id: I60f9788755a54ba1cd81d62f793ca574e5ab4ddf
2024-05-09 09:41:19 +08:00
Alexey Khoroshilov
4e22fa3f49 UPSTREAM: ASoC: rt5645: Fix deadlock in rt5645_jack_detect_work()
There is a path in rt5645_jack_detect_work(), where rt5645->jd_mutex
is left locked forever. That may lead to deadlock
when rt5645_jack_detect_work() is called for the second time.

Found by Linux Verification Center (linuxtesting.org) with SVACE.

Change-Id: I89bc002a8d02614917dd056e0f7ec189f72cd6ad
Fixes: cdba4301adda ("ASoC: rt5650: add mutex to avoid the jack detection failure")
Signed-off-by: Alexey Khoroshilov <khoroshilov@ispras.ru>
Link: https://lore.kernel.org/r/1707645514-21196-1-git-send-email-khoroshilov@ispras.ru
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
(cherry picked from commit 6ef5d5b92f7117b324efaac72b3db27ae8bb3082)
2024-05-09 09:15:05 +08:00
William Wu
fc50ca8555 usb: dwc3: drd: Avoid host enter runtime suspend during probe
On rockchip platforms, if the dr_mode supports otg, it will
allow dwc3 pm runtime and put the dwc3 in runtime suspend
synchronously at the end of dwc3 probe. It works well in most
scenarios with USB-C or USB-A interface.

However, for USB Micro interface with ID pin, if ID pin is
pull to low by OTG to Host cable during probe, the drd_work
which called from the dwc3_core_init_mode() maybe scheduled
before pm_runtime_put_sync_suspend. In this case, the dwc->
current_dr_role is DWC3_GCTL_PRTCAP_HOST when enter runtime
suspend.

Later in xhci_plat_probe, it try to do pm runtime resume, but
it fail to do dwc3_core_init_for_resume() in the dwc3_resume_common()
because the condition "!PMSG_IS_AUTO(msg)" is not true for the
current_dr_role DWC3_GCTL_PRTCAP_HOST, so it can't initialize
the dwc3 core.

This patch do dwc3_set_mode after pm_runtime_put_sync_suspend
if EXTCON_USB_HOST state is true, it can avoid host enter runtime
suspend during probe.

With this patch, it can fix otg host mode fail to detect device
using a Micro OTG cable at system boot time.

Change-Id: I8b71f8c2490988b51a89bad5c880fe3cdeba2bfa
Signed-off-by: William Wu <william.wu@rock-chips.com>
2024-05-08 19:05:32 +08:00
William Wu
31bf36387a phy: rockchip: usbdp: Select utmi clock for DP 4lanes mode
For Type-C to DP 4xlanes adapter, it is detected as
DP 2xlanes + USB3.0 DFP at the first time, and after
VDM negotiation completed, it can be detected as DP
4xlanes, in this case, the USBDP PHY needs to do mode
change in the udphy_power_on. During the mode change
process, the USBDP PHY will disable the PHY clocks
and assert the PHY reset, this also turn off the PIPE
clock which used for the source clock of the USB
controller. In order to safely disable the USBDP PHY,
it needs to select the UTMI clock instead of the PIPE
clock for the USB controller.

Fixes: 0b1d72b40c ("phy: rockchip: usbdp: Avoid access usb grf during dp phy power on")
Signed-off-by: William Wu <william.wu@rock-chips.com>
Change-Id: I5e055aa466af936a9a7fd1a59bbbe4ac8350a696
2024-05-08 19:05:11 +08:00
Zefa Chen
e6d4dee8cd media: rockchip: vicap fixes err buffer state of buffer init
Signed-off-by: Zefa Chen <zefa.chen@rock-chips.com>
Change-Id: I36207f2ba3c1c597e09cba1fe9749bfd0b0ae283
2024-05-08 18:39:40 +08:00
Dingxian Wen
a8a0964ddf arm64: dts: rockchip: rk3568-evb2: add lt6911uxc configuration
Signed-off-by: Dingxian Wen <shawn.wen@rock-chips.com>
Change-Id: I27e7cd02314fb288a4f553105de1027975b8e9d6
2024-05-08 15:02:25 +08:00
Tao Huang
fce55f8eb2 Merge tag 'v6.1.75'
This is the 6.1.75 stable release

* tag 'v6.1.75': (2623 commits)
  Linux 6.1.75
  Revert "Revert "md/raid5: Wait for MD_SB_CHANGE_PENDING in raid5d""
  arm64: dts: armada-3720-turris-mox: set irq type for RTC
  Revert "KEYS: encrypted: Add check for strsep"
  riscv: Fix wrong usage of lm_alias() when splitting a huge linear mapping
  block: Remove special-casing of compound pages
  i2c: s3c24xx: fix transferring more than one message in polling mode
  i2c: s3c24xx: fix read transfers in polling mode
  ipv6: mcast: fix data-race in ipv6_mc_down / mld_ifc_work
  selftests: mlxsw: qos_pfc: Adjust the test to support 8 lanes
  mlxsw: spectrum_acl_erp: Fix error flow of pool allocation failure
  loop: fix the the direct I/O support check when used on top of block devices
  ethtool: netlink: Add missing ethnl_ops_begin/complete
  kdb: Fix a potential buffer overflow in kdb_local()
  ipvs: avoid stat macros calls from preemptible context
  netfilter: nf_tables: reject NFT_SET_CONCAT with not field length description
  netfilter: nf_tables: skip dead set elements in netlink dump
  netfilter: nf_tables: do not allow mismatch field size and set key length
  netfilter: bridge: replace physindev with physinif in nf_bridge_info
  netfilter: propagate net to nf_bridge_get_physindev
  ...

Conflicts:
	drivers/clk/rockchip/clk-rk3568.c
	drivers/devfreq/event/rockchip-dfi.c
	drivers/gpu/drm/rockchip/rockchip_drm_vop.c
	drivers/gpu/drm/rockchip/rockchip_drm_vop2.c
	drivers/i2c/busses/i2c-rk3x.c
	drivers/i2c/i2c-core-base.c
	drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
	drivers/nvme/host/nvme.h

Change-Id: I9649ece83925659bca59cced0be24f0bd165822a
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
2024-05-08 11:14:32 +08:00
William Wu
0bf324da22 usb: gadget: f_hid: fix zero length packet transfer for ep0
If the hid transfer with size divisible to EP0 max packet
size, it needs to set the req->zero to true, then the usb
controller can transfer a zero length packet at the end
according to the USB 2.0 spec.

Signed-off-by: William Wu <william.wu@rock-chips.com>
Change-Id: Iae8c06966efe49c3a33213f9c36dd752633e8bd1
2024-05-07 20:53:42 +08:00
William Wu
0ca707d005 usb: gadget: f_hid: fix zero length packet transfer
If the hid transfer with size divisible to EPs max packet
size, it needs to set the req->zero to true, then the usb
controller can transfer a zero length packet at the end
according to the USB 2.0 spec.

Signed-off-by: William Wu <william.wu@rock-chips.com>
Change-Id: Ia63060b4551d30821beaf494c1ccd7dfb3b6ca22
2024-05-07 20:53:42 +08:00
Chen Shunqing
47e0b52d12 media: i2c: rk628: extended hpd pull down time
Signed-off-by: Chen Shunqing <csq@rock-chips.com>
Change-Id: I6a1d531f9c37ad4d7873bd86f2d5dc1f6e66e75f
2024-05-07 20:49:40 +08:00
Chen Shunqing
c7111f012d media: i2c: rk628: remove hdmirx ctrl reset for rk628f
Signed-off-by: Chen Shunqing <csq@rock-chips.com>
Change-Id: I2941f2269f8ae64fdaf1c1d399eb9b5d68b199db
2024-05-07 20:46:49 +08:00
Chen Shunqing
ee034abd43 media: i2c: rk628: hdmirx phy power off when plug out
Change-Id: I0173e25ce4c87ba883c87c36322112a7d1821c30
Signed-off-by: Chen Shunqing <csq@rock-chips.com>
2024-05-07 20:46:41 +08:00
Jianwei Fan
853e8825b3 media: i2c: rk628: disable tx stream when plug interrupt
Change-Id: Ib014617ebd53e34a731420d5ebda0479e824017d
Signed-off-by: Jianwei Fan <jianwei.fan@rock-chips.com>
2024-05-07 20:45:53 +08:00
Jianwei Fan
54ebfaf34f media: i2c: rk628: fix mipi dphy reset and mipi timing
Change-Id: I93fafa890dd81800c7dbe19549d6a548b7b74f59
Signed-off-by: Jianwei Fan <jianwei.fan@rock-chips.com>
2024-05-07 20:45:53 +08:00
Chen Shunqing
8a36695275 media: i2c: rk628: fix the last few lines offset
Change-Id: I232a15790ce10dbd316514e019b941a8632536cb
Signed-off-by: Chen Shunqing <csq@rock-chips.com>
2024-05-07 20:44:17 +08:00
Zhibin Huang
41d5dce87d arm64: dts: rockchip: rk3399-ind: Fix black screen on wake from sleep with low backlight
Type: Fix
Redmine ID: #453222
Associated modifications: N/A
Test: N/A

Signed-off-by: Zhibin Huang <zhibin.huang@rock-chips.com>
Change-Id: Idb7905027e6f53cf302b4dd218f28ec33b318dae
2024-05-07 11:30:23 +08:00
Zhang Yubing
f332076dfd drm/rockchip: dw-dp: support resume/suspend in mst mode
When a mst capable immediate downstream device connected,
some workqueue is used to help build and menage the
topology, write/read sidband message. To avoid some access
aux issue happen. we config phy power on when mst capable
immediate downstream device connected and config phy power
off when it becom disconnected.

When a mst capable immediate downstream device connected
and enter to suspend state, it need config phy power off.
And it need config phy power on when it enter to resume
state. This operation to guarantee phy can really power
off when suspend and really power on when resume.

Change-Id: I50e9c800c7b07ea2dd00d8728e08e9abc687378f
Signed-off-by: Zhang Yubing <yubing.zhang@rock-chips.com>
2024-05-06 17:34:39 +08:00
Chaoyi Chen
cb78fffd4e drm/rockchip: vop2: Support vop splice mode in color key setup
When splice mode enabled, setup color key on both left and right win.
Without this patch, kernel will panic when display more than 4k
resolution content:

[   29.233947][  T393] Unable to handle kernel NULL pointer dereference at virtual address 00000000000000f8
[   29.234836][  T393] Mem abort info:
[   29.235155][  T393]   ESR = 0x0000000096000005
[   29.235557][  T393]   EC = 0x25: DABT (current EL), IL = 32 bits
[   29.236090][  T393]   SET = 0, FnV = 0
[   29.236431][  T393]   EA = 0, S1PTW = 0
[   29.236784][  T393]   FSC = 0x05: level 1 translation fault
[   29.237280][  T393] Data abort info:
[   29.237607][  T393]   ISV = 0, ISS = 0x00000005
[   29.238019][  T393]   CM = 0, WnR = 0
[   29.238356][  T393] user pgtable: 4k pages, 39-bit VAs, pgdp=0000000108580000
[   29.239031][  T393] [00000000000000f8] pgd=0000000000000000, p4d=0000000000000000, pud=0000000000000000
[   29.239877][  T393] Internal error: Oops: 0000000096000005 [#1] PREEMPT SMP
[   29.240495][  T393] Modules linked in: bcmdhd(O)
[   29.240921][  T393] CPU: 7 PID: 393 Comm: drm-compositor Tainted: G           O       6.1.57 #361
[   29.241714][  T393] Hardware name: Rockchip RK3588 EVB1 LP4 V10 Board (DT)
[   29.242327][  T393] pstate: 60400009 (nZCv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
[   29.243014][  T393] pc : vop2_win_atomic_update+0x44c8/0x5cec
[   29.243537][  T393] lr : vop2_win_atomic_update+0x35f0/0x5cec
[   29.244051][  T393] sp : ffffffc00de6b7c0
[   29.244413][  T393] x29: ffffffc00de6b8d0 x28: ffffffc0095d01f8 x27: ffffff81013fc060
[   29.245116][  T393] x26: 00000000000010e0 x25: 0000000000000f00 x24: 00000000000003c0
[   29.245817][  T393] x23: 0000000000000000 x22: ffffff815ba59600 x21: ffffff81013fbab8
[   29.246516][  T393] x20: ffffff817ed99400 x19: ffffff81013f0040 x18: ffffffc00dcfd080
[   29.247201][  T393] x17: 0000000000000001 x16: 000000000000000a x15: 0000000000000001
[   29.247888][  T393] x14: 00000000000000c0 x13: 0000000000000019 x12: 0000000000001a30
[   29.248574][  T393] x11: ffffffc00cfa8000 x10: 0000000000000001 x9 : 0000000000000000
[   29.249261][  T393] x8 : ffffff81013f0040 x7 : 00000000000003c0 x6 : 0000000000000438
[   29.249946][  T393] x5 : 00000000000003c0 x4 : ffffffc009bc5728 x3 : 0000000000000f00
[   29.250633][  T393] x2 : ffffff81013fc034 x1 : 0000000000000001 x0 : 0000000000003ff4
[   29.251321][  T393] Call trace:
[   29.251600][  T393]  vop2_win_atomic_update+0x44c8/0x5cec
[   29.252077][  T393]  vop2_plane_atomic_update+0x2b8/0x31c
[   29.252559][  T393]  drm_atomic_helper_commit_planes+0xb4/0x1e0
[   29.253083][  T393]  rockchip_drm_atomic_helper_commit_tail_rpm+0x1b4/0x2c4
[   29.253696][  T393]  commit_tail+0xa4/0x154
[   29.254065][  T393]  drm_atomic_helper_commit+0x1c4/0x1e4
[   29.254545][  T393]  drm_atomic_commit+0xa4/0xd0
[   29.254957][  T393]  drm_mode_atomic_ioctl+0x5e4/0x754
[   29.255414][  T393]  drm_ioctl_kernel+0x80/0xf8
[   29.255816][  T393]  drm_ioctl+0x2d4/0x554
[   29.256183][  T393]  __arm64_sys_ioctl+0x90/0xc8
[   29.256596][  T393]  invoke_syscall+0x40/0x104
[   29.256989][  T393]  el0_svc_common+0xbc/0x168
[   29.257380][  T393]  do_el0_svc+0x1c/0x28
[   29.257738][  T393]  el0_svc+0x1c/0x68
[   29.258075][  T393]  el0t_64_sync_handler+0x68/0xb4
[   29.258510][  T393]  el0t_64_sync+0x164/0x168

Signed-off-by: Chaoyi Chen <chaoyi.chen@rock-chips.com>
Change-Id: I1929270e920d469e6c12dca1301ac4fcc5e82fdc
2024-05-06 17:28:44 +08:00
Sandy Huang
940922324c arm64: dts: rockchip: rk3368-sziauto: normalize lvds dual channel mode
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
Change-Id: I26666fe207df0cc801e2b5773a292ac65c893d21
2024-05-06 15:54:51 +08:00
Sandy Huang
aff1a47ff7 arm64: dts: rockchip: px30-ad-r35-mb: normalize lvds dual channel mode
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
Change-Id: I69440ef9abf84d64bca0ca0570d2c6bc005ab16b
2024-05-06 15:54:51 +08:00
Sandy Huang
5fb5272e08 arm64: dts: rockchip: rk356x-evb: normalize dual channel and split mode
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
Change-Id: I08dbdcd46936e1dc7b3faf49386abe244de97c97
2024-05-06 15:54:51 +08:00
Sandy Huang
b89723b9a6 arm64: dts: rockchip: rk3588-evb: use rockchip,dual-channel instead of dual-channel
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
Change-Id: I2ab98bce28152abb260b7ddb8c8d51afa4c975e2
2024-05-06 15:54:51 +08:00
Sandy Huang
a9c292f9fe arm64: dts: rockchip: rk3588-vehicle: use rockchip,split-mode instead of split-mode
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
Change-Id: Iea3c5daf25aebc0b86e9760de86653e1f4c4296b
2024-05-06 15:54:50 +08:00
Sandy Huang
fdafd72c0d drm/rockchip: rk618 lvds: use rockchip,dual-channel instead of dual-channel
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
Change-Id: I8e252614517a9eeef1f4f2423806c59f22b77836
2024-05-06 15:54:50 +08:00
Sandy Huang
25db75a9b3 drm/rockchip: lvds: use rockchip,dual-channel instead of dual-channel
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
Change-Id: I662c33577cf5655cf73384a5bccf711f2ae0b285
2024-05-06 15:54:50 +08:00
Sandy Huang
27da92ba1d drm/rockchip: dsi2: normalize for rockchip,dual-connector-split
1. use rockchip,dual-connector-split instead of dual-connector-split;
2. init output_if_left_panel by default.

Signed-off-by: Sandy Huang <hjc@rock-chips.com>
Change-Id: I6de71b42fd2967d03508579188049694aa2e2406
2024-05-06 15:54:50 +08:00
Sandy Huang
160b435063 drm/rockchip: dw-dp: add support dual connector split mode
1. use rockchip,split-mode instead of split-mode;
2. rockchip,split-mode is split two same display interface and
register one connector;
3. rockchip,dual-connector-split is split two different display interface and
register two connectors;
4. use rockchip,left-display to identify the left display.

Signed-off-by: Sandy Huang <hjc@rock-chips.com>
Change-Id: If428796d5bd36f6504b10faa31f8c74d73ff6036
2024-05-06 15:54:50 +08:00
Sandy Huang
5413519b93 drm/rockchip: analogix_dp: add support dual connector split mode
1. use rockchip,split-mode instead of split-mode;
2. use rockchip,dual-channel instead of dual-channel;
3. rockchip,split-mode is split two same display interface and
register one connector;
4. rockchip,dual-connector-split is split two different display interface and
register two connectors;
5. rockchip,dual-channel use two same display interface to driver
one two channel panel and register one connector.
6. use rockchip,left-display to identify the left display.

Signed-off-by: Sandy Huang <hjc@rock-chips.com>
Change-Id: Ieb4519d1185a978a35fbdbeafc6fe1ac68e2328b
2024-05-06 15:54:50 +08:00
Sandy Huang
0e4377ad1a drm/rockchip: dw_hdmi: add support dual connector split mode
1. use rockchip,split-mode instead of split-mode;
2. rockchip,split-mode is split two same display interface and register
one connector;
3. rockchip,dual-connector-split is split two different display interface and
register two connectors;
4. use rockchip,left-display to identify the left display.

Signed-off-by: Sandy Huang <hjc@rock-chips.com>
Change-Id: I425f80951fd5c99b31aa250383384500bae5f5f5
2024-05-06 15:54:50 +08:00
Sandy Huang
3ba080da10 drm/rockchip: vop2: add split mode for rk3576
1. dts config example for hdmi+dp split, and hdmi at left display:
         ┌────┬────┐
         │    │    │
  VP ───►│hdmi│ dp │
         │    │    │
         └────┴────┘

  &dp {
	status = "okay";
	rockchip,dual-connector-split;
  };

  &hdmi {
	status = "okay"
	rockchip,dual-connector-split;
	rockchip,left-display;
  };

2. dts config example for hdmi+dp split, and dp at left display:
         ┌────┬────┐
         │    │    │
  VP ───►│ dp │hdmi│
         │    │    │
         └────┴────┘
  &dp {
	status = "okay";
	rockchip,dual-connector-split;
	rockchip,left-display;
  };

  &hdmi {
	status = "okay"
	rockchip,dual-connector-split;
  };

Signed-off-by: Sandy Huang <hjc@rock-chips.com>
Change-Id: I2df45b47b75943ac91561e0a6af509cdb8215f07
2024-05-06 15:54:50 +08:00
Dingxian Wen
b15c98d8fb media: rockchip: hdmirx: binding CPU compatible with RK3583
Find the physical ID based on the logical ID of the CPU. Currently,
there are three possible order of physical CPU IDs:
1.Typical RK3588 platform: 0 1 2 3 4 5 6 7.
2.RK3588 NVR SDK swap cpu: 4 5 6 7 0 1 2 3.
3.RK3583: 0 1 2 3 4 5 or 0 1 2 3 6 7.

Signed-off-by: Dingxian Wen <shawn.wen@rock-chips.com>
Change-Id: I174c06afb143f05e07b4d277a487383c3119938f
2024-05-06 14:52:56 +08:00
Chen Shunqing
e25a48dc08 media: i2c: rk628: fix hdcp enable fail
Change-Id: I5f95c32e616c0e83a120dfba739cb9b6cd20f327
Signed-off-by: Chen Shunqing <csq@rock-chips.com>
2024-05-06 09:59:28 +08:00
Chaoyi Chen
a4cd535799 drm/rockchip: vop2: Improved performance of pixel shift
The original version would hold the DRM lock and immediately do a
drm_atomic_commit(), which may result in significant loss of
performance.

This patch postpones the commit timing. When the DRM commit has
taken effect, no additional commits will be made.

Change-Id: I04843e5ff490152fb53a967ed3fbd2e010d84ed6
Signed-off-by: Chaoyi Chen <chaoyi.chen@rock-chips.com>
2024-04-30 19:12:12 +08:00
Chaoyi Chen
a335f80dff drm/rockchip: vop2: Add pixel shift feature
The pixel shift feature allows to specify an X and Y direction offset
and apply offset to all planes.

Specify the vp to enable the feature in the dts:

&vp1 {
	rockchip,pixel-shift-enable;
};

Offset values can be specified in user space:

echo shift_x shift_y > /sys/class/drm/card0/video_portX/pixel_shift

The "X" in "video_portX" corresponds to the video port id.

Change-Id: I96d3bc5bc21114621606cb38243dfc015c5f8ba3
Signed-off-by: Chaoyi Chen <chaoyi.chen@rock-chips.com>
2024-04-30 19:12:12 +08:00
Chaoyi Chen
24cce56339 drm/rockchip: Add sysfs device node for each crtc
This patch creates device nodes for each available crtc:

/sys/class/drm/card0/crtc_name

Change-Id: I748f56d90c3781b6e3100dfd08b4070ee7212575
Signed-off-by: Chaoyi Chen <chaoyi.chen@rock-chips.com>
2024-04-30 19:12:12 +08:00
jianwei.fan
0fb33e07b5 media: i2c: lt6911uxe/lt7911uxc/lt8668sx: remove i2c enable
Change-Id: Ic7e5410973d6afb1da91ee0c72dddf57aa99277b
Signed-off-by: jianwei.fan <jianwei.fan@rock-chips.com>
2024-04-30 19:08:30 +08:00
Cai YiWei
33a1957772 media: rockchip: isp: fix dmatx config
Change-Id: I34eb6118a64f13754d57bfd58e0d7a760380d243
Signed-off-by: Cai YiWei <cyw@rock-chips.com>
2024-04-30 18:12:52 +08:00
Cai YiWei
85af4797af media: rockchip: isp: fix dmarx deadlock
lock dmarx buf_done->vicap->rx_buffer->wait lock

Change-Id: I02a48f1c53f2fb6bb7a8c86e9f80dfe3d9c2ba27
Signed-off-by: Cai YiWei <cyw@rock-chips.com>
2024-04-30 18:12:29 +08:00
Luo Wei
2239994fc3 rtc: s35390a: fix rtc alarm wake up problem if time < 60s
Signed-off-by: Luo Wei <lw@rock-chips.com>
Change-Id: I946fd0742405b0b0fb6261231f41a53e3aacd9cb
2024-04-30 18:11:58 +08:00