Commit Graph

1265533 Commits

Author SHA1 Message Date
Tao Huang
63ede6533e Merge commit '80af59f8b8783610afdf59ff4cd7a0b4fcdf095d'
* commit '80af59f8b8783610afdf59ff4cd7a0b4fcdf095d':
  video: rockchip: rve: update to 1.0.5
  ARM: rockchip: rv1106: support CONFIG_RV1106_PMU_WAKEUP_TIMEOUT
  media: rockchip: isp: fix is_on false cause pm isp die
  ARM: rockchip: rv1106: support PMIC_SLEEP over gpio0_a4

Change-Id: Ic3b085e535b029b9364c0ecb55551d31e325cfab
2023-12-05 19:20:14 +08:00
Finley Xiao
7737649f46 soc: rockchip: opp_select: Add support to use the first clk as dvfs clk
On rk3588, the npu dvfs clk name is clk_npu.
clocks = <&scmi_clk SCMI_CLK_NPU>, <&cru ACLK_NPU0>,
	 <&cru ACLK_NPU1>, <&cru ACLK_NPU2>,
	 <&cru HCLK_NPU0>, <&cru HCLK_NPU1>,
	 <&cru HCLK_NPU2>, <&cru PCLK_NPU_ROOT>;
clock-names = "clk_npu", "aclk0", "aclk1", "aclk2",
	      "hclk0", "hclk1", "hclk2", "pclk";

On rk3562, the npu dvfs clk name is scmi_clk.
clocks = <&scmi_clk ACLK_RKNN>, <&cru ACLK_RKNN>, <&cru HCLK_RKNN>;
clock-names = "scmi_clk", "aclk", "hclk";

Add suppprt to use the first clk as dvfs clk,
and don't need to change devicetree.

Change-Id: Ie8998aec6fe7f24f19f49cfe3f90c4183fef2094
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
2023-12-05 16:59:31 +08:00
Jacob Chen
80af59f8b8 video: rockchip: rve: update to 1.0.5
fix unexpected exit during execution of llp tasks, The 0th
bit of the work status register indicates whether the current
task in linked-list mode has successfully completed execution.
The 4th bit indicates all tasks has been processed done.

Change-Id: I099c55e2f00cc63e9f4ee0d3e2696ccec9a5ae9a
Signed-off-by: Jacob Chen <cc@rock-chips.com>
2023-12-05 16:13:27 +08:00
XiaoDong Huang
ad7b71f2e2 ARM: rockchip: rv1106: support CONFIG_RV1106_PMU_WAKEUP_TIMEOUT
Signed-off-by: XiaoDong Huang <derrick.huang@rock-chips.com>
Change-Id: I66859ef75a39e71de20a1efab5fc840bfa296346
2023-12-05 15:44:01 +08:00
Mingwei Yan
164aa84b56 media: rockchip: isp: fix is_on false cause pm isp die
rv1106 dual_sensor will call rkisp_hw_enum_isp_size,
if memset isp_size to 0 will cause is_on be false,
when isp pm,isp reg_save/reg_store can't be called

Signed-off-by: Mingwei Yan <mingwei.yan@rock-chips.com>
Change-Id: If91e3feaf113fe8ca3d22fca92c2800c99f5b55d
2023-12-05 15:14:10 +08:00
XiaoDong Huang
9e64835577 ARM: rockchip: rv1106: support PMIC_SLEEP over gpio0_a4
Change-Id: I14678dfe44ed893f4a2e42168eb2b869c622aa89
Signed-off-by: XiaoDong Huang <derrick.huang@rock-chips.com>
2023-12-05 14:51:58 +08:00
YouMin Chen
2c5a6fa089 PM / devfreq: rockchip_dmc: Add set dev->init_name
Set dev->init_name = "dmc" to fixed the device name of rockchip_dmc.
Fixed the node path of rockchip_dmc to /sys/class/devfreq/dmc/.

Signed-off-by: YouMin Chen <cym@rock-chips.com>
Change-Id: I6633371fa92ee3f226e18568ad1758e9c48e69ec
2023-12-04 20:41:11 +08:00
Tao Huang
7c10ac3d06 Merge commit '6e8cfc3b5519953ede64e2819ba15327f4fa9e16'
* commit '6e8cfc3b5519953ede64e2819ba15327f4fa9e16':
  arm64: dts: rockchip: rk3588-evb: enabled rkvtunnel
  arm64: dts: rockchip: rk3588: add rkvtunnel
  arm64: configs: rockchip: add CONFIG_ROCKCHIP_VIDEO_TUNNEL
  media: rockchip: isp: add mode for rv1106 suspend without rtt

Change-Id: Ic3a735be43a31c08333687213952ed3dfb8f9a92
2023-12-04 20:28:53 +08:00
Tao Huang
1c92fc3c73 Merge commit '9758b645e0fbcd15ff290c2a927e8c7acfaaba9d'
Merge made by the 'ours' strategy.

