Commit Graph

1267855 Commits

Author SHA1 Message Date
Tao Huang
175fb4a3cc regulator: core: Ensure debugfs is fully initialized
regulator->debugfs is NULL when sysfs_create_link_nowarn() return -EEXIST,
and triggering the following warning:

[    2.426974] debugfs: File 'uA_load' in directory '/' already present!
[    2.426983] debugfs: File 'min_uV' in directory '/' already present!
[    2.426991] debugfs: File 'max_uV' in directory '/' already present!
[    2.426999] debugfs: File 'constraint_flags' in directory '/' already present!

Fixes: 08880713ce ("regulator: core: Streamline debugfs operations")
Fixes: 2715bb11cf ("regulator: core: Fix more error checking for debugfs_create_dir()")
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
Change-Id: Iab0b91cacba410705a643d7198eee4f70e1108d5
2024-01-02 14:50:41 +08:00
Tao Huang
b3471d8054 Merge tag 'v6.1.57'
This is the 6.1.57 stable release

* tag 'v6.1.57': (2054 commits)
  Linux 6.1.57
  xen/events: replace evtchn_rwlock with RCU
  ipv6: remove one read_lock()/read_unlock() pair in rt6_check_neigh()
  btrfs: file_remove_privs needs an exclusive lock in direct io write
  netlink: remove the flex array from struct nlmsghdr
  btrfs: fix fscrypt name leak after failure to join log transaction
  btrfs: fix an error handling path in btrfs_rename()
  vrf: Fix lockdep splat in output path
  ipv6: remove nexthop_fib6_nh_bh()
  parisc: Restore __ldcw_align for PA-RISC 2.0 processors
  ksmbd: fix uaf in smb20_oplock_break_ack
  ksmbd: fix race condition between session lookup and expire
  x86/sev: Use the GHCB protocol when available for SNP CPUID requests
  RDMA/mlx5: Fix NULL string error
  RDMA/mlx5: Fix mutex unlocking on error flow for steering anchor creation
  RDMA/siw: Fix connection failure handling
  RDMA/srp: Do not call scsi_done() from srp_abort()
  RDMA/uverbs: Fix typo of sizeof argument
  RDMA/cma: Fix truncation compilation warning in make_cma_ports
  RDMA/cma: Initialize ib_sa_multicast structure to 0 when join
  ...

Change-Id: I79b925ca5822e02e0b9f497b1db93fef0e1dadd3

Conflicts:
	drivers/gpu/drm/rockchip/rockchip_drm_vop.c
	drivers/iommu/rockchip-iommu.c
	drivers/power/supply/rk817_charger.c
	drivers/scsi/sd.c
	include/linux/pci.h
2024-01-02 14:38:47 +08:00
Tao Huang
31ba856fa4 Merge commit '604cec4004abe5a96c734f2fab7b74809d2d742f'
* commit '604cec4004abe5a96c734f2fab7b74809d2d742f':
  soc: rockchip: rockchip_system_monitor: Fix opp_info NULL pointer
  media: rockchip: vicap fixes error of access NULL point when pm resume
  media: rockchip: vicap fixes error flags of devm_request_irq
  pwm: rockchip: support pwm version 4
  pwm: core: add oneshot_repeat and duty_offset attributes
  pwm: rockchip: support more features
  driver: rknpu: Fix passing 0 to PTR_ERR in rknpu_devfreq_init()
  media: rockchip: vicap fixes error of rk_csirx_irq1_handler
  media: rockchip: vicap fixes issue of resend the same buffer to isp
  media: rockchip: vicap fixes logic error of skip frame
  media: rockchip: vicap fixes rdbk buffer not send to isp with single frame mode
  arm/configs: rk3308bs_aarch32_mipi_display.config add gt911

Change-Id: I97a6c31ec3c250c7a83e8d85cf7d5e0124fc4dea
2023-12-29 18:03:45 +08:00
Finley Xiao
604cec4004 soc: rockchip: rockchip_system_monitor: Fix opp_info NULL pointer
Fixes: feecbd010e ("soc: rockchip: rockchip_system_monitor: Add support to use low temp pvtpll config")
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
Change-Id: I17f5dbc2cd2da487f7e5c9f81a89520c6eb53799
2023-12-29 17:56:35 +08:00
Zefa Chen
8a6ab5ba66 media: rockchip: vicap fixes error of access NULL point when pm resume
Signed-off-by: Zefa Chen <zefa.chen@rock-chips.com>
Change-Id: I9014a892c0eeb1b84389f8ce2980abf1e9ea6bab
2023-12-29 17:56:35 +08:00
Zefa Chen
3c4b76edbe media: rockchip: vicap fixes error flags of devm_request_irq
to resolve:

