Commit Graph

1268940 Commits

Author SHA1 Message Date
Elaine Zhang
a269396080 net: can: rockchip: Fix rockchip_canfd_start_xmit return type for GKI error
rockchip_canfd_start_xmit is used as a callback function for the ndo_start_xmit
function pointer. ndo_start_xmit's return type is netdev_tx_t but
rockchip_canfd_start_xmit's return type is int.

This causes a failure with Control Flow Integrity (CFI), which requires
function pointer prototypes and callback function definitions to match
exactly. When CFI is in enforcing, the kernel panics. When booting a
CFI kernel with WSL 2, the VM is immediately terminated because of this.

The splat when CONFIG_CFI_PERMISSIVE is used:

[   82.432581][ T2211] CPU: 3 PID: 2211 Comm: cansend Tainted: G
E      6.1.57-android14-11-gfc4b04d84027-ab11318753 #1
[   82.433595][ T2211] Hardware name: Rockchip RK3568 EVB1 DDR4 V10
Board (DT)
[   82.434206][ T2211] pstate: 30400005 (nzCV daif +PAN -UAO -TCO -DIT
-SSBS BTYPE=--)
[   82.434887][ T2211] pc : dev_hard_start_xmit+0xd0/0x260
[   82.435367][ T2211] lr : sch_direct_xmit+0xf0/0x3d0
[   82.435815][ T2211] sp : ffffffc0110f3a70
[   82.436175][ T2211] x29: ffffffc0110f3a80 x28: ffffffc009f47000 x27:
ffffff800d078080
[   82.436873][ T2211] x26: ffffffc009f2ed80 x25: ffffffc009f50550 x24:
0000000000000010
[   82.437567][ T2211] x23: ffffff807bfefc00 x22: ffffff800d078000 x21:
ffffff81f41b7200
[   82.438261][ T2211] x20: 0000000000000000 x19: ffffffc0110f3ae4 x18:
ffffffc01075d070
[   82.438954][ T2211] x17: 0000000044e57e43 x16: 00000000ab1f26f7 x15:
0000007fec6a51b0
[   82.439646][ T2211] x14: 0000000000000001 x13: 0000000008000000 x12:
fffffffdeff6a120
[   82.440340][ T2211] x11: 0000000000000000 x10: 0000000000000000 x9 :
ffffff81f9bf5d80
[   82.441033][ T2211] x8 : ffffffc00262b620 x7 : 7f7f7f7f7f7f7f7f x6 :
fefefefefefefeff
[   82.441726][ T2211] x5 : 0000000000000001 x4 : 0000000000000000 x3 :
ffffffc0110f3ae4
[   82.442418][ T2211] x2 : ffffff81f41b7200 x1 : ffffff800d078000 x0 :
ffffff807bfefc00
[   82.443111][ T2211] Call trace:
[   82.443393][ T2211]  dev_hard_start_xmit+0xd0/0x260
[   82.443839][ T2211]  sch_direct_xmit+0xf0/0x3d0
[   82.444247][ T2211]  __dev_queue_xmit+0x5f0/0xd40
[   82.444667][ T2211]  can_send+0x22c/0x2b0 [can]
[   82.445098][ T2211]  raw_sendmsg+0x1b4/0x3ac [can_raw]
[   82.445585][ T2211]  sock_write_iter+0xdc/0x13c
[   82.445997][ T2211]  vfs_write+0x1e0/0x2c8
[   82.446375][ T2211]  ksys_write+0x78/0xe8
[   82.446737][ T2211]  __arm64_sys_write+0x1c/0x2c
[   82.447157][ T2211]  invoke_syscall+0x58/0x11c
[   82.447557][ T2211]  el0_svc_common+0xb4/0xf4
[   82.447954][ T2211]  do_el0_svc+0x2c/0xb0
[   82.448316][ T2211]  el0_svc+0x2c/0xa4
[   82.448661][ T2211]  el0t_64_sync_handler+0x68/0xb4
[   82.449102][ T2211]  el0t_64_sync+0x1a4/0x1a8
[   82.449504][ T2211] Code: 728fc871 72a89cb1 6b11021f 54000040
(d4304500)
[   82.450106][ T2211] ---[ end trace 0000000000000000 ]---
[   82.468041][ T2211] Kernel panic - not syncing: Oops - CFI: Fatal
exception in interrupt
[   82.468776][ T2211] SMP: stopping secondary CPUs
[   82.469267][ T2211] Kernel Offset: disabled
[   82.469643][ T2211] CPU features: 0x00,00040000,00040184,6600721b
[   82.470190][ T2211] Memory Limit: none
[   82.470530][ T2211] PMU CRU:

Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
Change-Id: I62fa546e07984c7fd6acbd0bdf1278414b479829
2024-04-22 15:24:36 +08:00
Cai YiWei
70df1f6919 media: rockchip: isp: version v2.6.0
Change-Id: I350aaf2188344c16b318a87820ecbba6296e261f
Signed-off-by: Cai YiWei <cyw@rock-chips.com>
2024-04-22 15:19:10 +08:00
Cai YiWei
d0797df513 media: rockchip: isp: update gic and check params for isp39
Change-Id: I623d2f9474d744d576f919547778962891b08fa4
Signed-off-by: Cai YiWei <cyw@rock-chips.com>
2024-04-22 15:19:10 +08:00
Tony Xie
6128a96972 arm64: dts: rockchip: rk3576: add csu
Signed-off-by: Tony Xie <tony.xie@rock-chips.com>
Change-Id: Iff0b8f0d50ad3fcbd6fd0dd03f6e413087d1b07e
2024-04-22 14:44:48 +08:00
David Wu
5a1ef132de arm64: dts: rockchip: rk3576: Enable high speed interfaces use DMA coherent
The GMAC0/1 and MMU0/1(PCIe, SATA, USB OTG1) support CCI
(Cache Coherent Interconnect), Mark them as such.