* commit '9758b645e0fbcd15ff290c2a927e8c7acfaaba9d':
  soc: rockchip: opp_select: Fix getting wrong struct rockchip_clk_pll pointer

Change-Id: I4be1106dc6008de52ca4481a6c90b36655996358
2023-12-04 20:28:30 +08:00
Finley Xiao
d2eff9c689 soc: rockchip: opp_select: Fix getting wrong struct rockchip_clk_pll pointer
On RK3588, the clocks propety in gpu and npu opp table are not pll
clock, when call rockchip_pll_clk_rate_to_scale(), it will get a wrong
pointer from to_rockchip_clk_pll, the pll->rate_count may be a large
value, and do unnecessary for loops.

Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
Change-Id: I1364e8a930cc8cd9e2cb9627709eea0ba198a566
2023-12-04 20:25:10 +08:00
Tao Huang
e7117250a9 Merge commit '718e3c0d99cae43ffc82a2f51799b9c15268e3ed'
* commit '718e3c0d99cae43ffc82a2f51799b9c15268e3ed':
  media: rockchip: isp: more time to wait isp end

Change-Id: Ib5a174e0e9548b44717038f07d9d2607c3c42f2a
2023-12-04 20:23:56 +08:00
Wu Liangqing
6e8cfc3b55 arm64: dts: rockchip: rk3588-evb: enabled rkvtunnel
Change-Id: I942a6b44e9f8251666ea4ebf494800a6b09c94ab
Signed-off-by: Wu Liangqing <wlq@rock-chips.com>
2023-12-04 19:58:28 +08:00
Wu Liangqing
2f92fa5c05 arm64: dts: rockchip: rk3588: add rkvtunnel
Signed-off-by: Wu Liangqing <wlq@rock-chips.com>
Change-Id: I07acae6e2b5085986c4485f84c0103db92322c37
2023-12-04 19:57:47 +08:00
Wu Liangqing
f82ba785ed arm64: configs: rockchip: add CONFIG_ROCKCHIP_VIDEO_TUNNEL
Change-Id: I9216b9013aa6a2ac90e167daaed5318f5f1b6a54
Signed-off-by: Wu Liangqing <wlq@rock-chips.com>
2023-12-04 19:57:29 +08:00
Cai YiWei
e2935d993b media: rockchip: isp: add mode for rv1106 suspend without rtt
Change-Id: I878de96cac813ad6e31ad844b7fcd3c84ce0c5d6
Signed-off-by: Cai YiWei <cyw@rock-chips.com>
2023-12-04 15:56:18 +08:00
Finley Xiao
9758b645e0 soc: rockchip: opp_select: Fix getting wrong struct rockchip_clk_pll pointer
On RK3588, the clocks propety in gpu and npu opp table are not pll
clock, when call rockchip_pll_clk_rate_to_scale(), it will get a wrong
pointer from to_rockchip_clk_pll, the pll->rate_count may be a large
value, and do unnecessary for loops.

Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
Change-Id: I1364e8a930cc8cd9e2cb9627709eea0ba198a566
2023-12-04 15:06:06 +08:00
Cai YiWei
718e3c0d99 media: rockchip: isp: more time to wait isp end
Change-Id: I8c08343a47e6b8467e90c4a7cd6a5e4d7c5bfbd4
Signed-off-by: Cai YiWei <cyw@rock-chips.com>
2023-12-04 09:38:07 +08:00
Tao Huang
5604a836c3 Merge commit '6c39b12bf831a4ae9338a0dece816be2453209be'
* commit '6c39b12bf831a4ae9338a0dece816be2453209be':
  media: rockchip: hdmirx: Binding CPU compatible with CPU swap scenarios
  arm64: dts: rockchip: rk3326-evb/px30-evb: changed esc and home key code
  drm/rockchip: vop2: fix the dclk log in vop2_crtc_atomic_enable()
  ARM: dts: rockchip: rv1106-uvc: disable usb2 phy suspend
  ARM: dts: rockchip: set usb dr_mode to otg for rv1106 evb1 and evb2
  driver: rknpu: Update rknpu driver, version: 0.9.3
  soc: rockchip: Add rockchip_disable_unused driver
  Revert "drm/rockchip: Add support to unprotect clocks"
  soc: rockchip: power-domain: Implement rockchip_pd_disable_unused() for gki
  clk: rockchip: Implement rockchip_clk_disable_unused() for gki
  clk: rockchip: rk3562: Make dpll critical
  media: rockchip: isp: fix reset can't open
  media: rockchip: isp: fix info2ddr no enable

Change-Id: I3740ab9de5ddfa6cd254447b85de8bc7421000d2

Conflicts:
	drivers/clk/rockchip/clk.c
	drivers/gpu/drm/rockchip/rockchip_drm_drv.c
	include/soc/rockchip/pm_domains.h
2023-12-01 21:37:39 +08:00
Tao Huang
160e7ab4c0 Merge commit 'cae3ff29cca91532b2b4b5547e077fab382670cc'
Merge made by the 'ours' strategy.