Unbalanced enable for IRQ 66
WARNING: CPU: 3 PID: 1589 at kernel/irq/manage.c:691 enable_irq+0x9c/0xf0
Modules linked in:
CPU: 3 PID: 1589 Comm: v4l2-ctl Not tainted 5.10.198 #50
Hardware name: Rockchip RK3588 EVB1 LP4 V10 Board (DT)
pstate: 60400089 (nZCv daIf +PAN -UAO -TCO BTYPE=--)
pc : enable_irq+0x9c/0xf0
lr : enable_irq+0x9c/0xf0
sp : ffffffc00e53b660
x29: ffffffc00e53b670 x28: 0000000000000001
x27: ffffff810313f610 x26: 0000000000000000
x25: 0000000000000000 x24: 0000000000000001
x23: ffffff81030de600 x22: 0000000000020001
x21: ffffff810310e380 x20: 0000000000000042
x19: ffffff8101193400 x18: ffffffffffffffff
x17: 0000000000000000 x16: 00000000000000f4
x15: 0000000000000004 x14: 0000000000001fff
x13: ffffffc009be2528 x12: 0000000000000003
x11: 00000000ffffdfff x10: c0000000ffffdfff
x9 : 44662b0799533b00 x8 : 44662b0799533b00
x7 : 6f6620656c62616e x6 : ffffffc009d69688
x5 : ffffffc008cee45c x4 : 0000000000000001
x3 : 0000000000000000 x2 : 0000000000000000
x1 : ffffffc00e53b330 x0 : 000000000000001c
Call trace:
 enable_irq+0x9c/0xf0
 csi2_start+0x31c/0x594
 csi2_s_stream+0xf8/0x238
 rkcif_pipeline_set_stream+0x250/0x63c
 rkcif_do_start_stream+0xe64/0x122c
 rkcif_start_streaming+0x1c/0x24
 vb2_start_streaming+0x64/0x134

Signed-off-by: Zefa Chen <zefa.chen@rock-chips.com>
Change-Id: I0506b9b49094b6ee22331d38aa028ec46bb2d50d
2023-12-29 17:56:35 +08:00
Ding Wei
6849c1e28b video: rockchip: mpp: px30: fix issue combo_init when device probe
In px30, rkvdec and vdpu&vepu need set grf and ensure working
in current hardware mode before running. this issue may accur
when get iommu dte_addr, thus add set_grf before, then ensure
the hardware working mode.

refer log when probe:
[    3.040107][   T53] mpp_rkvdec ff440000.hevc: Adding to iommu group 1
[    3.040455][   T53] mpp_rkvdec ff440000.hevc: probing start
[    3.040939][   T53] rkvdec_init:1139: failed on clk_get clk_cabac
[    3.040991][   T53] rkvdec_init:1142: failed on clk_get
clk_hevc_cabac
[    3.041031][   T53] mpp_rkvdec ff440000.hevc:
reset_group->rw_sem_on=0
[    3.041057][   T53] mpp_rkvdec ff440000.hevc:
reset_group->rw_sem_on=0
[    3.041107][   T53] mpp_rkvdec ff440000.hevc: shared_video_cabac is
not found!
[    3.041123][   T53] rkvdec_init:1170: No cabac reset resource define
[    3.041141][   T53] mpp_rkvdec ff440000.hevc: shared_video_hevc_cabac
is not found!
[    3.041156][   T53] rkvdec_init:1173: No hevc cabac reset resource
define
[    3.042264][   T53] rk_iommu ff440440.iommu: Error during raw reset.
MMU_DTE_ADDR is not functioning
[    3.042303][   T53] mpp_rkvdec ff440000.hevc:
px30_workaround_combo_init dte_addr 00000000
[    3.043372][   T53] rk_iommu ff440440.iommu: Error during raw reset.
MMU_DTE_ADDR is not functioning
[    3.044133][   T53] mpp_rkvdec ff440000.hevc: probing finish