Hardware feature for CCI were enabled at U-Boot miniloader level.

Note that MMU2 for USB OTG0 doesn't support CCI.

Change-Id: Ie632fc2ad987c3972076f65559c043b3da67d858
Signed-off-by: David Wu <david.wu@rock-chips.com>
Signed-off-by: Yifeng Zhao <yifeng.zhao@rock-chips.com>
Signed-off-by: Jon Lin <jon.lin@rock-chips.com>
Signed-off-by: William Wu <william.wu@rock-chips.com>
2024-04-19 19:07:39 +08:00
Wangqiang Guo
15f661b3f5 media: rockchip: hdmirx: corrected color range/space judgment.
Change-Id: I4ba59410f06af6828e1bdf6c236e8998b616aa6a
Signed-off-by: Wangqiang Guo <kay.guo@rock-chips.com>
2024-04-19 16:45:24 +08:00
Zhang Yubing
d4c993251d drm/rockchip: dw-dp: config color range for different color format
According to VESA DisplayPort Ver.1.4a - 5.1.1.1 Video
Colorimetry and CEA-861-F - 5.1 Default Encoding Parameters,
YCbCr format default use limit range. RGB format default
use limit range for CEA timing(except 640x480p or color depth
is 6 bit), and other timing should use full range.

The VOP Video Port only support full range when output RGB
format. So we just default config RGB format as full range
and YCbCr format as limit range.