* commit 'cae3ff29cca91532b2b4b5547e077fab382670cc':
  video: rockchip: mpp: rkvenc2: remove opp table when remove devfreq

Change-Id: Iebc5983a16155995ff62fcba9ac9b265ccf1eedb
2023-12-01 21:29:06 +08:00
Finley Xiao
47a1581e59 video: rockchip: mpp: rkvenc2: remove opp table when remove devfreq
rk3588_s:/sdcard # insmod rk_vcodec.ko
rk3588_s:/sdcard # rmmod rk_vcodec.ko
rk3588_s:/sdcard # insmod rk_vcodec.ko

[   31.701985][ T2028] WARNING: CPU: 7 PID: 2028 at drivers/opp/core.c:1767 dev_pm_opp_set_regulators+0x18c/0x1a4
[   31.701989][ T2028] Modules linked in: rk_vcodec(+) [last unloaded: rk_vcodec]
[   31.702002][ T2028] CPU: 7 PID: 2028 Comm: insmod Not tainted 5.10.160 #398
[   31.702005][ T2028] Hardware name: Rockchip RK3588 EVB1 LP4 V10 Board (DT)
[   31.702011][ T2028] pstate: 20400009 (nzCv daif +PAN -UAO -TCO BTYPE=--)
[   31.702015][ T2028] pc : dev_pm_opp_set_regulators+0x18c/0x1a4
[   31.702019][ T2028] lr : dev_pm_opp_set_regulators+0x30/0x1a4
[   31.702022][ T2028] sp : ffffffc00e2fb500
[   31.702026][ T2028] x29: ffffffc00e2fb500 x28: ffffffc0012d1c8f
[   31.702031][ T2028] x27: ffffffc008071dbc x26: ffffff8114e1f080
[   31.702036][ T2028] x25: 0000000000000001 x24: ffffffc0012d89c0
[   31.702040][ T2028] x23: ffffffc00e2fb558 x22: ffffff8101480810
[   31.702045][ T2028] x21: ffffff8168e6e5b0 x20: 0000000000000002
[   31.702049][ T2028] x19: ffffff816eeb2800 x18: ffffffc00be95118
[   31.702054][ T2028] x17: 6d726f6674616c70 x16: 0000000000000000
[   31.702058][ T2028] x15: 0000000000000000 x14: ffffffffffffffff
[   31.702062][ T2028] x13: 0000000000000010 x12: 00000000000002f6
[   31.702067][ T2028] x11: 0000000000000020 x10: 0101010101010101
[   31.702072][ T2028] x9 : ffffff8174c00500 x8 : ffffff816eeb2850
[   31.702076][ T2028] x7 : 736d63ff786b6f6f x6 : 0000000080645d51
[   31.702080][ T2028] x5 : 515d640000000000 x4 : 0000008000000000
[   31.702084][ T2028] x3 : 0001332500000000 x2 : 0000000000000000
[   31.702088][ T2028] x1 : ffffff816b2baac0 x0 : ffffff816eeb2800
[   31.702093][ T2028] Call trace:
[   31.702098][ T2028]  dev_pm_opp_set_regulators+0x18c/0x1a4
[   31.702152][ T2028]  rkvenc_init+0x184/0x304 [rk_vcodec]
[   31.702191][ T2028]  mpp_dev_probe+0x25c/0x444 [rk_vcodec]
[   31.702231][ T2028]  rkvenc_probe+0x1fc/0x430 [rk_vcodec]
[   31.702239][ T2028]  platform_drv_probe+0x94/0xbc
[   31.702245][ T2028]  really_probe+0x200/0x500
[   31.702249][ T2028]  driver_probe_device+0x7c/0xb8
[   31.702253][ T2028]  device_driver_attach+0x6c/0xac
[   31.702257][ T2028]  __driver_attach+0xc0/0x14c
[   31.702262][ T2028]  bus_for_each_dev+0x80/0xcc
[   31.702266][ T2028]  driver_attach+0x24/0x30
[   31.702270][ T2028]  bus_add_driver+0x10c/0x1f8
[   31.702275][ T2028]  driver_register+0x78/0x110
[   31.702279][ T2028]  __platform_driver_register+0x44/0x50
[   31.702319][ T2028]  mpp_add_driver+0x114/0x158 [rk_vcodec]
[   31.702358][ T2028]  mpp_service_probe+0x548/0x598 [rk_vcodec]
[   31.702362][ T2028]  platform_drv_probe+0x94/0xbc
[   31.702366][ T2028]  really_probe+0x200/0x500
[   31.702370][ T2028]  driver_probe_device+0x7c/0xb8
[   31.702374][ T2028]  device_driver_attach+0x6c/0xac
[   31.702378][ T2028]  __driver_attach+0xc0/0x14c
[   31.702382][ T2028]  bus_for_each_dev+0x80/0xcc
[   31.702386][ T2028]  driver_attach+0x24/0x30
[   31.702390][ T2028]  bus_add_driver+0x10c/0x1f8
[   31.702394][ T2028]  driver_register+0x78/0x110
[   31.702398][ T2028]  __platform_driver_register+0x44/0x50
[   31.702437][ T2028]  init_module+0x20/0xfe8 [rk_vcodec]
[   31.702444][ T2028]  do_one_initcall+0xe8/0x314
[   31.702451][ T2028]  do_init_module+0x4c/0x1fc
[   31.702454][ T2028]  load_module+0x2ce0/0x3494
[   31.702459][ T2028]  __arm64_sys_finit_module+0xb8/0xf4
[   31.702464][ T2028]  el0_svc_common+0xac/0x1ac
[   31.702469][ T2028]  do_el0_svc+0x1c/0x28
[   31.702475][ T2028]  el0_svc+0x10/0x1c
[   31.702478][ T2028]  el0_sync_handler+0x68/0xac
[   31.702482][ T2028]  el0_sync+0x160/0x180

Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
Change-Id: Icb29c2cc989ad371ccf03bc99ddab0059ca2fd9d
2023-12-01 21:26:53 +08:00
Tao Huang
48eed3442f mfd: rk806-i2c: Fix compilation errors on kernel 6.1
drivers/mfd/rk806-i2c.c:56:14: error: incompatible function pointer types initializing 'void (*)(struct i2c_client *)' with an expression of type 'int (struct i2c_client *)'