Change-Id: I09a700e946871ef9822d44a868ff82ce085ed514
Signed-off-by: Ding Wei <leo.ding@rock-chips.com>
2023-12-28 09:54:10 +08:00
Damon Ding
732061bcf9 pwm: rockchip: support pwm version 4
Change-Id: I64e270c49e51244a9437f40cdc9e0df5aff1576d
Signed-off-by: Damon Ding <damon.ding@rock-chips.com>
2023-12-28 09:47:16 +08:00
Damon Ding
0b024bc977 pwm: core: add oneshot_repeat and duty_offset attributes
Signed-off-by: Damon Ding <damon.ding@rock-chips.com>
Change-Id: I39caf2cc449499afc51097724a28cc2055ab149f
2023-12-28 09:47:16 +08:00
Damon Ding
a8165608c7 pwm: rockchip: support more features
1.support counter, frequency meter, global control and
  wave generator.
2.add struct rockchip_pwm_funcs and modify struct
  rockchip_pwm_data for compatibility and extensibility.
3.rename current .enable/.config/.irq_handler to v1.
4.not to return ERRNO if failed to get irq in probing for
  pwm_v3.

Signed-off-by: Damon Ding <damon.ding@rock-chips.com>
Change-Id: I28c6a2946ccb9072f464397d6b25f4b6803fa8c5
2023-12-28 09:47:16 +08:00
Tao Huang
210fc91d1c driver: rknpu: Fix passing 0 to PTR_ERR in rknpu_devfreq_init()
drivers/rknpu/rknpu_devfreq.c:338 rknpu_devfreq_init() warn: passing zero to 'PTR_ERR'

Fixes: 8e49eef1b5 ("driver: rknpu: Avoid taking an uninitialized lock")
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
Change-Id: I2faafba822613e45852bb2a5c734eb39b01de8da
2023-12-28 09:39:03 +08:00
Tao Huang
5e22e51d33 input: touchscreen: gt9xx: Fix compilation errors on kernel 6.1
drivers/input/touchscreen/gt9xx/gt9xx_update.c:104:5: error: unknown type name 'mm_segment_t'
drivers/input/touchscreen/gt9xx/gt9xx_update.c:3448:25: error: implicit declaration of function 'get_fs'; did you mean 'sget_fc'? [-Werror=implicit-function-declaration]
drivers/input/touchscreen/gt9xx/gt9xx_update.c:3449:5: error: implicit declaration of function 'set_fs'; did you mean 'sget_fc'? [-Werror=implicit-function-declaration]
drivers/input/touchscreen/gt9xx/gt9xx_update.c:3449:12: error: 'KERNEL_DS' undeclared (first use in this function); did you mean 'KERNFS_NS'?

Signed-off-by: Tao Huang <huangtao@rock-chips.com>
Change-Id: Ib054bb4652595313a06faaa26d2ec65f3c9b4c67
2023-12-27 17:08:52 +08:00
Zefa Chen
73c9b3d6a5 media: rockchip: vicap fixes error of rk_csirx_irq1_handler
Signed-off-by: Zefa Chen <zefa.chen@rock-chips.com>
Change-Id: Iec15d04da87fb82e9bceca25300ebd93547fec45
2023-12-27 16:03:48 +08:00
Zefa Chen
67c83f5d38 media: rockchip: vicap fixes issue of resend the same buffer to isp
Signed-off-by: Zefa Chen <zefa.chen@rock-chips.com>
Change-Id: I9c6a92ac43667289642369f13cc46cd810c3fd3c
2023-12-27 16:03:33 +08:00
Zefa Chen
9f585815cc media: rockchip: vicap fixes logic error of skip frame
Signed-off-by: Zefa Chen <zefa.chen@rock-chips.com>
Change-Id: Ic1428169c8a60786decf3d8926bd86f2df7670e1
2023-12-27 16:02:04 +08:00
Zefa Chen
e917db0dd7 media: rockchip: vicap fixes rdbk buffer not send to isp with single frame mode
Signed-off-by: Zefa Chen <zefa.chen@rock-chips.com>
Change-Id: Idd4e5994a094ed39a5a6f948f57f813b5702f8f8
2023-12-27 16:00:06 +08:00
Wang Panzhenzhuan
a000da0156 media: i2c: add s5k3l8xx sensor driver
Signed-off-by: Wang Panzhenzhuan <randy.wang@rock-chips.com>
Change-Id: I1d8cf6d1d1f4b2214fced6487a76dc44d1a4dedf
2023-12-27 15:51:39 +08:00
Tao Huang
9ebe9a3d1f drm/rockchip: dw-dp: select DRM_DISPLAY_HDMI_HELPER
aarch64-none-linux-gnu-ld: drivers/gpu/drm/rockchip/dw-dp.o: in function `dw_dp_send_hdr_metadata_infoframe_sdp':
drivers/gpu/drm/rockchip/dw-dp.c:2192: undefined reference to `drm_hdmi_infoframe_set_hdr_metadata'