Change-Id: I27e60c314c8cd17f69aa85eb380357fd8a78990f
Signed-off-by: Zhang Yubing <yubing.zhang@rock-chips.com>
2024-04-19 16:34:01 +08:00
Jianwei Fan
32c36b9a1b media: i2c: rk628: fix set output color space
Fixes: 80647eb888 ("media: i2c: rk628: fix csc process mode and add range switch by user")
Signed-off-by: Jianwei Fan <jianwei.fan@rock-chips.com>
Change-Id: I2ffd203fa69ce7d73a38f00be47ef3ee9a8fcd07
2024-04-19 16:27:52 +08:00
Jianwei Fan
343cbdee29 media: i2c: rk628: fix bug of clear hdmirx ints
Fixes: dfb6365006 ("media: i2c: rk628: clear interrupt should before process it")
Signed-off-by: Jianwei Fan <jianwei.fan@rock-chips.com>
Change-Id: Id13a298c69b20f87f3b808524b387144510739a7
2024-04-19 16:25:31 +08:00
Hu Kejun
34dfaace94 media: i2c: dw9714: fix motor is closed after execute v4l2-ctl
Signed-off-by: Hu Kejun <william.hu@rock-chips.com>
Change-Id: Icf2b0840bdcfc82950218e4ca389f925f07e2a89
2024-04-19 16:21:11 +08:00
Hu Kejun
2cf876942e media: i2c: lens: fix motor is closed after execute v4l2-ctl
Signed-off-by: Hu Kejun <william.hu@rock-chips.com>
Change-Id: I76060b416f4ce84cc1881c952ec1d6ca46eeede2
2024-04-19 16:20:53 +08:00
Hu Kejun
f2bcf24c33 media: i2c: cn3927v: fix motor is closed after execute v4l2-ctl
Signed-off-by: Hu Kejun <william.hu@rock-chips.com>
Change-Id: Iac72045aba5e65b5d2411fd4a0fa25ab9b698ddd
2024-04-19 16:18:52 +08:00
William Wu
5fa9a192ea usb: dwc3: gadget: Fix stop active transfer
Sync the commit a9a4f474d7 ("usb: dwc3: gadget: fix deadlock in kick transfer")

Change-Id: I4f0394304227a4261d99b644603ab4edbda21e5d
Signed-off-by: William Wu <william.wu@rock-chips.com>
2024-04-19 16:16:31 +08:00
William Wu
8d733347b8 usb: dwc3: gadget: Move all started reqs to cancelled list on dequeue
If a request is dequeued, the transfer is cancelled.
Give back all the started requests.

Fixes: 2007d5815e ("usb: dwc3: gadget: properly skip over trbs on ep_dequeue")
Change-Id: I7a4d4e58435fb630681891a79bd5e04c19dbbdbd
Signed-off-by: William Wu <william.wu@rock-chips.com>
2024-04-19 16:16:31 +08:00
Wesley Cheng
307db3a0b5 UPSTREAM: usb: dwc3: gadget: Handle EP0 request dequeuing properly
Current EP0 dequeue path will share the same as other EPs.  However, there
are some special considerations that need to be made for EP0 transfers:

  - EP0 transfers never transition into the started_list
  - EP0 only has one active request at a time

In case there is a vendor specific control message for a function over USB
FFS, then there is no guarantee on the timeline which the DATA/STATUS stage
is responded to.  While this occurs, any attempt to end transfers on
non-control EPs will end up having the DWC3_EP_DELAY_STOP flag set, and
defer issuing of the end transfer command.  If the USB FFS application
decides to timeout the control transfer, or if USB FFS AIO path exits, the
USB FFS driver will issue a call to usb_ep_dequeue() for the ep0 request.

In case of the AIO exit path, the AIO FS blocks until all pending USB
requests utilizing the AIO path is completed.  However, since the dequeue
of ep0 req does not happen properly, all non-control EPs with the
DWC3_EP_DELAY_STOP flag set will not be handled, and the AIO exit path will
be stuck waiting for the USB FFS data endpoints to receive a completion
callback.

Fix is to utilize dwc3_ep0_reset_state() in the dequeue API to ensure EP0
is brought back to the SETUP state, and ensures that any deferred end
transfer commands are handled.  This also will end any active transfers
on EP0, compared to the previous implementation which directly called
giveback only.