Fixes: b473fca294 ("mfd: rk806: Add RK806 support i2c")
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
Change-Id: I00e7088be388222a914824fbc5c5e1ebef021e8a
2023-12-01 21:16:57 +08:00
Tao Huang
8d8f2bbc40 Merge commit '8b15ae280af3fb565e89bf7e7746f47766bb00a4'
* commit '8b15ae280af3fb565e89bf7e7746f47766bb00a4':
  video: rockchip: mpp: optimize iommu faul handle for ccu flow
  media: rockchip: isp: fix rockit set_fmt stuck
  pwm: rockchip: rename pwm-rockchip.h to pwm-rockchip-irq-callbacks.h
  media: i2c: sc223a fix dvp image error
  media: i2c: sc223a add dvp configuration
  video: rockchip: mpp: rkvenc2: fix irq proc
  ARM: dts: rockchip: rv1126: add pwm irq configs
  PCI: rockchip: dw: Support DMA linked list mode
  PCI: rockchip: dw: Adding DMA linked list mode definition
  video: rockchip: rga3: fix import failure does not return error code
  media: rockchip: isp: fix power_cnt if error
  drm: bridge: dw-hdmi: fix incorrect I2CM configuration
  Revert "drm: bridge: dw-hdmi: Fixed ddc error caused by plug out hdmi when reading edid"
  arm64: configs: rockchip_defconfig: Enable CONFIG_MFD_RK806_I2C
  arm64: dts: rockchip: rk3528: add pwm irq configs
  arm64: dts: rockchip: rk3328: add pwm irq configs
  arm64: dts: rockchip: rk1808: add pwm irq configs

Change-Id: I4ce6137b655a57fa97b9d2ae14b49b1ecf27db1d
2023-12-01 20:58:48 +08:00
Tao Huang
76932737a2 Merge commit '5ec7ab5d65667a903b47361354e663560e592299'
Merge made by the 'ours' strategy.

* commit '5ec7ab5d65667a903b47361354e663560e592299':
  arm64: dts: rockchip: rk3568: add pwm irq configs

Change-Id: Ic18cae0d51221020547d4d44db7a0fd1d09f6152
2023-12-01 20:58:13 +08:00
Damon Ding
92c75d601d arm64: dts: rockchip: rk3568: add pwm irq configs
Change-Id: I45dd3c50cbae6100c099714dcec5d39ce20a710a
Signed-off-by: Damon Ding <damon.ding@rock-chips.com>
2023-12-01 20:56:47 +08:00
Tao Huang
ddc0738ae6 Merge commit '851545fccc4239eea695dc5191758bb393ec89a9'
* commit '851545fccc4239eea695dc5191758bb393ec89a9':
  media: rockchip: isp: fix rv1106 cycle kill rkipc null pointer
  arm64: rk3308_linux_defconfig: add CONFIG_DRM_IGNORE_IOTCL_PERMIT
  media: i2c: imx464 fixes exposure error of short frame

Change-Id: I11e1b5d7ad67589e8aa06e14b2dd85e830e766cf
2023-12-01 20:50:52 +08:00
Tao Huang
46c6e52606 Merge commit 'd4dcc9b2c5a73b73ff72b248f3c91a43d24c8fd7'
* commit 'd4dcc9b2c5a73b73ff72b248f3c91a43d24c8fd7':
  media: i2c: add og01a10 driver
  media: i2c: add og02b10 driver

Change-Id: Idf1a4b4bed3cbaa005a8df090fe61a6bd2a276a7