Signed-off-by: Tao Huang <huangtao@rock-chips.com>
Change-Id: I47967b76f34cd317b415f37b67e23a0533ca432f
2023-12-27 15:37:38 +08:00
Tao Huang
331626727d Merge commit '76f17016d5792e27f3e86dbf3b6c02d935d93524'
* commit '76f17016d5792e27f3e86dbf3b6c02d935d93524':
  media: rockchip: hdmirx: select CEC_CORE
  driver: rknpu: Avoid taking an uninitialized lock
  arm64: dts: rockchip: rk3588-vehicle-evb-v22: change minipcie power supply
  ARM: dts: rockchip: add rv1106g-evb2-v12-dual-camera-avs.dts

Change-Id: I4873a1dcaa1b93074f5512b76065d437c5f5e2da
2023-12-27 15:00:50 +08:00
Tao Huang
dab0783f24 Merge commit '9b4205b38d4a835446ece378c344d0cae059c17f'
Merge made by the 'ours' strategy.

* commit '9b4205b38d4a835446ece378c344d0cae059c17f':
  UPSTREAM: usb: gadget: uvc: Fix argument to sizeof() in uvc_register_video()
  UPSTREAM: usb: gadget: uvc: increase worker prio to WQ_HIGHPRI
  UPSTREAM: usb: gadget: uvc: ensure the vdev is unset

Change-Id: Icd702c0ded90ea85dd95905ded8c02f497b2418c
2023-12-27 14:58:42 +08:00
ZhiZhan Chen
3456ecfd23 arm/configs: rk3308bs_aarch32_mipi_display.config add gt911
Change-Id: Ie5cea049edcf6ff22d8b88960f62a5d36eb2f5a8
Signed-off-by: ZhiZhan Chen <zhizhan.chen@rock-chips.com>
2023-12-27 14:46:50 +08:00
Tao Huang
76f17016d5 media: rockchip: hdmirx: select CEC_CORE
drivers/media/platform/rockchip/hdmirx/rk_hdmirx_cec.c:143:3: error: implicit declaration of function 'cec_transmit_attempt_done' [-Werror,-Wimplicit-function-declaration]
drivers/media/platform/rockchip/hdmirx/rk_hdmirx_cec.c:148:3: error: implicit declaration of function 'cec_received_msg' [-Werror,-Wimplicit-function-declaration]
drivers/media/platform/rockchip/hdmirx/rk_hdmirx_cec.c:224:14: error: implicit declaration of function 'cec_allocate_adapter' [-Werror,-Wimplicit-function-declaration]
drivers/media/platform/rockchip/hdmirx/rk_hdmirx_cec.c:224:12: error: incompatible integer to pointer conversion assigning to 'struct cec_adapter *' from 'int' [-Werror,-Wint-conversion]
drivers/media/platform/rockchip/hdmirx/rk_hdmirx.c:1068:2: error: implicit declaration of function 'cec_queue_pin_hpd_event' [-Werror,-Wimplicit-function-declaration]
drivers/media/platform/rockchip/hdmirx/rk_hdmirx.c:1077:2: error: implicit declaration of function 'cec_queue_pin_hpd_event' [-Werror,-Wimplicit-function-declaration]

Signed-off-by: Tao Huang <huangtao@rock-chips.com>
Change-Id: Ibad7f45af8ecf9a789d7062a2b33c68c4f1541cb
2023-12-27 14:41:33 +08:00
Tao Huang
b0615530ae Merge commit '435ab979d269ece424166c4a01fd3dde95493094'
* commit '435ab979d269ece424166c4a01fd3dde95493094':
  ARM: configs: rv1106-wakeup.config: enable CONFIG_INPUT_EVDEV
  PCI: rockchip: dw: Add debug info for device miss case
  drivers: rkflash: Change RK_SFTL dependent to RK_NANDC_NAND
  arm64/configs: rk3308bs_mipi_display.config add gt911
  input: touchscreen: fixed gt9xx compile error
  media: rockchip: isp: isp32 using ktime_get_boottime_ns
  media: rockchip: vicap: change irq state when start/stop stream
  media: rockchip: vicap: rv1106 use ktime_get_boottime_ns to get timestamp
  media: rockchip: vicap support skip frame
  dt-bindings: opp: rockchip: Add more properties for pvtm and pvtpll
  media: rockchip: vicap:fix oneframe switch to multiframe error
  media: rockchip: isp: fix 4k and dual_sensor pm oneframe error
  media: rockchip: vicap optimize buf rotation in thunderboot mode
  media: rockchip: vicap fixes logic error of get thundboot_resmem_head
  media: rockchip: vicap fixes some error for 4K with AOV

