Commit Graph

1271952 Commits

Author SHA1 Message Date
Jon Lin
522b94122e PCI: dw: rockchip: Assign MSI_CTRL msi_vector_num to 32
Change-Id: Iefbc215959a0c92ec617c102c50eb5eb84754850
Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com>
Signed-off-by: Jon Lin <jon.lin@rock-chips.com>
2024-06-18 14:49:32 +08:00
Jon Lin
3dd1c01cf7 PCI: rockchip: dw-ep: Optimize initialization process
1.Remove useless vpcie3v3 regulator;
2.Reorder initial progress;
3.Enable rasdes as default;
4.Disable aspm.

Change-Id: I16e16f4d61866dbfe8004ee39c626f7115aa992c
Signed-off-by: Jon Lin <jon.lin@rock-chips.com>
2024-06-18 14:42:46 +08:00
Damon Ding
3790d37800 phy/rockchip: samsung-hdptx: add more pe/vs configs to pass optional SI test items
According to the SI report, SI test items in TP3, which
are not applicable for eDP v1.3 but necessary for eDP
v1.4, can not meet signal requirements.

Add tx_drv_pre_lvl_ctrl, ana_tx_jeq_en, tx_jeq_even_ctrl
and tx_jeq_odd_ctrl to pass above SI test items.

Change-Id: Ie99f009bee7f2a5d459002b22bccca591f298fea
Signed-off-by: Damon Ding <damon.ding@rock-chips.com>
2024-06-18 14:38:18 +08:00
Sandy Huang
684a1e0966 drm/rockchip: fbdev: reintroduction rockchip drm fbdev
drm_fbdev_generic_setup(drm_dev, 0) register fbdev will register drm
client and lead to display black screen after kernel logo, so we
reintroduction rockchip drm fbdev.

fbdev register drm client will show black screen:

drm_kms_helper_hotplug_event
  ->drm_client_dev_hotplug
    ->client->funcs->hotplug
      ->drm_fbdev_client_hotplug
        ->drm_fb_helper_hotplug_event
          ->drm_fb_helper_set_par
            ...
              -> drm_atomic_commit

Signed-off-by: Sandy Huang <hjc@rock-chips.com>
Change-Id: Id2725e26c633c9ef5f4bd01f9f4fa45c072e8ef9
2024-06-18 14:33:11 +08:00
Sandy Huang
0894a59553 drm/rockchip: vop2: enable writeback post empty stop
If less this commit, VOP will dead at the system bandwidth
very terrible scene.

Signed-off-by: Sandy Huang <hjc@rock-chips.com>
Change-Id: Ie49ea5c3955d98cefbaa360cc8d6ae1a64ca656e
2024-06-18 14:27:24 +08:00
Sandy Huang
6282856b67 drm/rockchip: vop2: move power up plane pd before read regsbak
power up plane should be before pd up, otherwise all the
power down module register is zero.

Signed-off-by: Sandy Huang <hjc@rock-chips.com>
Change-Id: I0959d442292e1f3753c965a1a15280cc5de28950
2024-06-18 14:25:38 +08:00
Sandy Huang
6788007ec5 drm/rockchip: vop2: update default axi id for rk3576
If Cluster rid is bigger than 0xf, VOP will dead at the
system bandwidth very terrible scene.

old:
    Cluster0 win0: 0x10, 0x11     [AXI0]
    Cluster0 win1: 0x12, 0x13     [AXI0]
    Cluster1 win0: 6, 7           [AXI0]
    Cluster1 win1: 8, 9           [AXI0]
    Esmart0:       a, b           [AXI0]
    Esmart1:       c, d           [AXI0]
    Esmart2:       a, b           [AXI1]
    Esmart3:       c, d           [AXI1]
    Lut dma rid:   0x1, 0x2, 0x3  [AXI0]
    DCI dma rid:   0x4            [AXI0]
    Metadata rid:  0x5            [AXI0]