Conflicts:
	drivers/media/i2c/Kconfig
	drivers/media/i2c/Makefile
2023-12-01 20:49:36 +08:00
Tao Huang
fa453b17a5 Merge commit 'bc95e6862a3f13d4ae07e5a5265f142641bdef02'
* commit 'bc95e6862a3f13d4ae07e5a5265f142641bdef02':
  media: i2c: mis4001 driver update version 0.01.02
  arm64: dts: rockchip: rk3562: Add csu-clocks for vop
  drm/rockchip: vop2: Add csu clock support for rk3562
  arm64: dts: rockchip: rk3562: Add rockchip,csu for gmac
  ethernet: stmmac: dwmac-rk: Add csu clock support
  arm64: dts: rockchip: rk3562: Add csu device node
  Revert "arm64: dts: rockchip: rk3562-rk817-tablet-v10: Change clkin div to 5 for aclk vo"
  Revert "arm64: dts: rockchip: rk3562-evb1-lp4x-v10: Change clkin div to 5 for aclk vo"
  arm64: configs: rockchip_linux_defconfig: Enable CONFIG_ROCKCHIP_CSU
  arm64: configs: rockchip_defconfig: Enable CONFIG_ROCKCHIP_CSU
  soc: rockchip: Add clock subunit driver
  arm64: dts: rockchip: px30: add pwm irq configs
  PCI: rockchip: dw: Reserve msi_data in obj_info
  misc: rockchip: pcie-rkep: Support mmap bar resource and rw config space
  misc: rockchip: pcie-rkep: Adding more mmap resources
  media: rockchip: isp: fix wnd_num cause array access out of bounds
  mfd: rk806: Add RK806 support i2c
  PCI: rockchip: dw: Validate phy mode in suspend
  phy: rockchip: naneng-combphy: Add phy_validate support
  arm64: dts: rockchip: add lvds demo dts for rk3567/rk3568

Change-Id: I610c43a60826e361c65a6e1d4fa23da6a56653fa
2023-12-01 20:43:53 +08:00
Tao Huang
f3e269432c Merge commit 'a857a766e8206c3084a57acba5dcc3cd175f0889'
Merge made by the 'ours' strategy.

* commit 'a857a766e8206c3084a57acba5dcc3cd175f0889':
  arm64: dts: rockchip: rk3568: Add readable label for lvds0

Change-Id: Ib14d3674d1ef321dff2e2baaec008f80ce552c4e
2023-12-01 20:43:19 +08:00
Chaoyi Chen
67c4732aa5 arm64: dts: rockchip: rk3568: Add readable label for lvds0
Change-Id: Iacf2cc02fb23ac4a5e8384c3901ce83ed30ef392
Signed-off-by: Chaoyi Chen <chaoyi.chen@rock-chips.com>
2023-12-01 20:40:28 +08:00
Tao Huang
83014ed577 Merge commit '38cfa875e45d5142bf549944d2f3f7ee82a22e49'
* commit '38cfa875e45d5142bf549944d2f3f7ee82a22e49':
  video: rockchip: rga3: modify rga_win_data formats config
  drm/rockchip: vop2: add debug name for rgb565_2x8 mode
  drm/rockchip: vop: add debug name for rgb666_3x6 and rgb565_2x8 modes

Change-Id: Ie6d054896eda299861011288cf3af06e168fc068
2023-12-01 20:35:08 +08:00
Tao Huang
7b7baa80c7 Merge commit '9cf5d6948348ab1e1df4260549c8c7590809f143'
Merge made by the 'ours' strategy.

* commit '9cf5d6948348ab1e1df4260549c8c7590809f143':
  spi: rockchip: Preset SPI slave controller configuration

Change-Id: Ib88964f05dbded909565ff8a844fcc8e6bc7b55c
2023-12-01 20:34:11 +08:00
Jon Lin
2cda47f66a spi: rockchip: Preset SPI slave controller configuration
Ensure that cs io is in the input state in initial progress.

Change-Id: I808994ec14e3f4ab1c580f2f07e3e41b444bcc2e
Signed-off-by: Jon Lin <jon.lin@rock-chips.com>
2023-12-01 20:32:31 +08:00
Tao Huang
98006c7092 Merge commit 'd2ce9f696f0f9bb73ff65ccaa37cb9c05814a162'
* commit 'd2ce9f696f0f9bb73ff65ccaa37cb9c05814a162':
  mfd: display-serdes: improve pinctrl interface for maxim chip
  media: rockchip: isp: frame timestamp change to sof
  driver: rknpu: Split devfreq into separate file
  arm64: dts: rockchip: rk3328-evb: update to kernel5.10

Change-Id: Iaebd4a12b6f781b3d406e50f951098f2efa7d1c4
2023-12-01 20:16:35 +08:00
Tao Huang
bb5d231ab6 Merge commit 'a84f6f50455c37cb29041623c3c50701a879932b'
Merge made by the 'ours' strategy.