Fixes: fcd2def663 ("usb: dwc3: gadget: Refactor dwc3_gadget_ep_dequeue")
Cc: stable <stable@kernel.org>
Signed-off-by: Wesley Cheng <quic_wcheng@quicinc.com>
Acked-by: Thinh Nguyen <Thinh.Nguyen@synopsys.com>
Link: https://lore.kernel.org/r/20231206201814.32664-1-quic_wcheng@quicinc.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: William Wu <william.wu@rock-chips.com>
(cherry picked from commit 730e12fbec53ab59dd807d981a204258a4cfb29a)
Change-Id: I8f3749ebdc13b86e79713ca813b454cb1dacdb34
2024-04-19 16:16:31 +08:00
Wesley Cheng
c354bcb16d UPSTREAM: usb: dwc3: gadget: Refactor EP0 forced stall/restart into a separate API
Several sequences utilize the same routine for forcing the control endpoint
back into the SETUP phase.  This is required, because those operations need
to ensure that EP0 is back in the default state.

Acked-by: Thinh Nguyen <Thinh.Nguyen@synopsys.com>
Signed-off-by: Wesley Cheng <quic_wcheng@quicinc.com>
Link: https://lore.kernel.org/r/20230420212759.29429-3-quic_wcheng@quicinc.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: William Wu <william.wu@rock-chips.com>
(cherry picked from commit 8f40fc0808)
Change-Id: Ib8ec06f1e5e2ad4366d2ec33d135d170da90644e
2024-04-19 16:16:31 +08:00
Frank Wang
f549f20ac4 usb: typec: husb311: fix non-standard cable that cc double pull-up
For the non-standard cables that double Rp connected to VBUS, when
husb311 detects one of CC is Rp, let do clear the another CC status
in anyway to dodge being stuck in the SNK_ATTACH_WAIT state.

[   59.366185] VBUS on
[   59.403488] CC1: 0 -> 3, CC2: 0 -> 3 [state TOGGLING, polarity 0, connected]

Signed-off-by: Frank Wang <frank.wang@rock-chips.com>
Change-Id: Ief2f01c97d1a7be81bca7dd26ecd975d35ea9877
2024-04-19 16:10:30 +08:00
Algea Cao
2e7e4970dc drm/rockchip: vop2: Update post csc info when post csc prop changed
Previous versions did not update the post csc status in
real time. This causes post csc was not properly closed
when post csc prop is cleared.

Change-Id: I9c65961517166bc0fb7b700e9b06fdfad1251f4f
Signed-off-by: Algea Cao <algea.cao@rock-chips.com>
2024-04-19 16:07:43 +08:00
Shawn Lin
a38c9166be scsi: ufs: rockchip: Remove ufshcd_*_suspend/resume call
Because we can't gate the clock when using ufs, so we remove
UFSHCD_CAP_CLK_GATING support. However, ufshcd_runtime_suspend still
be called which can still call ufshcd_suspend->ufshcd_setup_clocks,
then ufshcd_setup_clocks() still tries to gate the clock which we
don't actually allow. Except for gating clock, ufshcd_suspend also send
H8 to the device. This rule is applied to system PM as well.

So the problem looks like:

[  T217] ueventd: restorecon_recursive: /sys/devices/platform/regulatory.0
[  T146] ufshcd-rockchip 2a2d0000.ufs: uic cmd 0x14 with arg3 0x0 completion timeout
[  T146] ufshcd-rockchip 2a2d0000.ufs: dme-reset: error code -110

Remove them together with UFSHCD_CAP_CLK_GATING.

BTW, no matter whether we call ufshcd_*_suspend/resume or not, wlun RPM
make sure all status come back:

[   29.213545][  T146] Workqueue: pm pm_runtime_work
[   29.213567][  T146] Call trace:
[   29.213578][  T146]  dump_backtrace+0xec/0x10c
[   29.213598][  T146]  show_stack+0x14/0x1c
[   29.213616][  T146]  dump_stack_lvl+0x68/0x88
[   29.213631][  T146]  dump_stack+0x14/0x34
[   29.213644][  T146]  ufshcd_hba_enable+0x32c/0x3b4
[   29.213659][  T146]  ufshcd_host_reset_and_restore+0x54/0x12c
[   29.213674][  T146]  ufshcd_reset_and_restore+0x60/0x1f8
[   29.213693][  T146]  __ufshcd_wl_resume+0xa0/0x4a8
[   29.213710][  T146]  ufshcd_wl_runtime_resume+0x38/0x154
[   29.213726][  T146]  scsi_runtime_resume+0x58/0x80
[   29.213746][  T146]  __rpm_callback+0x78/0x3bc
[   29.213765][  T146]  rpm_resume+0x434/0x670
[   29.213782][  T146]  __rpm_callback+0x1ac/0x3bc
[   29.213799][  T146]  rpm_resume+0x458/0x670
[   29.213816][  T146]  pm_runtime_work+0x9c/0xa0
[   29.213833][  T146]  process_one_work+0x1a4/0x3b0
[   29.213847][  T146]  worker_thread+0x258/0x428
[   29.213861][  T146]  kthread+0xe8/0x1b4
[   29.213878][  T146]  ret_from_fork+0x10/0x20