new:
    Cluster0 win0: 0x0a, 0x0b     [AXI0]
    Cluster0 win1: 0x0c, 0x0d     [AXI0]
    Cluster1 win0: 6, 7           [AXI0]
    Cluster1 win1: 8, 9           [AXI0]
    Esmart0:       0x10, 0x11     [AXI0]
    Esmart1:       0x12, 0x13     [AXI0]
    Esmart2:       a, b           [AXI1]
    Esmart3:       c, d           [AXI1]
    Lut dma rid:   0x1, 0x2, 0x3  [AXI0]
    DCI dma rid:   0x4            [AXI0]
    Metadata rid:  0x5            [AXI0]

If Esmart rid is bigger than 0xf, we should disable esmart dma stride
4k.

Signed-off-by: Sandy Huang <hjc@rock-chips.com>
Change-Id: I05c810a556f382ea84963e37933a73c9023fae46
2024-06-18 11:26:56 +08:00
Frank Wang
c50cc550bf usb: typec: tcpm: handle nak for discover modes command
When a NAK is received in one Discover Modes, the Initiator should
skip consuming modes and continue to request Discover Modes for the
rest of SVIDs or register altmodes that have been consumed in
previous ACK.

This fixes a few USB-C Docking Stations failed to register DP
alternate mode since they respond a ACK in the DP SID Discover Modes
first and a NAK in the second VID Discover Modes.

Signed-off-by: Frank Wang <frank.wang@rock-chips.com>
Change-Id: I52d3fae2731fbe88445f47be3ffee20751309ea4
2024-06-17 20:34:28 +08:00
Sandy Huang
b5903b409d drm/rockchip: vop2: no need to double attach cluster win share_id_prop
Cluster win only need to attach share_id_prop as ordinary win, just like
esmart parent win.

Fixes: 48c83387b1 ("drm/rockchip: vop2: Add unique share id for Cluster window")
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
Change-Id: I45a7486c73ca75a04baba6eb1ac4bda3daab3caa
2024-06-17 20:24:21 +08:00
Sandy Huang
709a9da20e drm/rockchip: vop2: fix some plane may be lost
If dts assigned esmart1-win0 as vp1 primary plane but vp1 is disabled,
the esmart1-win0 plane may be lost.

Fixes: 1568e5614d ("drm/rockchip: vop2: not to register crtc for inactive video port")
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
Change-Id: I13675bd0695c342bceccba224ff64a2e5dc1f9e0
2024-06-17 20:24:12 +08:00
Damon Ding
a63bd899a8 drm/rockchip: analogix_dp: init audio in .late_register() of drm_encoder_func
According to Documentation/driver-api/driver-model/driver.rst,
a warning as follow:
-EPROBE_DEFER must not be returned if probe() has already created
child devices, even if those child devices are removed again
in a cleanup path. If -EPROBE_DEFER is returned after a child
device has been registered, it may result in an infinite loop of
.probe() calls to the same driver.

To avoid this issue, we init the audio in .late_register()
of drm_encoder_func.

Change-Id: Id2219e0225a88075780ea4d0d5030b30e4d97f8c
Signed-off-by: Damon Ding <damon.ding@rock-chips.com>
2024-06-17 20:23:22 +08:00
Huang zhibao
c7ad4cd1f9 arm64: dts: rockchip: add rk3576 nvr demo device tree
Change-Id: Ifbf7ed01b690b940f561d480dd98e67cb44e7d5c
Signed-off-by: Huang zhibao <hzb@rock-chips.com>
Signed-off-by: Xiao Ya peng <yp.xiao@rock-chips.com>
2024-06-17 19:33:24 +08:00
Tao Huang
2a8fb9afc4 arm64: dts: rockchip: rk3576: Use tab indent on system-status-level
No functional change.

Signed-off-by: Tao Huang <huangtao@rock-chips.com>
Change-Id: I9a9a69b4934b55569db7d8c2d56833a4f8ecb65c
2024-06-17 19:33:19 +08:00
Huang zhibao
515e6a07f5 arm64: configs: Add rk3576_nvr.config
Change-Id: I31a0edbe30a2bccf13c30b0c47b89620a4f8d2f8
Signed-off-by: Huang zhibao <hzb@rock-chips.com>
2024-06-17 11:27:43 +08:00
Yifeng Zhao
151ca068c0 fs: inline_crypt: add parameter check
force_page_cache_ra did not perform parameter checking when calling
fscryptnode_uses_fs_layer_crypto, resulting in illegal memory access.