* commit 'a84f6f50455c37cb29041623c3c50701a879932b':
  arm64: dts: rockchip: rk3328: correct dmc_opp_table frequencies
  arm64: dts: rockchip: rk3328: update to kernel5.10

Change-Id: Ibf5faaf3940716bd0bd8ea6b547bdeb61ab661fb
2023-12-01 20:07:28 +08:00
Jianlong Wang
655d0987f9 arm64: dts: rockchip: rk3328: update to kernel6.1
Change-Id: If0969403709e56c61177003dedf251d10ba0cced
Signed-off-by: Jianlong Wang <jianlong.wang@rock-chips.com>
2023-12-01 20:02:36 +08:00
Tao Huang
842bce7669 Merge tag 'v6.1.43'
This is the 6.1.43 stable release

* tag 'v6.1.43': (3386 commits)
  Linux 6.1.43
  dma-buf: fix an error pointer vs NULL bug
  dma-buf: keep the signaling time of merged fences v3
  test_firmware: return ENOMEM instead of ENOSPC on failed memory allocation
  selftests: mptcp: sockopt: use 'iptables-legacy' if available
  mptcp: ensure subflow is unhashed before cleaning the backlog
  cpufreq: intel_pstate: Drop ACPI _PSS states table patching
  ACPI: processor: perflib: Avoid updating frequency QoS unnecessarily
  ACPI: processor: perflib: Use the "no limit" frequency QoS
  drm/amd/display: Write to correct dirty_rect
  drm/amd/display: perform a bounds check before filling dirty rectangles
  tracing: Fix trace_event_raw_event_synth() if else statement
  drm/amd/display: set per pipe dppclk to 0 when dpp is off
  rbd: retrieve and check lock owner twice before blocklisting
  rbd: harden get_lock_owner_info() a bit
  rbd: make get_lock_owner_info() return a single locker or NULL
  dm cache policy smq: ensure IO doesn't prevent cleaner policy progress
  drm/i915/dpt: Use shmem for dpt objects
  ceph: never send metrics if disable_send_metrics is set
  PM: sleep: wakeirq: fix wake irq arming
  ...

Conflicts:
	arch/arm/boot/dts/rk3288.dtsi
	arch/arm64/boot/dts/rockchip/rk3568.dtsi
	arch/arm64/boot/dts/rockchip/rk356x.dtsi
	drivers/dma/pl330.c
	drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c
	drivers/gpu/drm/rockchip/rockchip_drm_vop.c
	drivers/gpu/drm/rockchip/rockchip_drm_vop2.c
	drivers/mmc/core/card.h
	drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c
	drivers/nvme/host/nvme.h
	drivers/pci/controller/pcie-rockchip.c
	drivers/power/supply/rk817_charger.c
	drivers/tty/serial/8250/8250_port.c
	drivers/usb/dwc3/gadget.c
	drivers/usb/gadget/udc/core.c
	drivers/usb/host/xhci.h
	drivers/usb/typec/tcpm/tcpm.c

Revert commit c649bf43a2 ("net: ethernet: stmmac: dwmac-rk: rework optional clock handling").

Change-Id: Ib0117e96e04e9a15543ebb69c1a873ba44e41546
2023-12-01 19:31:39 +08:00
Dingxian Wen
6c39b12bf8 media: rockchip: hdmirx: Binding CPU compatible with CPU swap scenarios
Signed-off-by: Dingxian Wen <shawn.wen@rock-chips.com>
Change-Id: I80bc5c50ba7136752e266302cc78f76a3d22ba26
2023-12-01 18:37:08 +08:00
Wu Liangqing
00244fab41 arm64: dts: rockchip: rk3326-evb/px30-evb: changed esc and home key code
Signed-off-by: Wu Liangqing <wlq@rock-chips.com>
Change-Id: I0e60bf3f5bcd81600fd886f7e6c8ef786226e7a9
2023-11-30 12:48:03 +00:00
Damon Ding
5de0bccb0d drm/rockchip: vop2: fix the dclk log in vop2_crtc_atomic_enable()
Change-Id: I370d519aaed0cf96f852c7bec88399ab2a0e5a76
Signed-off-by: Damon Ding <damon.ding@rock-chips.com>
2023-11-30 16:47:28 +08:00
William Wu
ce3e4b920b ARM: dts: rockchip: rv1106-uvc: disable usb2 phy suspend
This patch add property "rockchip,dis-u2-susphy" for
u2phy_otg to avoid the usb2 phy driver set the phy
enter suspend mode if the usb is in unconnected state.
It has no side effect for phy suspend in deep sleep.

For self power board, this patch is useful in hot
plug case, it can fix uvc unrecognized issue with
the following error log:

dwc3 ffb00000.usb: failed to enable ep0out