Fixes: 83dbc34b20 (“scsi: ufs: rockchip: Fix stability issues and add WB support”)
Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com>
Change-Id: I30fcdf35575a882b1095c5f991d82e429eccd1ce
2024-04-19 15:02:29 +08:00
Algea Cao
518a2153e8 arm64: dts: rockchip: rk3576-evb: Enable hdmi uboot logo
Change-Id: I8c1dda5b890e1a260d944b0f47469a8c1b5b9945
Signed-off-by: Algea Cao <algea.cao@rock-chips.com>
2024-04-19 11:02:42 +08:00
Zhibin Huang
4b7eebc375 arm64: dts: rockchip: rk3576-tablet: modify dsi panel and tp config
Type: Fix
Redmine ID: #474634 #468692
Associated modifications: N/A
Test: N/A

Signed-off-by: Zhibin Huang <zhibin.huang@rock-chips.com>
Change-Id: Ide57a721a8c6f641d4492239bc7a5b5dc869ea23
2024-04-19 10:51:48 +08:00
Zhibin Huang
fc4dc05e15 input: touchscreen: chipone_tddi: use panel notifier to fix resume/suspend timing
Type: Fix
Redmine ID: #474634 #468692
Associated modifications: N/A
Test: N/A

Signed-off-by: Zhibin Huang <zhibin.huang@rock-chips.com>
Change-Id: I85387aa2a35ccc78dd16500a8abbb2ee2758d1ea
2024-04-19 10:50:11 +08:00
Zhibin Huang
7944ac7a8d Revert "input: touchscreen: chipone_9551r add early_suspend"
This reverts commit 3133279020.

Change-Id: I60d405600b3b79168146e2635a8f8ce98f459492
Signed-off-by: Zhibin Huang <zhibin.huang@rock-chips.com>
2024-04-19 10:49:11 +08:00
Zhibin Huang
cda0fc9ebc drm/panel: panel-simple: add panel notifier for tp resume/suspend
The tp of some screens has strict timing requirements (especially the
display and tp are integrated on a screen IC), while kernel-6.1 does
not have fb function. The notifier is added to correlate the sleep and
wake-up timing of display and tp. For screens with low requirements
for tp and display timing, you can choose whether to use it to notify
on wake-up and sleep.

Type: Function
Redmine ID: #474634 #468692
Associated modifications: N/A
Test: N/A

Signed-off-by: Zhibin Huang <zhibin.huang@rock-chips.com>
Change-Id: I11cb63564fce97b6ca6b02cf12bc19db5d82124b
2024-04-19 10:48:48 +08:00
Zhibin Huang
d74b36463b drm/rockchip: panel-notifier: add panel notifier for panel-related device
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: I22fb562772fcbf3808d61c7419407bf50d947e0d
2024-04-19 10:44:25 +08:00
Wang Panzhenzhuan
0ad1b882f4 media: i2c: add imx498 sensor driver
Signed-off-by: Wang Panzhenzhuan <randy.wang@rock-chips.com>
Change-Id: I0eacdb0dcce89924b8a820699e855dbb11361cb3
2024-04-19 10:08:50 +08:00
Cai YiWei
50e3b9c050 media: rockchip: isp: rdbk_auto mode stop to clean buf list
Change-Id: Ia38e77ae5086bf54ee48fe54a60600e320fb34aa
Signed-off-by: Cai YiWei <cyw@rock-chips.com>
2024-04-18 20:19:51 +08:00
Damon Ding
c00d880c3e drm/rockchip: logo: call .mode_fixup() before mode comparison
The mode comparison helps to confirm whether the display
mode of uboot logo is valid of the drm mode list in kernel.