Change-Id: I437995aba6f4491b3896430547a382256034624b
2023-12-27 14:40:41 +08:00
Tao Huang
de933152d0 Merge commit '6f0438f55fd59adeec0ed0f1fdd2d9dbf8791e22'
Merge made by the 'ours' strategy.

* commit '6f0438f55fd59adeec0ed0f1fdd2d9dbf8791e22':
  media: i2c: nvp6324: add workqueue support

Change-Id: I3fffe62bb2f5d691fa495e49f8030ff5a4746c3a
2023-12-27 14:38:31 +08:00
Wang Panzhenzhuan
3965192a65 media: i2c: nvp6324: add workqueue support
add workqueue to detect ahd state

Signed-off-by: Wang Panzhenzhuan <randy.wang@rock-chips.com>
Change-Id: Iff9cee96b4b442b7e1e9cc44ca99027252bbbe16
2023-12-27 14:31:36 +08:00
Tao Huang
1ea1828729 Merge commit '63b60130f6ba27943aaeb308379ebed5b9de4c4c'
* commit '63b60130f6ba27943aaeb308379ebed5b9de4c4c':
  mtd: spinand: unim: Support new devices
  arm64: dts: rockchip: rk3588-vehicle-evb-v22: Use MAX96756 GamePAD box
  arm64: dts: rockchip: Add max96756 dtsi for RK3588 Vehicle EVB board
  i2c: busses: rk3x: Sync with i2c->msg with idle state
  i2c: busses: rk3x: Don't care about start ipd
  arm64: dts: rockchip: rk3308-evb-audio-v10-display-rgb: add gt911 support
  media: i2c: sc530ai support thunderboot
  media: i2c: sc200ai: sensor close i2c in standby mode
  media: i2c: sc200ai: remove use meta fps select sensor mode
  mfd: rkx110_x120: make serdes_connector_detect() static
  mfd: rkx110_x120: serdes panel register bridge and connector
  arm64: dts: rockchip: rk3588-evb: add edp 8lane display board
  drm/rockchip: vop2: update rk3568 max height to 4096

Change-Id: Ia6730df7f294503d9aec62504ea6110556ad208d
2023-12-27 14:23:23 +08:00
Tao Huang
4984af23ff Merge commit '8fb9b4c3ba5caf4330c68af01505cacc5d4b11b1'
Merge made by the 'ours' strategy.

* commit '8fb9b4c3ba5caf4330c68af01505cacc5d4b11b1':
  ASoC: rockchip: i2s-tdm: Register PCM before DAI component

Change-Id: Ibe2454198ab246896b9a45ccbdf8c6fb3da6c446
2023-12-27 14:16:31 +08:00
Sugar Zhang
008b472c5a ASoC: rockchip: i2s-tdm: Register PCM before DAI component
API snd_soc_register_component will try to rebind card per
each component register. and the ASoC allow no-pcm card instance.

  devm_snd_soc_register_component
      snd_soc_try_rebind_card
          snd_soc_bind_card
              snd_soc_add_pcm_runtime
  devm_snd_dmaengine_pcm_register

So, we should register PCM before DAI component.

Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
Change-Id: I578b7c54b96cfa89fd2f8cf346832e2b68a1d355
2023-12-27 11:11:47 +08:00
Tao Huang
22847afeca Merge commit '87d068845824b89f96208feb628be75bdd2b1f1e'
* commit '87d068845824b89f96208feb628be75bdd2b1f1e':
  drm/bridge: synopsys: Fix no sound on some TVs
  spi: spidev_rkslv: Support dynamic adjustment of system performance
  drm/rockchip: vop2: fix other display dev do disable and enable when disable writeback