Signed-off-by: William Wu <william.wu@rock-chips.com>
Change-Id: Ic5ba708201050e12669f098c1b554eeb625b42a2
2023-11-30 15:30:34 +08:00
William Wu
a064f84622 ARM: dts: rockchip: set usb dr_mode to otg for rv1106 evb1 and evb2
Most of rv1106 evb1 and evb2 dts set the usbdrd_dwc3
dr_mode to peripheral, it aimed to avoid conflict when
set vbus-supply for otg host mode, likes rv1106g-evb2
v10, the USB_PWREN gpio is shared with usb vbus-supply
and emmc/spi, and set peripheral mode can also simplify
the usb controller initialization process.

However, peripheral mode causes two issues:

1. USB device can't be recognized in hot plug scenario.
   The dwc3 driver print err log:
   dwc3 ffb00000.usb: failed to enable ep0out

2. The dwc3 driver fails to stop controller in the
   function dwc3_gadget_run_stop() when do system reboot,
   and it will increase the reboot time because the stop
   timeout is set to usleep_range(1000, 2000) * 2000.

   If the CONFIG_HIGH_RES_TIMERS is disabled and the
   CONFIG_HZ_100 is enabled, the dwc3 stop timeout will
   take about 20 seconds.

The root cause of the two issues is that the usb2 phy
is set to suspend mode in phy driver if the usb in
unconnected state, and the usb controller internal
utmi clock provided by usb2 phy is also disabled.
If the dwc3 driver access the registers of the dwc3
controller while the usb2 phy in suspend mode, the
accessing operation is invalid.

This patch sets the dr_mode to otg, then the dwc3
driver will enable the pm runtime and avoid accessing
its registers while the usb2 phy in suspend mode.
In otg mode, the dwc3 uses the extcon notifier from
the usb2 phy to set peripheral or host mode.

Signed-off-by: William Wu <william.wu@rock-chips.com>
Change-Id: I0e77771c2ef62ee6b86c5d7d6444ea7539e51833
2023-11-30 15:30:34 +08:00
Felix Zeng
b83118aa35 driver: rknpu: Update rknpu driver, version: 0.9.3
* Add RK3583 NPU support
* Add kernel mapping control in RV1106
* Add hardware elapse time support
* Fix issue of double core execution in auto mode
* Fix multi-cores schedule issue due to task number incorrect sort

Signed-off-by: Felix Zeng <felix.zeng@rock-chips.com>
Change-Id: I861dd571e7229befe424842c06a5d249e34abf67
2023-11-30 15:29:55 +08:00
Elaine Zhang
f23554b1ad soc: rockchip: Add rockchip_disable_unused driver
Change-Id: I86f6fe8d45ea655910bfb9e96f887aa0cc30dd80
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
2023-11-30 15:16:59 +08:00
Finley Xiao
2584be7192 Revert "drm/rockchip: Add support to unprotect clocks"
This reverts commit 9028a39e63.

Change-Id: I2d483062d9cb53f5303f784afe10cc4524750e2e
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
2023-11-30 14:57:22 +08:00
Finley Xiao
248ac544c7 soc: rockchip: power-domain: Implement rockchip_pd_disable_unused() for gki
Change-Id: I3239964d7d72fe43970fbe5e3f3d84d3ff17995a
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
2023-11-30 14:54:32 +08:00
Finley Xiao
34d2458d75 clk: rockchip: Implement rockchip_clk_disable_unused() for gki
Change-Id: I597fc35690d7a76dbc109e86db4045a1ddb3796d
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
2023-11-30 14:33:41 +08:00
Finley Xiao
31898079f9 clk: rockchip: rk3562: Make dpll critical
Change-Id: I67f9e3eb5595b7e83da6b9c9a28ed2a424bf9b69
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
2023-11-30 11:41:01 +08:00
Mingwei Yan
01e20cf6c4 media: rockchip: isp: fix reset can't open
Signed-off-by: Mingwei Yan <mingwei.yan@rock-chips.com>
Change-Id: I73fc94e63ee1b9069fbb95305fc27ef1f77f3c3d
2023-11-30 11:40:16 +08:00
Cai YiWei
89ace2b9c7 media: rockchip: isp: fix info2ddr no enable
Change-Id: I351b236f210457d5abc24ae30e9fc1c6186753dd
Signed-off-by: Cai YiWei <cyw@rock-chips.com>
2023-11-30 11:39:28 +08:00
Finley Xiao
cae3ff29cc video: rockchip: mpp: rkvenc2: remove opp table when remove devfreq
rk3588_s:/sdcard # insmod rk_vcodec.ko
rk3588_s:/sdcard # rmmod rk_vcodec.ko
rk3588_s:/sdcard # insmod rk_vcodec.ko