The mode stored in dts has been fixed by .mode_fixup()
in uboot, which helps to deal with some workarounds, so
it is also needed to call .mode_fixup() when getting mode
list in kernel.

Change-Id: I2c74e66365a5e305ec8322316fdb7472e6df9fcd
Signed-off-by: Damon Ding <damon.ding@rock-chips.com>
2024-04-18 20:19:07 +08:00
Damon Ding
0d67fe863b arm64: dts: rockchip: rk3576-evb1: add hdmi2dp display dts
If using the hdmi2dp ext borad, eDP uses the hardware
link of HDMI, whose phy is multiplexed with eDP, and
the HDMI controller does not actually work.

Change-Id: If3d3983ef5b14c1181f4c7fae5fb96969061656c
Signed-off-by: Damon Ding <damon.ding@rock-chips.com>
2024-04-18 09:52:55 +08:00
Algea Cao
177cd4fcb0 drm: bridge: dw-hdmi-qp: Optimized hdmi ddc transfer process
1.Reading edid consecutively 16 bytes at a time to
reduce the time consumed.

2.Increase the number of retries on failure to ensure
successful transfer.

Change-Id: I0ea92a4a80634771d1ecc7abe573986649a908e4
Signed-off-by: Algea Cao <algea.cao@rock-chips.com>
2024-04-17 18:12:55 +08:00
Algea Cao
e10394b215 drm/bridge: dw-hdmi-qp: Fix hdmi color abnormal when resume
EDID will be clear when hdmi suspend. Linux system may not
actively read EDID when hdmi resume. So hdmi driver needs to read
edid when hdmi resume.

Change-Id: I2d37dc2fa278ba339fdb0294a9aa3d82150ea055
Signed-off-by: Algea Cao <algea.cao@rock-chips.com>
2024-04-17 18:12:40 +08:00
Zhang Yubing
76391def17 drm/rockchip: vop2: get the correct clock source
In RK3588, as default config, the dclk_vop2's clock tree
as follow:
pll_v0pll
  v0pll
    dclk_vop2_src
      dclk_vop2
In the above case, we think that the dclk_vop2 will be the
input parameter in rockchip_drm_dclk_round_rate function.
By getting the parent clocks's parent clock, we can find
v0pll.
However, the input parameter is dclk_vop2_src instead of
dclk_vop2 now. And we can't find the v0pll which will filter
more display mode that may supported by VOP.
For RK3576, It has the same issue.
To avoid this issue happen, It just need to get the parent
clock in rockchip_drm_dclk_round_rate function.

Fixes: aebca4f07f ("drm/rockchip: vop2: filter unsupported mode when can't get correct dclk")

Change-Id: Ib041e0614a2d67354a4d22e14aaa625b07edcf35
Signed-off-by: Zhang Yubing <yubing.zhang@rock-chips.com>
2024-04-17 18:06:32 +08:00
Damon Ding
125ab5f427 arm64: dts: rockchip: rk3576-iotest: add edp2dp display dts
Change-Id: I3b22bd30f61b15ff52ba94abe07e4e8ec30af8d3
Signed-off-by: Damon Ding <damon.ding@rock-chips.com>
2024-04-17 16:35:35 +08:00
Damon Ding
3f53efd971 drm/rockchip: analogix_dp: add analogix_dp_devtype RK3576_EDP
RK3588_EDP dones not support hsync/vsync polarity configuration,
while RK3576_EDP does.