Bug:
Unable to handle kernel access to user memory outside uaccess routines at virtual address 0000000000000011
pc : __fscrypt_inode_uses_inline_crypto+0x4/0xc
lr : force_page_cache_ra+0x7c/0x128
sp : ffffffc00d593ad0
x29: ffffffc00d593ad0 x28: 00000000ffffffff x27: ffffffc00d593d40
x26: 0000000000000000 x25: 0000000000000153 x24: 0000000000000143

fscrypt_inode_uses_inline_crypto+0x4/0xc
page_cache_sync_ra+0x68/0x90
filemap_read+0x194/0xb14
generic_file_read_iter+0x44/0x134
vfs_read+0x1a8/0x27c
arm64_sys_pread64+0x84/0xc8
invoke_syscall+0x40/0x104
el0_svc_common+0xbc/0x168
do_el0_svc+0x1c/0x28
el0_svc+0x1c/0x68
el0t_64_sync_handler+0x68/0xb4
el0t_64_sync+0x164/0x168

Signed-off-by: Yifeng Zhao <yifeng.zhao@rock-chips.com>
Change-Id: I5a69580f26e578e46110782d3d20c9f1df2acd50
2024-06-17 11:25:35 +08:00
Cai YiWei
b98e293576 media: rockchip: isp: fix cac for multi sensor
Change-Id: Ia63c5129ca28ff8d683cd35b56bb2d57b58682e4
Signed-off-by: Cai YiWei <cyw@rock-chips.com>
2024-06-17 10:29:44 +08:00
Wu Liangqing
ce6e1b95ba arm64: dts: rockchip: rk3576-android: enabled wdt
Change-Id: Iee39c9cc175ba803102700501eec33d77ca7d928
Signed-off-by: Wu Liangqing <wlq@rock-chips.com>
2024-06-14 19:57:48 +08:00
Caesar Wang
1c5fe02ca8 usb: typec: tcpci_husb311: Disable IRQ before unregistering TCPCI port
For reboot stress tests, have the below crash.

[ 15.003004] Unable to handle kernel paging request at virtual address ffffffc009c975a0
[ 14.897469] pc : queued_spin_lock_slowpath+0x274/0x420
[ 14.898086] lr : kthread_queue_work+0xb8/0x114
[ 14.899280] sp : ffffffc00cb93c90
[ 14.899280] x29: ffffffc00cb93c90 x28: 0000000000000000 x27: 0000000000000000
[ 14.899284] x26: ffffffc0080bc414 x25: ffffffc0080bc4f0

...
[ 15.010633] CPU: 5 PID: 240 Comm: irq/82-husb311 Tainted: G O 6.1.75 #120
...
[ 15.029917] Call trace:
[ 15.030137] queued_spin_lock_slowpath+0x274/0x420
[ 15.030564] kthread_queue_work+0xb8/0x114
[ 15.030926] tcpm_cc_change+0x60/0xa4
[ 15.031256] tcpci_irq+0x150/0x240
[ 15.031554] husb311_irq+0x50/0x290
[ 15.031863] irq_thread_fn+0x30/0xb0
[ 15.032182] irq_thread+0x16c/0x2c4
[ 15.032490] kthread+0xdc/0xe0
[ 15.032765] ret_from_fork+0x10/0x20
...

This commit addresses the issue by disabling the IRQ before unregistering
the TCPCI port in both the remove and shutdown handlers. This ensures that
no new interrupts are handled after the port is unregistered, preventing
potential race conditions or use-after-free issues.

Fixes: 5e320d0310 ("usb: typec: husb311: set vbus off when shutdown")