[   31.701985][ T2028] WARNING: CPU: 7 PID: 2028 at drivers/opp/core.c:1767 dev_pm_opp_set_regulators+0x18c/0x1a4
[   31.701989][ T2028] Modules linked in: rk_vcodec(+) [last unloaded: rk_vcodec]
[   31.702002][ T2028] CPU: 7 PID: 2028 Comm: insmod Not tainted 5.10.160 #398
[   31.702005][ T2028] Hardware name: Rockchip RK3588 EVB1 LP4 V10 Board (DT)
[   31.702011][ T2028] pstate: 20400009 (nzCv daif +PAN -UAO -TCO BTYPE=--)
[   31.702015][ T2028] pc : dev_pm_opp_set_regulators+0x18c/0x1a4
[   31.702019][ T2028] lr : dev_pm_opp_set_regulators+0x30/0x1a4
[   31.702022][ T2028] sp : ffffffc00e2fb500
[   31.702026][ T2028] x29: ffffffc00e2fb500 x28: ffffffc0012d1c8f
[   31.702031][ T2028] x27: ffffffc008071dbc x26: ffffff8114e1f080
[   31.702036][ T2028] x25: 0000000000000001 x24: ffffffc0012d89c0
[   31.702040][ T2028] x23: ffffffc00e2fb558 x22: ffffff8101480810
[   31.702045][ T2028] x21: ffffff8168e6e5b0 x20: 0000000000000002
[   31.702049][ T2028] x19: ffffff816eeb2800 x18: ffffffc00be95118
[   31.702054][ T2028] x17: 6d726f6674616c70 x16: 0000000000000000
[   31.702058][ T2028] x15: 0000000000000000 x14: ffffffffffffffff
[   31.702062][ T2028] x13: 0000000000000010 x12: 00000000000002f6
[   31.702067][ T2028] x11: 0000000000000020 x10: 0101010101010101
[   31.702072][ T2028] x9 : ffffff8174c00500 x8 : ffffff816eeb2850
[   31.702076][ T2028] x7 : 736d63ff786b6f6f x6 : 0000000080645d51
[   31.702080][ T2028] x5 : 515d640000000000 x4 : 0000008000000000
[   31.702084][ T2028] x3 : 0001332500000000 x2 : 0000000000000000
[   31.702088][ T2028] x1 : ffffff816b2baac0 x0 : ffffff816eeb2800
[   31.702093][ T2028] Call trace:
[   31.702098][ T2028]  dev_pm_opp_set_regulators+0x18c/0x1a4
[   31.702152][ T2028]  rkvenc_init+0x184/0x304 [rk_vcodec]
[   31.702191][ T2028]  mpp_dev_probe+0x25c/0x444 [rk_vcodec]
[   31.702231][ T2028]  rkvenc_probe+0x1fc/0x430 [rk_vcodec]
[   31.702239][ T2028]  platform_drv_probe+0x94/0xbc
[   31.702245][ T2028]  really_probe+0x200/0x500
[   31.702249][ T2028]  driver_probe_device+0x7c/0xb8
[   31.702253][ T2028]  device_driver_attach+0x6c/0xac
[   31.702257][ T2028]  __driver_attach+0xc0/0x14c
[   31.702262][ T2028]  bus_for_each_dev+0x80/0xcc
[   31.702266][ T2028]  driver_attach+0x24/0x30
[   31.702270][ T2028]  bus_add_driver+0x10c/0x1f8
[   31.702275][ T2028]  driver_register+0x78/0x110
[   31.702279][ T2028]  __platform_driver_register+0x44/0x50
[   31.702319][ T2028]  mpp_add_driver+0x114/0x158 [rk_vcodec]
[   31.702358][ T2028]  mpp_service_probe+0x548/0x598 [rk_vcodec]
[   31.702362][ T2028]  platform_drv_probe+0x94/0xbc
[   31.702366][ T2028]  really_probe+0x200/0x500
[   31.702370][ T2028]  driver_probe_device+0x7c/0xb8
[   31.702374][ T2028]  device_driver_attach+0x6c/0xac
[   31.702378][ T2028]  __driver_attach+0xc0/0x14c
[   31.702382][ T2028]  bus_for_each_dev+0x80/0xcc
[   31.702386][ T2028]  driver_attach+0x24/0x30
[   31.702390][ T2028]  bus_add_driver+0x10c/0x1f8
[   31.702394][ T2028]  driver_register+0x78/0x110
[   31.702398][ T2028]  __platform_driver_register+0x44/0x50
[   31.702437][ T2028]  init_module+0x20/0xfe8 [rk_vcodec]
[   31.702444][ T2028]  do_one_initcall+0xe8/0x314
[   31.702451][ T2028]  do_init_module+0x4c/0x1fc
[   31.702454][ T2028]  load_module+0x2ce0/0x3494
[   31.702459][ T2028]  __arm64_sys_finit_module+0xb8/0xf4
[   31.702464][ T2028]  el0_svc_common+0xac/0x1ac
[   31.702469][ T2028]  do_el0_svc+0x1c/0x28
[   31.702475][ T2028]  el0_svc+0x10/0x1c
[   31.702478][ T2028]  el0_sync_handler+0x68/0xac
[   31.702482][ T2028]  el0_sync+0x160/0x180

Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
Change-Id: Icb29c2cc989ad371ccf03bc99ddab0059ca2fd9d
2023-11-30 11:37:02 +08:00