Change-Id: Ic24628333a81427e2141adcf544a05254a1586e0
Signed-off-by: Damon Ding <damon.ding@rock-chips.com>
2024-04-17 15:47:06 +08:00
Zefa Chen
4b0cca3790 media: rockchip: vicap: fixes error of s_power when open video
Signed-off-by: Zefa Chen <zefa.chen@rock-chips.com>
Change-Id: I618cf4400310171903e4eb189ea4ac3c51e41805
2024-04-17 15:10:10 +08:00
Alex Zhao
4e7c88cf70 net: wireless: rockchip_wlan: bcmdhd: Fix out-of-srctree build
../drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd/aiutils.c:25:10: fatal error: 'typedefs.h' file not found

Fixes: 487057acaf ("net: wireless: update bcmdhd driver to 101.10.591.52.27 (20240409-1)(20240411-2)")
Change-Id: I355a012fe28ec9d943998b95b66459bb6f449b88
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
Signed-off-by: Alex Zhao <zzc@rock-chips.com>
2024-04-17 15:09:31 +08:00
Zhang Yubing
4a5f5135d1 arm64: dts: rockchip: rk3576-evb: fix some display route config
Change-Id: I081dcd5f785b085f3642f84519acf30786d0dfc5
Signed-off-by: Zhang Yubing <yubing.zhang@rock-chips.com>
2024-04-16 17:40:48 +08:00
Sandy Huang
dc65fd7c5f drm/rockchip: vop2: get gamma config from dts
sample:

/ {
	dsp_lut0: dsp-lut0 {
		gamma-lut = <...>;
	};

	dsp_lut1: dsp-lut1 {
		gamma-lut = <...>;
	};
};

&vp0 {
	dsp-lut = <&dsp_lut0>;
};

&vp1 {
	dsp-lut = <&dsp_lut1>;
};

Signed-off-by: Sandy Huang <hjc@rock-chips.com>
Signed-off-by: Damon Ding <damon.ding@rock-chips.com>
Change-Id: Ifca948f102abe73e925744aa792b6e1f87579761
2024-04-16 17:32:45 +08:00
Shawn Lin
83dbc34b20 scsi: ufs: rockchip: Fix stability issues and add WB support
Disable UFS related clock in runtime is proved to be incorrect and
mismatch state between host and device should be recovered by reset the
controller to make sure each part is in the beginning status.

Meanwhile, we have verified WB works fine by test, so add WB support
as well.

Change-Id: I5af675576ef2b43ebe5061af204ba1fff5f3f233
Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com>
2024-04-16 17:30:33 +08:00
Wesley Yao
197e998c07 arm64: dts: rockchip: rk3576: Increase 2400M to 2750M for dmc opp table
Change-Id: Id5c8f3eb19a3dbd3868f0cb4638eeadcbdd30a54
Signed-off-by: Wesley Yao <wesley.yao@rock-chips.com>
2024-04-16 16:26:27 +08:00
Wang Panzhenzhuan
4aca4b6b2c media: i2c: nvp6324: fix once dev register fail cause later failed issue
dts config multi nvp6324, if previous nvp6324 register failed,
it will set i2c addr to 0xff, cause later nvp6324 register failed,
so fix it.