Change-Id: Ie2cb85a15f6c63b019e4a000ba65205bc508e483
Signed-off-by: Caesar Wang <wxt@rock-chips.com>
2024-06-14 19:03:28 +08:00
Zhibin Huang
2293a3c858 misc: rk628: hdmitx: supplement valid modes
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: Ic0b429e2a170296164b875cd3d6650971b53e0a8
2024-06-14 19:02:44 +08:00
Zhibin Huang
6ac091d511 misc: rk628: bt1120rx: rk628d adjust cpll frequency to support more frequencies
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: I570608197321634ec9172d31718bb01769755324
2024-06-14 19:02:44 +08:00
Zhibin Huang
1b4cb08dbe misc: rk628: bt1120rx: rk628f adjust cpll frequency to support more frequencies
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: Ifdd947d3396399faaea106a0ba7d1193be494eeb
2024-06-14 19:02:44 +08:00
Zhibin Huang
f0ba3396b3 misc: rk628: cru: clock adjustment logic optimization
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: Ieaed642c4bf45b29493af1d358bece83dbcda6c9
2024-06-14 19:02:44 +08:00
Zhibin Huang
ed3f7cfa9b misc: rk628: cru: add clk_summary for debugging
Type: Function
Redmine ID: N/A
Associated modifications: N/A
Test:
  # cat /d/rk628/8-0050/clk_summary
    clock                    rate
  ---------------------------------
  cpll                   1188000000
      clk_rx_read         594000000
      clk_sclk_vop        594000000
      clk_bt1120dec       148500000
      clk_imodet           49500000
  gpll                    983039999
      clk_hdmirx_aud       98303999

Signed-off-by: Zhibin Huang <zhibin.huang@rock-chips.com>
Change-Id: I6fec2ebafc0995a6007ba79dc9cfa59d3236513d
2024-06-14 19:02:44 +08:00
Zhibin Huang
6ac94745ae misc: rk628: hdmitx: fix rk628d display anomaly when clock frequency is below 40MHz
Type: Fix
Redmine ID: N/A
Associated modifications: N/A
Test: N/A

Signed-off-by: Zhibin Huang <zhibin.huang@rock-chips.com>
Change-Id: I10124125500668d7d4654a9a19641761ef945d2b
2024-06-14 19:02:44 +08:00
Frank Wang
6d93380186 phy: rockchip: inno-usb2: Add refclock freq setting
This adds 24/26 MHz reference clock frequency setting for
rk3576 soc with SNPS USB2 PHY IP.