Change-Id: If3e04127be92d57f0897432223fba9e4fea7fde5
2023-12-27 11:05:49 +08:00
Finley Xiao
8e49eef1b5 driver: rknpu: Avoid taking an uninitialized lock
------------[ cut here ]------------
DEBUG_LOCKS_WARN_ON(lock->magic != lock)
WARNING: CPU: 5 PID: 1 at kernel/locking/mutex.c:604 __mutex_lock_common+0x5fc/0x142c
Modules linked in:
CPU: 5 PID: 1 Comm: swapper/0 Not tainted 6.1.43 #211
Hardware name: Rockchip RK3588 EVB1 LP4 V10 Board (DT)
pstate: 60400009 (nZCv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
pc : __mutex_lock_common+0x5fc/0x142c
lr : __mutex_lock_common+0x5fc/0x142c
sp : ffffffc00b06b6a0
x29: ffffffc00b06b710 x28: 0000000000000000 x27: 0000000000000000
x26: 0000000000000000 x25: ffffffc00aee2000 x24: ffffffc0097b2d28
x23: ffffff8108be1780 x22: 0000000000000008 x21: 0000000000000000
x20: 0000000000000000 x19: ffffff81011ca458 x18: ffffffc00b0450b8
x17: 0000000000000013 x16: ffffffffffffffff x15: 0000000000000004
x14: ffffffc00a08bf18 x13: 0000000000003fff x12: 0000000000000003
x11: 00000000ffffbfff x10: c0000000ffffbfff x9 : fcad3029a1246100
x8 : fcad3029a1246100 x7 : 4e5241575f534b43 x6 : ffffffc009579a44
x5 : 0000000000000000 x4 : 0000000000000001 x3 : 0000000000000000
x2 : 0000000000000000 x1 : ffffffc00b06b430 x0 : 0000000000000028
Call trace:
 __mutex_lock_common+0x5fc/0x142c
 mutex_lock_nested+0x38/0x44
 rockchip_opp_dvfs_lock+0x1c/0x28
 rknpu_devfreq_lock+0x14/0x20
 rknpu_power_on+0x70/0x2a4
 rknpu_probe+0x60c/0x8cc
 platform_probe+0xa8/0xd0
 really_probe+0x174/0x350
 __driver_probe_device+0xa0/0x128
 driver_probe_device+0x44/0x218
 __driver_attach+0xfc/0x1c8
 bus_for_each_dev+0x80/0xcc
 driver_attach+0x24/0x30
 bus_add_driver+0x10c/0x1f8
 driver_register+0x78/0x114
 __platform_driver_register+0x24/0x30
 rknpu_init+0x1c/0x28
 do_one_initcall+0xf8/0x348
 do_initcall_level+0xd0/0x17c
 do_initcalls+0x54/0x94
 do_basic_setup+0x1c/0x28
 kernel_init_freeable+0x16c/0x1f0
 kernel_init+0x20/0x1a0
 ret_from_fork+0x10/0x20

Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
Change-Id: Ic0247477705a9111f5617eb9fbbc438843feb79c
2023-12-26 18:47:09 +08:00
Xu Xuehui
097d888d0e arm64: dts: rockchip: rk3588-vehicle-evb-v22: change minipcie power supply
Change-Id: If3918bd6c598aaeb2ddfd1f6fb93b586b43d6794
Signed-off-by: Xu Xuehui <xxh@rock-chips.com>
2023-12-26 18:43:11 +08:00
Lan Honglin
56a3646562 ARM: dts: rockchip: add rv1106g-evb2-v12-dual-camera-avs.dts
support dual sc230ai
support master_slaver mode

Change-Id: I0b3fdffa22dd5ca0b9272e6b3f8159aeb4727208
Signed-off-by: Lan Honglin <helin.lan@rock-chips.com>
2023-12-26 18:29:24 +08:00
Nathan Chancellor
9b4205b38d UPSTREAM: usb: gadget: uvc: Fix argument to sizeof() in uvc_register_video()
When building s390 allmodconfig after commit 9b91a65230 ("usb: gadget:
uvc: increase worker prio to WQ_HIGHPRI"), the following error occurs:

  In file included from ../include/linux/string.h:253,
                   from ../include/linux/bitmap.h:11,
                   from ../include/linux/cpumask.h:12,
                   from ../include/linux/smp.h:13,
                   from ../include/linux/lockdep.h:14,
                   from ../include/linux/rcupdate.h:29,
                   from ../include/linux/rculist.h:11,
                   from ../include/linux/pid.h:5,
                   from ../include/linux/sched.h:14,
                   from ../include/linux/ratelimit.h:6,
                   from ../include/linux/dev_printk.h:16,
                   from ../include/linux/device.h:15,
                   from ../drivers/usb/gadget/function/f_uvc.c:9:
  In function ‘fortify_memset_chk’,
      inlined from ‘uvc_register_video’ at ../drivers/usb/gadget/function/f_uvc.c:424:2:
  ../include/linux/fortify-string.h:301:25: error: call to ‘__write_overflow_field’ declared with attribute warning: detected write beyond size of field (1st parameter); maybe use struct_group()? [-Werror=attribute-warning]
    301 |                         __write_overflow_field(p_size_field, size);
        |                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

This points to the memset() in uvc_register_video(). It is clear that
the argument to sizeof() is incorrect, as uvc->vdev (a 'struct
video_device') is being zeroed out but the size of uvc->video (a 'struct
uvc_video') is being used as the third arugment to memset().

pahole shows that prior to commit 9b91a65230 ("usb: gadget: uvc:
increase worker prio to WQ_HIGHPRI"), 'struct video_device' and
'struct ucv_video' had the same size, meaning that the argument to
sizeof() is incorrect semantically but there is no visible issue:

  $ pahole -s build/drivers/usb/gadget/function/f_uvc.o | grep -E "(uvc_video|video_device)\s+"
  video_device    1400    4
  uvc_video       1400    3

After that change, uvc_video becomes slightly larger, meaning that the
memset() will overwrite by 8 bytes:

  $ pahole -s build/drivers/usb/gadget/function/f_uvc.o | grep -E "(uvc_video|video_device)\s+"
  video_device    1400    4
  uvc_video       1408    3

Fix the arugment to sizeof() so that there is no overwrite.

Cc: stable@vger.kernel.org
Fixes: e4ce9ed835 ("usb: gadget: uvc: ensure the vdev is unset")
Signed-off-by: Nathan Chancellor <nathan@kernel.org>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Kees Cook <keescook@chromium.org>
Link: https://lore.kernel.org/r/20220928201921.3152163-1-nathan@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: William Wu <william.wu@rock-chips.com>
(cherry picked from commit a15e17acce)
Change-Id: Id7fe8570ae7f3998593f33c01ffb63c8c89f0716
2023-12-26 15:21:18 +08:00
Michael Grzeschik
de7ec95b44 UPSTREAM: usb: gadget: uvc: increase worker prio to WQ_HIGHPRI
This patch is changing the simple workqueue in the gadget driver to be
allocated as async_wq with a higher priority. The pump worker, that is
filling the usb requests, will have a higher priority and will not be
scheduled away so often while the video stream is handled. This will
lead to fewer streaming underruns.

Signed-off-by: Michael Grzeschik <m.grzeschik@pengutronix.de>
Link: https://lore.kernel.org/r/20220907215818.2670097-1-m.grzeschik@pengutronix.de
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: William Wu <william.wu@rock-chips.com>
(cherry picked from commit 9b91a65230)
Change-Id: I3a70591f53a4040c50d723784f5e520cf2d53d99
2023-12-26 15:21:18 +08:00
Michael Grzeschik
3afe252aa9 UPSTREAM: usb: gadget: uvc: ensure the vdev is unset
Since the uvc video device is created on demand, we have to ensure
that the struct is always zeroed. Otherwise the previous settings
might collide with the new values.

Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Paul Elder <paul.elder@ideasonboard.com>
Signed-off-by: Michael Grzeschik <m.grzeschik@pengutronix.de>
Link: https://lore.kernel.org/r/20211017215017.18392-7-m.grzeschik@pengutronix.de
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: William Wu <william.wu@rock-chips.com>
(cherry picked from commit e4ce9ed835)
Change-Id: I4ecb8c85a4d838254b68ea23284e35b04b9678af
2023-12-26 15:21:18 +08:00
Yu Zheng
435ab979d2 ARM: configs: rv1106-wakeup.config: enable CONFIG_INPUT_EVDEV
Signed-off-by: Yu Zheng <yu.zheng@rock-chips.com>
Change-Id: I063e8b3cd4ff0450ffbde4229d3d8c0de4ee7a53
2023-12-26 15:21:01 +08:00
Shawn Lin
a2993fb994 PCI: rockchip: dw: Add debug info for device miss case
It's hard to debug without log if folks add wrong present
gpio.

Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com>
Change-Id: Ic9d54a90911d6d268830e21df90710af0a352992
2023-12-26 14:18:10 +08:00
Finley Xiao
e325b4cdd0 drm/rockchip: vop2: Add missing devfreq lock
Fixes: 2e87256a82 ("drm/rockchip: vop2: Add devfreq support")
Change-Id: If759a4aac1774bfef2b8efdcac960c52c0593d5a
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
2023-12-26 10:51:48 +08:00
Jon Lin
a4d67e502a drivers: rkflash: Change RK_SFTL dependent to RK_NANDC_NAND
Change-Id: I9c525f32c3d686a85508548c77c0f6d6bb75e09a
Signed-off-by: Jon Lin <jon.lin@rock-chips.com>
2023-12-26 10:38:47 +08:00
Huang zhibao
2ee260c4ed arm64/configs: rk3308bs_mipi_display.config add gt911
Change-Id: I8f03d8ebf80e6091e0981cc032f3060d570245e6
Signed-off-by: Huang zhibao <hzb@rock-chips.com>
2023-12-26 09:18:18 +08:00
Huang zhibao
e25a827b43 input: touchscreen: fixed gt9xx compile error
Change-Id: Ie02a67a206bb7a83dfbd953880f5b1d744955449
Signed-off-by: Huang zhibao <hzb@rock-chips.com>
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
2023-12-25 18:32:56 +08:00
Cai YiWei
d19f5307b1 media: rockchip: isp: isp32 using ktime_get_boottime_ns
Change-Id: Ib02e9416bbe9e7d21100c74767eb9ee6c0137b54
Signed-off-by: Cai YiWei <cyw@rock-chips.com>
2023-12-25 18:32:35 +08:00
Zefa Chen
1654e03632 media: rockchip: vicap: change irq state when start/stop stream
Signed-off-by: Zefa Chen <zefa.chen@rock-chips.com>
Change-Id: I1147d430e5464d32b3513451d1aa496c27a1b594
2023-12-25 18:31:43 +08:00
Zefa Chen
3623186b8e media: rockchip: vicap: rv1106 use ktime_get_boottime_ns to get timestamp
Signed-off-by: Zefa Chen <zefa.chen@rock-chips.com>
Change-Id: I2ab64cbbff6d69769099e16751f6aed4d760a86d
2023-12-25 18:31:25 +08:00
Zefa Chen
e5ffdcf4c2 media: rockchip: vicap support skip frame
request by sensor driver

Signed-off-by: Zefa Chen <zefa.chen@rock-chips.com>
Change-Id: I961223b9295dce1c8e133c6668e47e3d38e00d3c
2023-12-25 18:30:54 +08:00
Finley Xiao
a69795219d dt-bindings: opp: rockchip: Add more properties for pvtm and pvtpll
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
Change-Id: I0a3c0d82bf0f2e29f5975cd8aa66f0ad73120299
2023-12-25 15:26:52 +08:00
Mingwei Yan
08fd3467bb media: rockchip: vicap:fix oneframe switch to multiframe error
add oneframe switch to multiframe notify isp

Signed-off-by: Mingwei Yan <mingwei.yan@rock-chips.com>
Change-Id: If10111bc0d683b3583869217e5e2f414822e648e
2023-12-25 15:20:35 +08:00
Mingwei Yan
c5e5c0a8db media: rockchip: isp: fix 4k and dual_sensor pm oneframe error
1 if is_multi_overflow don't set is_first_double
2 avoid dual_sensor resume same sensor only readback once

Signed-off-by: Mingwei Yan <mingwei.yan@rock-chips.com>
Change-Id: I9c25801de47e308d6845b3549f767bd801f5e5f1
Signed-off-by: Zefa Chen <zefa.chen@rock-chips.com>
2023-12-25 15:20:35 +08:00
Zefa Chen
688395ea1a media: rockchip: vicap optimize buf rotation in thunderboot mode
Signed-off-by: Zefa Chen <zefa.chen@rock-chips.com>
Change-Id: Ifc9181efeaa1b5e4c1b36acdee6b5ea33fca19aa
2023-12-25 15:20:35 +08:00
Zefa Chen
ccc66b15b4 media: rockchip: vicap fixes logic error of get thundboot_resmem_head
Signed-off-by: Zefa Chen <zefa.chen@rock-chips.com>
Change-Id: I7e438b054f9d5e43e74bfb76ad45f0ea8995f9d6
2023-12-25 15:20:35 +08:00