Signed-off-by: Wang Panzhenzhuan <randy.wang@rock-chips.com>
Change-Id: I39a4a9a59432918582ad23d918b316b66e99a632
2024-04-16 15:19:23 +08:00
Alex Zhao
487057acaf net: wireless: update bcmdhd driver to 101.10.591.52.27 (20240409-1)(20240411-2)
Change-Id: Id8ace96051346f2bae7236c66a6c2968c9aa07b6
Signed-off-by: Alex Zhao <zzc@rock-chips.com>
2024-04-15 20:32:39 +08:00
Luo Wei
44a66b84b0 mfd: display-serdes: retry probe if split is null
Signed-off-by: Luo Wei <lw@rock-chips.com>
Change-Id: I223b5c7db1f92405e9647a31740773fd8c2cb0d4
2024-04-15 19:55:31 +08:00
Jianwei Fan
f3019c0e92 video: rockchip: vehicle: use hardware interlace for rk3576 when interlace input
Signed-off-by: Jianwei Fan <jianwei.fan@rock-chips.com>
Change-Id: I8912cf794963e0f5f315f6e7b958f5194b657151
2024-04-15 19:19:08 +08:00
Wu Liangqing
523045a15d arm64: dts: rockchip: rk3576-test1 enable ufs
Change-Id: I03ce3632dc1de5fa63398bfafe6dec1d2339693a
Signed-off-by: Wu Liangqing <wlq@rock-chips.com>
2024-04-15 18:02:24 +08:00
Cai YiWei
dccff39e0f media: rockchip: isp: fix isp39 unite mode
Change-Id: I7fbfcaaef4162ab8098410366bdf1113a8ed2f3e
Signed-off-by: Cai YiWei <cyw@rock-chips.com>
2024-04-15 18:01:41 +08:00
Qiqi Zhang
0c452f60e6 ARM: dts: rockchip: rk3036: fix pinctrl error for pwm
Change-Id: I5ff558304ab080468aa2c562955d9d96d5b2329a
Signed-off-by: Qiqi Zhang <eddy.zhang@rock-chips.com>
Signed-off-by: David Wu <david.wu@rock-chips.com>
2024-04-15 17:59:10 +08:00
Luo Wei
fd5afe4228 arm64: dts: rockchip: rk3576-vehicle-evb: fix adb problem while resume
Signed-off-by: Luo Wei <lw@rock-chips.com>
Change-Id: Idd6c750105952ef4ebfc1c2bffc227cc668967ec
2024-04-15 16:56:15 +08:00
Michael Wu
886ba05af3 FROMLIST: usb: typec: tcpm: support sink port for debounce
When both CC1 and CC2 pins are simultaneously pulled up, it often leads
to the double Rp to Vbus cable being stuck in the SNK_ATTACH_WAIT state.
And the state machine fails to transition to the SNK_ATTACHED state.

Therefore, it is recommended to focus on transitioning the sink port to
the SNK_DEBOUNCED state instead. By doing so, the desired outcome can be
achieved more effectively.

[  134.525750] VBUS on
[  134.713240] CC1: 0 -> 3, CC2: 0 -> 3 [state TOGGLING, polarity 0, connected]
[  134.713249] state change TOGGLING -> SNK_ATTACH_WAIT [rev3 NONE_AMS]

Change-Id: Ib21f4f0322a193678a5f22007a515b3b19772b40
Signed-off-by: Michael Wu <michael@allwinnertech.com>
Signed-off-by: Frank Wang <frank.wang@rock-chips.com>
Link: https://lore.kernel.org/linux-usb/20240312011300.75081-1-michael@allwinnertech.com/
2024-04-15 09:31:42 +08:00
Michael Wu
30a61f7bf2 UPSTREAM: usb:typec:tcpm:support double Rp to Vbus cable as sink
The USB Type-C Cable and Connector Specification defines the wire
connections for the USB Type-C to USB 2.0 Standard-A cable assembly
(Release 2.2, Chapter 3.5.2).
The Notes says that Pin A5 (CC) of the USB Type-C plug shall be connected
to Vbus through a resister Rp.
However, there is a large amount of such double Rp connected to Vbus
non-standard cables which produced by UGREEN circulating on the market, and
it can affects the normal operations of the state machine easily,
especially to CC1 and CC2 be pulled up at the same time.
In fact, we can regard those cables as sink to avoid abnormal state.

Message as follow:
[   58.900212] VBUS on
[   59.265433] CC1: 0 -> 3, CC2: 0 -> 3 [state TOGGLING, polarity 0, connected]
[   62.623308] CC1: 3 -> 0, CC2: 3 -> 0 [state TOGGLING, polarity 0, disconnected]
[   62.625006] VBUS off
[   62.625012] VBUS VSAFE0V

Change-Id: I415db22b0012ace9535039bc4c8e5ec113482e33
Signed-off-by: Michael Wu <michael@allwinnertech.com>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Reviewed-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Link: https://lore.kernel.org/r/20230920063030.66312-1-michael@allwinnertech.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Frank Wang <frank.wang@rock-chips.com>
(cherry picked from commit dbc1defec1aa7d8d80da3ea9e3ddafbcfca8f822)
2024-04-15 09:30:33 +08:00