Signed-off-by: Frank Wang <frank.wang@rock-chips.com>
Signed-off-by: William Wu <william.wu@rock-chips.com>
Change-Id: I712ab4cb630db9a0cccb4174ce59ef6dbafe2df0
2024-06-14 19:01:25 +08:00
Rimon Xu
3353ec981a media: rockchip: vpss: fix offline device id out of range
[   27.785304] Unable to handle kernel paging request at virtual address 002d737370766bee
[   28.258589] Mem abort info:
[   28.258841]   ESR = 0x0000000096000004
[   28.259169]   EC = 0x25: DABT (current EL), IL = 32 bits
[   28.259637]   SET = 0, FnV = 0
[   28.259911]   EA = 0, S1PTW = 0
[   28.260184]   FSC = 0x04: level 0 translation fault
[   28.260610] Data abort info:
[   28.260861]   ISV = 0, ISS = 0x00000004
[   28.261200]   CM = 0, WnR = 0
[   28.261462] [002d737370766bee] address between user and kernel address ranges
[   28.262085] Internal error: Oops: 0000000096000004 [#1] SMP
[   28.262576] Modules linked in:
[   28.262852] CPU: 0 PID: 1064 Comm: vo_render_0 Not tainted 6.1.75 #37
[   28.263420] Hardware name: Rockchip RK3576 EVB2 V10 Linux Board (DT)
[   28.263975] pstate: 800000c5 (Nzcv daIF -PAN -UAO -TCO -DIT -SSBS BTYPE=--)
[   28.264587] pc : clk_core_disable+0x1c/0x1ec
[   28.264974] lr : clk_disable+0x34/0x50
[   28.265303] sp : ffffffc00aedb8f0
[   28.265599] x29: ffffffc00aedb8f0 x28: 0000000000000009 x27: 0000007f8322c290
[   28.266224] x26: 0000000000000000 x25: 0000000000000000 x24: ffffff80c3bd4040
[   28.266848] x23: ffffff80c038e068 x22: ffffffc009951ca0 x21: 0000000000000005
[   28.267473] x20: 762d737370766b72 x19: 762d737370766b72 x18: 0000000000000030
[   28.268097] x17: 2076656420323435 x16: 323239206d756e5f x15: 6b6c632039666534
[   28.268721] x14: 6465353630303030 x13: 6633366362613364 x12: 3030303030303030
[   28.269344] x11: 0000000000144580 x10: 0000000000144550 x9 : ffffffc0086ed044
[   28.269969] x8 : ffffffc00a2141f8 x7 : ffffffc00a2c41f8 x6 : 0000000000000001
[   28.270593] x5 : ffffff80fb529b60 x4 : ffffffc00a60aa30 x3 : 0000000000000000
[   28.271216] x2 : 0000000000000001 x1 : ffffff80c0fa0000 x0 : 762d737370766b72
[   28.271840] Call trace:
[   28.272060]  clk_core_disable+0x1c/0x1ec
[   28.272411]  clk_disable+0x34/0x50
[   28.272718]  rkvpss_runtime_suspend+0xac/0xd8
[   28.273104]  pm_generic_runtime_suspend+0x30/0x44
[   28.273521]  genpd_runtime_suspend+0xb8/0x2f4
[   28.273906]  __rpm_callback+0x4c/0x200
[   28.274236]  rpm_callback+0x6c/0x80
[   28.274544]  rpm_suspend+0xd4/0x78c
[   28.274852]  rpm_idle+0x1a4/0x3b0
[   28.275149]  __pm_runtime_idle+0x64/0x1a0
[   28.275501]  ofl_release+0x78/0x94
[   28.275810]  v4l2_release+0xbc/0xf0
[   28.276117]  __fput+0xc0/0x250
[   28.276393]  ____fput+0x14/0x1c
[   28.276668]  task_work_run+0xb8/0x170
[   28.276997]  do_exit+0x2d4/0x924
[   28.277283]  do_group_exit+0x38/0xa0
[   28.277600]  get_signal+0x998/0x9c0
[   28.277908]  do_notify_resume+0x180/0xde0
[   28.278261]  el0_svc+0x6c/0x80
[   28.278535]  el0t_64_sync_handler+0xb0/0xb4
[   28.278907]  el0t_64_sync+0x158/0x15c
[   28.279235]
[   28.279235] PC: 0xffffffc0086ece40:

Signed-off-by: Rimon Xu <rimon.xu@rock-chips.com>
Change-Id: I39d709ed8526b91c67d4181d51bad670edf9c88a
2024-06-14 19:00:04 +08:00
Frank Wang
60e92c4bf2 phy: rockchip: usbdp: amend ssc modulation deviation
Move SSC modulation deviation into private config of clock.
 - 24M: 0x00D4[5:0] = 0x30
 - 26M: 0x00D4[5:0] = 0x33

Signed-off-by: Frank Wang <frank.wang@rock-chips.com>
Change-Id: I6bd1e4352f85a6e12630cc4034fac49a9749627c
2024-06-14 18:08:44 +08:00
Jianwei Fan
a16ad1ba4f media: i2c: lontium driver: remove judge timing valid
Signed-off-by: Jianwei Fan <jianwei.fan@rock-chips.com>
Change-Id: Iec8dc38580f5f008caeebf66bcc137aa51dd30a0
2024-06-14 16:55:56 +08:00
Damon Ding
d4f217f532 drm/rockchip: analogix_dp: fix the log to indicate edp data source
The log may be like:
vop2/vop3:
[   21.047010] rockchip-dp 27dc0000.edp: [drm:rockchip_dp_drm_encoder_enable] vop@27d00000 vp1 output to edp
vopb/vopl:
[    5.900240] rockchip-dp 27dc0000.edp: [drm:rockchip_dp_drm_encoder_enable] vop@27900000 vopl output to edp

Change-Id: I940cb881481e8e86ad804b7b4a7f3453123f0f9f
Signed-off-by: Damon Ding <damon.ding@rock-chips.com>
2024-06-14 16:54:47 +08:00
Yandong Lin
ea6192a781 video: rockchip: mpp: rk3576: fix enc err when rec_fbc_dis=1
Writing reg 0x300 BIT(31) may cause the DMA module to falsely
trigger writing data. It will case enc err.
So we need to disable the core clock before writing reg 0x300,
and re-enable the core clock after writing reg 0x300.

Change-Id: Ib385b3aa120533cd42b70b548120d219ceaf4fb5
Signed-off-by: Yandong Lin <yandong.lin@rock-chips.com>
2024-06-14 16:50:01 +08:00
Mingwei Yan
b3b89be50d media: rockchip: vpss: offline support 8k
Signed-off-by: Mingwei Yan <mingwei.yan@rock-chips.com>
Change-Id: Ida1b1d32570bdbdade6d7dc1bd216da6d21c5248
2024-06-14 16:49:04 +08:00
Algea Cao
8667847bb9 drm/rockchip: dw-hdmi-qp: Enable/disable hdcp without hdmi enable/disable
The original on/off hdcp process will cause hdmi and vop to be on/off,
which will affect other display interfaces in the mirror scenario.

Change-Id: I1f83063e800beb0b78cd793971e5f4f65b8bf55e
Signed-off-by: Algea Cao <algea.cao@rock-chips.com>
2024-06-14 16:44:23 +08:00
Damon Ding
97bf3e44df arm64: dts: rockchip: rk3576: fix apb clk to PCLK_HDPTX_APB for edp
The parent clock of PCLK_HDPTX_APB is PCLK_PMUPHY_ROOT,
which must be always on.

In order to reduce power consumption, replace apb clock
PCLK_PMUPHY_ROOT by controllable PCLK_HDPTX_APB in
suspending and resuming.

Change-Id: I1103b9bf542bacfd021de9a2553265fd6960e6d5
Signed-off-by: Damon Ding <damon.ding@rock-chips.com>
2024-06-14 16:43:30 +08:00
Wangqiang Guo
c92f3fa910 media: rockchip: hdmirx: fix low_latency NULL pointer err.
Type: Fix
Redmine ID: #483313
Associated modifications: null
Test: 1.echo 1 > /sys/module/rockchip_hdmirx/parameters/low_latency
      2.reboot during preview.

Change-Id: Ie55efc60a9520202e63d915c71316dea27af8fae
Signed-off-by: Wangqiang Guo <kay.guo@rock-chips.com>
2024-06-14 16:18:34 +08:00
Xing Zheng
61a57d98f2 ASoC: es8323: add support 'ADC Data Select' control node
This patch supports select and swap ADC data, the item
'Left Right' is default.

For example, swap left and right for ADC:
----
amixer -c 0 sset 'ADC Data Select' 'Right Left'
Simple mixer control 'ADC Data Select',0
  Capabilities: enum
  Items: 'Left Right' 'Left Left' 'Right Right' 'Right Left'
  Item0: 'Right Left'

Change-Id: Ied9296929010e93773cf335f210c3ec7be12481e
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
2024-06-14 15:56:06 +08:00
Sandy Huang
be446793b3 drm/rockchip: vop2: disable acm bypass by default
For RK3576 VP0 enable ACM[set acm bypass from 1 to 0] must at standby mode, otherwise
will lead to timing error, so we enable ACM by default.

Signed-off-by: Sandy Huang <hjc@rock-chips.com>
Change-Id: I7711cd0ca5b56c3a7bfef800bf9e61a5c0697e90
2024-06-13 19:47:09 +08:00
Wangqiang Guo
1cb58f9d38 media: rockchip: hdmirx: fix color space err.
Type: Fix
Redmine ID: #489206
Associated modifications: null
Test: cat /d/hdmirx/status check color space.

Change-Id: Ib9ab90a663ef49e2e1a84eec6b216335569c38bb
Signed-off-by: Wangqiang Guo <kay.guo@rock-chips.com>
2024-06-13 19:44:46 +08:00
Cai Wenzhong
1138b37041 media: i2c: maxim: driver version v3.06.00
Signed-off-by: Cai Wenzhong <cwz@rock-chips.com>
Change-Id: If0c75766e3a8eaf6ad6921931c526454ca8b0511
2024-06-13 17:24:10 +08:00
Cai Wenzhong
b7fa365e98 media: i2c: maxim: local: fix the issue of mutex deadlock during hot plug
<3>[ 2169.596144][   T63] INFO: task irq/132-maxim4c:200 blocked for more than 720 seconds.
<3>[ 2169.596172][   T63]       Not tainted 5.10.160-abibuild_20240531.213136 #1
<3>[ 2169.596183][   T63] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
<6>[ 2169.596225][   T63] task:irq/132-maxim4c state:D stack:    0 pid: 200 ppid:     2 flags:0x00000008
<6>[ 2169.596243][   T63] Call trace:
<6>[ 2169.596254][   T63]  __switch_to+0x118/0x148
<6>[ 2169.596266][   T63]  __schedule+0x4ac/0x6f0
<6>[ 2169.596277][   T63]  schedule+0xa4/0xe8
<6>[ 2169.596287][   T63]  schedule_preempt_disabled+0x2c/0x48
<6>[ 2169.596297][   T63]  __mutex_lock+0x364/0x584
<6>[ 2169.596306][   T63]  __mutex_lock_slowpath+0x1c/0x28
<6>[ 2169.596316][   T63]  mutex_lock+0x44/0x68
<6>[ 2169.596327][   T63]  maxim4c_hot_plug_detect_irq_handler+0x30/0xa4
<6>[ 2169.596337][   T63]  irq_thread_fn+0x38/0x84
<6>[ 2169.596346][   T63]  irq_thread+0x1c4/0x264
<6>[ 2169.596356][   T63]  kthread+0x140/0x36c
<6>[ 2169.596366][   T63]  ret_from_fork+0x10/0x18
<3>[ 2169.596566][   T63] INFO: task kworker/u16:8:842 blocked for more than 720 seconds.
<3>[ 2169.596577][   T63]       Not tainted 5.10.160-abibuild_20240531.213136 #1
<3>[ 2169.596586][   T63] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
<6>[ 2169.596619][   T63] task:kworker/u16:8   state:D stack:    0 pid: 842 ppid:     2 flags:0x00000028
<6>[ 2169.596638][   T63] Workqueue: maxim4c work queue maxim4c_hot_plug_state_check_work
<6>[ 2169.596651][   T63] Call trace:
<6>[ 2169.596661][   T63]  __switch_to+0x118/0x148
<6>[ 2169.596671][   T63]  __schedule+0x4ac/0x6f0
<6>[ 2169.596681][   T63]  schedule+0xa4/0xe8
<6>[ 2169.596691][   T63]  synchronize_irq+0x7c/0xb8
<6>[ 2169.596701][   T63]  disable_irq+0x78/0xa4
<6>[ 2169.596711][   T63]  maxim4c_hot_plug_state_check_work+0x324/0x394
<6>[ 2169.596722][   T63]  process_one_work+0x1f8/0x480
<6>[ 2169.596731][   T63]  worker_thread+0x278/0x4d4
<6>[ 2169.596741][   T63]  kthread+0x140/0x36c
<6>[ 2169.596759][   T63]  ret_from_fork+0x10/0x18

Signed-off-by: Cai Wenzhong <cwz@rock-chips.com>
Change-Id: I9ca122e3c09a55b8a024e50da9ea2e3d176e72e0
2024-06-13 15:29:00 +08:00
Cai Wenzhong
e25c52a639 arm64: dts: rockchip: rk3576-vehicle-evb-maxim-max96712-d(/c)phy: dtsi remove vc-array config
Signed-off-by: Cai Wenzhong <cwz@rock-chips.com>
Change-Id: Ib00ff1132ca9485030311f9dce5f00914dd4d7f6
2024-06-13 15:29:00 +08:00
Cai Wenzhong
e92f14382b arm64: dts: rockchip: rk3588-vehicle-evb-maxim-max9671(/2)2-d(/c)phy: dtsi remove vc-array config
Signed-off-by: Cai Wenzhong <cwz@rock-chips.com>
Change-Id: I17afa9775a79984917a2045a2d255badc2fa59a8
2024-06-13 15:29:00 +08:00
Cai Wenzhong
dc3b46a5c7 media: i2c: maxim: local: mode vc initialization when vc-array isn't configured
Signed-off-by: Cai Wenzhong <cwz@rock-chips.com>
Change-Id: Ia5df102b75aeaec9323dcca9a09785a39855c56a
2024-06-13 15:29:00 +08:00
Jianwei Fan
5b95b0a7bc media: i2c: lt6911uxe: add dual mipi support
Change-Id: I685a14c07579ee0010800594749544b9b0e3bd5c
Signed-off-by: Jianwei Fan <jianwei.fan@rock-chips.com>
2024-06-13 15:25:40 +08:00
Xing Zheng
a4c81b775b ASoC: es8323: recover L/R stereo input and disable capture ALC and NG by default
Generally speaking, the codec needs to ensure the normal
input of left and right channels independently. If you
want to forcethe duplication of channels, you can configure
it through the control node in the user layer.

Enabling ALC NG here will cause the sound pickup effect
to be unstable.

And, the default public version does not need to turn on
the ALC NG function, so as not to introduce non-linear
processing to the backend algorithm and cause unnecessary
confusion to developers.

Change-Id: I52e376c7d992d4bd08e863134b4c596cbfccbe2b
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
2024-06-12 17:37:35 +08:00
Wu Liangqing
cfd0cc7ba6 arm64: dts: rockchip: rk3562: rockchip_suspend disabled sleep debug
Change-Id: Id73d07cbd1d99704f2f6ad63ee340ef0f2b6fd1c
Signed-off-by: Wu Liangqing <wlq@rock-chips.com>
2024-06-12 17:37:23 +08:00
Shawn Lin
f5f09fbd44 mmc: dw_mmc-rockchip: Fix internal phase calculate
ciu clock from CRU is 2 times of interface clock, so the delay number
maybe not so accurate as the sample phase is based on interface clock.

Change-Id: Ib8d66f1c7af18fa3888dafc4528a95aabfa8572f
Fixes: 1505eda5b9 ("mmc: dw_mmc-rockchip: Add internal phase support")
Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com>
2024-06-12 16:06:06 +08:00
Zhihuan He
43675f80cc EDAC/rockchip: support ddr ecc poison
Change-Id: If3746dee41d2717f3c3ce9e3caa5c53ac9d8ef84
Signed-off-by: Zhihuan He <huan.he@rock-chips.com>
2024-06-12 15:15:28 +08:00
Algea Cao
f5432bfa9d arm64: dts: rockchip: rk3576: fix apb clk to PCLK_HDPTX_APB for hdmi
The parent clock of PCLK_HDPTX_APB is PCLK_PMUPHY_ROOT,
which must be always on.

In order to reduce power consumption, replace apb clock
PCLK_PMUPHY_ROOT by controllable PCLK_HDPTX_APB in
suspend and plug out.

Change-Id: I856fa05382ea50a7541195d49941c113bbe3986a
Signed-off-by: Algea Cao <algea.cao@rock-chips.com>
2024-06-11 15:17:16 +08:00
Elaine Zhang
a66d9bdbbe clk: rockchip: rk3576: export pclk_hdptx_apb
For edp and hdmi phy low power mode.

Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
Change-Id: I288be0ffbf50a7ed78614d4813c5d4f8508d7405
2024-06-11 15:09:46 +08:00
Cai YiWei
9eacb0f92f media: rockchip: isp: fix ldcv irq handle
Change-Id: Iabada025762c66e6881472420e1351f5da2510ea
Signed-off-by: Cai YiWei <cyw@rock-chips.com>
2024-06-11 14:09:38 +08:00