Commit Graph

1072631 Commits

Author SHA1 Message Date
Zhen Chen
216596cf79 MALI: bifrost: quick_reset: use short timeout (quick_reset) for the case to workaround
Not work for CSF based Valhall GPU.

Change-Id: I38d27d2006e25acbab826efd36b49efffa6b79f1
Signed-off-by: Zhen Chen <chenzhen@rock-chips.com>
2022-09-21 17:34:37 +08:00
Yandong Lin
d076332a58 video: rockchip: mpp: do not register irq for av1 cache
There is no need to care about cache irq

Signed-off-by: Yandong Lin <yandong.lin@rock-chips.com>
Change-Id: Iffd9461b928e1553dc23cf7f47b3979e404016ac
2022-09-21 15:56:14 +08:00
Yandong Lin
a8af0afc5e video: rockchip: mpp: fix av1 dec err when multi tiles
Do not enable cache_all_e when source is multi tiles.

Signed-off-by: Yandong Lin <yandong.lin@rock-chips.com>
Change-Id: Ie40aac145dfc481f371865efc5e962dd0cfdb451
2022-09-21 15:56:14 +08:00
Frank Wang
361115cc9b hwspinlock: rockchip: amend to use new helpers
Use the new helpers that include struct_size(),
devm_platform_ioremap_resource(), devm_hwspin_lock_register() and etc.,
which can simpify the code.

Signed-off-by: Frank Wang <frank.wang@rock-chips.com>
Change-Id: I6507964759d6cc123a74c5d2c0112702927e017b
2022-09-21 15:43:01 +08:00
Ziyuan Xu
727dcf4a26 ARM: dts: rockchip: fixes the map of mmc_ecsd for rv1106-thunder-boot-mmc
The hpmcu run at [256K-512KB] address, change the mmc-escd's space to within 256KB.

Signed-off-by: Ziyuan Xu <xzy.xu@rock-chips.com>
Change-Id: I4d3acebd30b6fa780e7e8a7cb28adbd10d13050f
2022-09-21 14:36:07 +08:00
ZhiZhan Chen
aa9cd6fd69 arm64: dts: rockchip: rk3399: enable route_hdmi for evb
Signed-off-by: ZhiZhan Chen <zhizhan.chen@rock-chips.com>
Change-Id: I5cb340f11ea3229ce1b44419ab413c208b4a1bd4
2022-09-21 09:11:06 +08:00
Ziyuan Xu
d6407e9c27 arm64: dts: rockchip: support ramoops device node for rk3326-linux
Change-Id: Idc7f0696cd6ce12b4ad9ff1547b60acc32a4a006
Signed-off-by: Ziyuan Xu <xzy.xu@rock-chips.com>
2022-09-20 19:46:39 +08:00
Jason Zhang
a51d0f8e9b iio: light: ucs12cm0: reapply settings at resume
The UCS12CM0 does not currently preserve settings after powered
down, it will default to the UCS12CM0 settings after powered up,
not the settings set by the host.

Reapply all the settings at resume.

Signed-off-by: Jason Zhang <jason.zhang@rock-chips.com>
Change-Id: I66967bf0f4e880650c0f715b6e353bae4e31a0cb
2022-09-20 19:38:53 +08:00
Zhen Chen
d61da3a0f2 MALI: bifrost: quick_reset: reduce JM_DEFAULT_RESET_TIMEOUT_MS to 1 (ms)
To implement quick reset.
Not work for CSF based Valhall GPU.

Change-Id: I4d84d3a11ec4a5632c1a5f09bd90ed241fb9fc9a
Signed-off-by: Zhen Chen <chenzhen@rock-chips.com>
2022-09-20 19:34:32 +08:00
Zefa Chen
a6b577b156 media: rockchip: vicap fixed error of buffer free state
Signed-off-by: Zefa Chen <zefa.chen@rock-chips.com>
Change-Id: Ifb0105a4a587295418f624e78489cdbbff05194d
2022-09-20 19:19:29 +08:00
Zhen Chen
480163a87a soc: rockchip: power-domain: correct name of pd_gpu for px30s
Fixes: 41f9bdf3cf ("soc: rockchip: power-domain: keep pd_gpu always on for px30s")
Change-Id: I9af58d9471204c4540cf491b206c6c6f5d318a7f
Signed-off-by: Zhen Chen <chenzhen@rock-chips.com>
2022-09-20 17:12:55 +08:00
Damon Ding
4ddfedbb27 drm/rockchip: logo: copy mode from mode_set if no used crtc
1. Add rockchip_drm_copy_mode_from_mode_set() to copy
drm_display_mode from rockchip_drm_mode_set, which
stores the display state information in uboot.
2. Call rockchip_drm_copy_mode_from_mode_set() if vp
failed to initialize.

Signed-off-by: Damon Ding <damon.ding@rock-chips.com>
Change-Id: I0dea7237353dfe7b0d56bee81a47970ebb538d50
2022-09-20 15:34:14 +08:00
Jianqun Xu
064f8026d1 arm64: dts: rockchip: add gpio alias for gpio dt nodes
Add gpio alias for gpio controller dt nodes, which is used by the
new gpio driver to get the index of gpio controller for driver.

Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
Change-Id: I8fa25bed0193b6fcdbf617e3d457362d3734c4c8
2022-09-20 15:32:44 +08:00
Jianqun Xu
143b809917 ARM: dts: rockchip: add 'clock-names' for gpio dt nodes
Add 'clock-names' property for gpio dt nodes, which is used by the gpio
driver to identified as the index for the gpio controller.

Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
Change-Id: I07334122babd5773cab891f066e5086a16fe34bf
2022-09-20 15:31:24 +08:00
Jianqun Xu
ce25d3298e ARM: dts: rockchip: add gpio alias for gpio dt nodes
Add gpio alias for gpio controller dt nodes, which is used by the
new gpio driver to get the index of gpio controller for driver.

Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
Change-Id: I148297ea0e84d2749866858ffc60f2e0d1d38d03
2022-09-20 14:19:14 +08:00
Lin Jianhua
3ecb6301c4 arm64: dts: rockchip: px30_linux_defconfig: enable CMA
Signed-off-by: Lin Jianhua <linjh@rock-chips.com>
Change-Id: Ib300cf500e90a4b24f2a8db55e7277bdf3b91a93
2022-09-20 10:03:08 +08:00
Sugar Zhang
cae65d78f0 ASoC: rockchip: i2s-tdm: Add support for FIFO-XRUN detection
This is useful for performance debug, throwing a WARNNING if
FIFO-XRUN detected and then do snd_pcm_stop_xrun to stop stream
and notify user XRUN state.

TESTCASE:
On the 192K-8CH-32BIT situation, FIFO full time is 83us (16 / 192000).
Considering WATERLEVEL-16: 41.6us, WATERLEVEL-24: 62.5us.
if any path (I2S<->DMA<->BUS<->DDR) blocked over this duration,
FIFO xrun raised.

This testcase injects a DMC-DVFS (> 80us) to reproduce FIFO-XRUN.

Suggested to disable DMC-DVFS or switch to DMC-DVFS-SCENE policy
to fix this on this situation.

OTOH, optimizing DMC-DVFS (<40us) or place audio buffer into SRAM
is also an alternative.

x.sh:

  /#!/bin/sh

  echo performance > /sys/devices/system/cpu/cpufreq/policy0/scaling_governor
  echo performance > /sys/devices/system/cpu/cpufreq/policy4/scaling_governor
  echo performance > /sys/devices/system/cpu/cpufreq/policy6/scaling_governor

  freqs=`cat /sys/devices/platform/dmc/devfreq/dmc/available_frequencies`

  echo "userspace" > /sys/devices/platform/dmc/devfreq/dmc/governor

  aplay -D hw:3,0 --period-size=1024 --buffer-size=4096 -r 192000 -c 8 \
        -f s32_le /dev/zero &
  arecord -D hw:1,0 --period-size=1024 --buffer-size=4096 -r 192000 -c 8 \
        -f s32_le /dev/zero &
  sleep 1

  for f in $freqs
  do
          echo "dmc: set_freq $f"
          echo $f > /sys/devices/platform/dmc/devfreq/dmc/userspace/set_freq
          sleep 1
  done

  killall aplay
  killall arecord

Result:

  root@RK3588:/data# ./x.sh
  Playing raw data '/dev/zero' : Signed 32 bit Little Endian, Rate 192000 Hz, Channels 8
  Recording WAVE '/dev/zero'   : Signed 32 bit Little Endian, Rate 192000 Hz, Channels 8

  dmc: set_freq 528000000
  [   69.222572] rockchip-i2s-tdm fddf0000.i2s: TX FIFO Underrun
  [   69.222615] rockchip-i2s-tdm fe470000.i2s: RX FIFO Overrun
  dmc: set_freq 1068000000
  [   70.241013] rockchip-i2s-tdm fddf0000.i2s: TX FIFO Underrun
  [   70.241109] rockchip-i2s-tdm fe470000.i2s: RX FIFO Overrun
  dmc: set_freq 1560000000
  [   71.259416] rockchip-i2s-tdm fddf0000.i2s: TX FIFO Underrun
  [   71.259452] rockchip-i2s-tdm fe470000.i2s: RX FIFO Overrun
  dmc: set_freq 2112000000
  [   72.277841] rockchip-i2s-tdm fddf0000.i2s: TX FIFO Underrun
  [   72.277875] rockchip-i2s-tdm fe470000.i2s: RX FIFO Overrun

Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
Change-Id: I4416c3424f3778560cadb94f585c0acb06eb3f40
2022-09-19 20:27:57 +08:00
Yu Qiaowei
d2df348f0c video: rockchip: rga3: fbc output forced to sparse mode
Signed-off-by: Yu Qiaowei <cerf.yu@rock-chips.com>
Change-Id: I08da18596ec9a8d0b59f5d4f41faffb182ed315a
2022-09-19 20:25:25 +08:00
Zefa Chen
89364d5b3f media: rockchip: vicap stop stream immediately, when in vblank
Signed-off-by: Zefa Chen <zefa.chen@rock-chips.com>
Change-Id: I5ea4a0f48d970874447da7fbd02f5c0eaca8db83
2022-09-19 20:22:25 +08:00
Zefa Chen
760e1d61b3 media: rockchip: vicap move s_power out of start/stop stream
when switching resolutions, the switching speed can be improved

Signed-off-by: Zefa Chen <zefa.chen@rock-chips.com>
Change-Id: I4b31894274dc3238675ece907ba1682d965e71bf
2022-09-19 20:22:25 +08:00
Caesar Wang
4e52a0886b arm64: dts: rockchip: enable route_edp node for rk3568 evb1
Signed-off-by: Caesar Wang <wxt@rock-chips.com>
Change-Id: Ie451bebc62e23d929bd2982281c277630685d083
2022-09-19 20:21:28 +08:00
Jianlong Wang
30791c5555 arm64: configs: delete rk3326_linux_defconfig
add rk3326_linux.config&rk3358_linux.config

update by:
    make ARCH=arm64 px30_linux_defconfig
    cp .config px30_linux.config
    make ARCH=arm64 px30_linux_defconfig rk3326_linux.config
    make ARCH=arm64 menuconfig
    scripts/diffconfig -m px30_linux.config .config > arch/arm64/configs/rk3326_linux.config
    make ARCH=arm64 px30_linux_defconfig rk3358_linux.config
    make ARCH=arm64 menuconfig
    scripts/diffconfig -m px30_linux.config .config > arch/arm64/configs/rk3358_linux.config

Signed-off-by: Jianlong Wang <jianlong.wang@rock-chips.com>
Change-Id: I9404022b222f1e64c301111f5f944cf98d1abebb
2022-09-19 20:21:14 +08:00
Damon Ding
cc4a2d2f9b drm/rockchip: vop2: set splice_mode flag in loader_protect
Signed-off-by: Damon Ding <damon.ding@rock-chips.com>
Change-Id: I513a133e6471f0e758b161fa67f5be5fdfaa1528
2022-09-19 20:13:30 +08:00
Jiajian Wu
b74f371bac arm64: dts: rockchip: rk817 compatible to rockchip,multicodecs-card
Signed-off-by: Jiajian Wu <jair.wu@rock-chips.com>
Change-Id: I9a257915416b17a668d2e73642bdd4ed04748c71
2022-09-19 20:11:58 +08:00
Jiajian Wu
0f5197b688 arm64: dts: rockchip: rk809 compatible to rockchip,multicodecs-card
Signed-off-by: Jiajian Wu <jair.wu@rock-chips.com>
Change-Id: I72dd4bb6e7c24c364e65dfd0e70dc0b14b78bef2
2022-09-19 20:11:52 +08:00
Lin Jianhua
658b241460 arm64: dts: rockchip: rk3308k: fixup name of trip-point from trip-point-x to trip-point@x
linux-4.4 the trip-point name is trip-point-x, but linux-5.10
the trip-point name is trip-point@x in rk3308.dtsi

Signed-off-by: Lin Jianhua <linjh@rock-chips.com>
Change-Id: I1f484ad5081e76c18d2ab380ba2c0c13b66485e2
2022-09-19 20:09:14 +08:00
William Wu
1f2d39df3f usb: dwc3: host: workaround xhci u2 broken suspend for RK356X
The RK356X DWC3 supports to set the USB 2.0 PHY enter
suspend mode if the DWC3 core suspend conditions are
valid (as per DWC3 controller databook 6.3.46 GUSB2PHYCFG
register bit6). This cause xHC driver failed to send
USB resume signal to USB 2.0 device in xhci_bus_resume().
This patch adds a quirk "xhci-u2-broken-suspend" to force
the xHC to set the link state to XDEV_RESUME and send USB
resume signal to USB 2.0 device.

Change-Id: I24c017867f80728890c0562a12e4554625913e67
Signed-off-by: William Wu <william.wu@rock-chips.com>
Signed-off-by: Frank Wang <frank.wang@rock-chips.com>
2022-09-19 20:06:55 +08:00
William Wu
f925e2b3ce usb: xhci: fix u2 bus suspend for Rockchip SNPS 3.0 xHC
Rockchip SNPS xHC 3.0 set USB 2.0 PHY enter suspend mode
from DWC3 core if the suspend conditions are valid (as per
DWC3 controller databook 6.3.46 GUSB2PHYCFG register bit6).
In this case, it needs to set the bus_suspended bit for
USB 2.0, so that in xhci_bus_resume, it can set the xHC
link state to XDEV_RESUME and send USB resume signal to
USB 2.0 device.

Test on RK3568 USB 3.0 Host interface with USB 2.0 Camera
or USB 2.0 HUB which support USB auto suspend. Without this
patch, the xHC fails to send USB resume signal on the USB
bus to wakeup the USB 2.0 devices, and cause xHC died.

Change-Id: Icb5a553d71a5f3144d77f8d5a5132892a5795285
Signed-off-by: William Wu <william.wu@rock-chips.com>
Signed-off-by: Frank Wang <frank.wang@rock-chips.com>
2022-09-19 20:06:55 +08:00
Caesar Wang
2a53c31cc9 arm64/configs: update some incompatible for rockchip_linux_defconfig
CONFIG_BCMDHD_PCIE and CONFIG_BCMDHD_SDIO can only be selected
from two configurations, since that bcmdhd driver cannot be compatible
with it at present. That just enable the CONFIG_BCMDHD_PCIE by default on
rk3588 SoCs.

Also, CONFIG_MALI_CSF_SUPPORT need be enabled by default on rk3588 SoCs.

Signed-off-by: Caesar Wang <wxt@rock-chips.com>
Change-Id: I053a704f6374cf7c43cd6dfa733d3d0d4214f256
2022-09-19 18:31:12 +08:00
Dingxian Wen
ff35acab81 media: rockchip: hdmirx: modify some waiting time
Signed-off-by: Dingxian Wen <shawn.wen@rock-chips.com>
Change-Id: Id64c176ebb5d22b5ea5ab86afff3ecf735f8c254
2022-09-19 10:38:12 +08:00
Dingxian Wen
776ecd8ba7 media: rockchip: hdmirx: modify edid configuration
1.340M_edid:remove deep color support, config 4K50/60 YUV420 only.
2.600M_edid:remove deep color support.

Signed-off-by: Dingxian Wen <shawn.wen@rock-chips.com>
Change-Id: I3e11397670aa87abea6c13d606cd2fac466e989a
2022-09-19 10:38:07 +08:00
Frank Wang
11f0df3d9d hwspinlock: rockchip: add compilation support
make an option to compile Rockchip HW Spinlock driver.

Signed-off-by: Frank Wang <frank.wang@rock-chips.com>
Change-Id: I6f51901f1787acd5ea15dcb1a0892a065b16aa98
2022-09-19 10:33:00 +08:00
Jianqun Xu
f78851187e dma-buf: heaps: rk_system_heap free pages to correct pool
All the pages are freed to the system heap page pools, it is a error for
pages came from the dma32 heap pools.

Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
Change-Id: I96e50c6b741e6fdbee7e358b939658809059f421
2022-09-17 12:28:33 +08:00
Jianqun Xu
6148a5867a dma-buf: heaps: Add the rk_system_heap
Copy from system_heap.c.
In order to make a smooth change, CONFIG_DMABUF_HEAPS_SYSTEM
will build rk_system_heap.

Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
Change-Id: I7176b6bfecb483c87128857293be67f3e19a101a
2022-09-17 12:28:33 +08:00
Chen Shunqing
4e01b0c2ea media: rockchip: hdmirx: add debug node
1. sys/class/hdmirx/hdmirx/status show connected or disconnected
2. echo on/off to control hpd

Signed-off-by: Chen Shunqing <csq@rock-chips.com>
Change-Id: Ib7fecdb7d227158e5278270b166b69ec2beaf8c4
2022-09-17 12:21:45 +08:00
Tao Huang
74c8bbbd67 arm64: dts: rockchip: rk3588-linux: Move ramoops to reserved-memory
Follow Documentation/devicetree/bindings/reserved-memory/ramoops.txt
This is a child-node of "/reserved-memory".

Signed-off-by: Tao Huang <huangtao@rock-chips.com>
Change-Id: I3f06deb6e3a49edebc03de4684c44d52d13c37e0
2022-09-17 12:11:48 +08:00
Tao Huang
884bd42858 arm64: dts: rockchip: rk3588-android: Move ramoops to reserved-memory
Follow Documentation/devicetree/bindings/reserved-memory/ramoops.txt
This is a child-node of "/reserved-memory".

Signed-off-by: Tao Huang <huangtao@rock-chips.com>
Change-Id: I02055d58b2e1f57f07030dbb1e1dbf74e1b37ff6
2022-09-17 12:11:48 +08:00
Lin Jianhua
1a0f4ae36e ARM: dts: rockchip: add rk3308hs-voice-module-board-v10-aarch32.dts
Signed-off-by: Lin Jianhua <linjh@rock-chips.com>
Change-Id: I3e513c4b22848e969087893db7f397a9089cbe97
2022-09-17 11:59:18 +08:00
Liang Chen
0267ad3b0c arm64: dts: rockchip: remove non-existent vopl on rk3326
Change-Id: I7e3e05d873ddcbe96d90cd4d8dbf39e30cb11761
Signed-off-by: Liang Chen <cl@rock-chips.com>
2022-09-17 11:59:00 +08:00
Zefa Chen
720983a82c media: rockchip: vicap fixed error of get_selection
when result of --get-compose is success, but width/height equal 0,
may cause v4l2-ctl unable to save image

Signed-off-by: Zefa Chen <zefa.chen@rock-chips.com>
Change-Id: Ibe572b53da346aef233a15c70c6050ad2207a21d
2022-09-16 20:02:49 +08:00
Jianwei Fan
4e4348fed0 drm/rockchip: direct_show: fix some parameters
Signed-off-by: Jianwei Fan <jianwei.fan@rock-chips.com>
Change-Id: I5c018d13c52e6946add366ebc46242c9ca78f7ff
2022-09-16 14:32:16 +08:00
Yiqing Zeng
ebf405e9ac arm64: dts: rockchip: rk3566-evb2: compatible with ov5695 and gc5025
Signed-off-by: Yiqing Zeng <zack.zeng@rock-chips.com>
Change-Id: I0587126caa692a9c9faaa9c1566211a54a238d73
2022-09-16 14:07:35 +08:00
Yifeng Zhao
40cb5c370f mmc: sdhci-of-dwcmshc: optimize the clock processing for runtime PM
1. Disable the interface clock output at runtime suspend and
enable it at runtime resume.
2. fix bug:
   [1476.144796][ T1281] mmc0: error -110 doing runtime resume
   [1476.204714][T24230] sdhci-dwcmshc fe2d0000.mmc: error -110 requesting status

Signed-off-by: Yifeng Zhao <yifeng.zhao@rock-chips.com>
Change-Id: I14ef9f8c723deda6fba81836d1a4c982e3580d54
2022-09-16 11:55:20 +08:00
Chen Shunqing
0d2ccf6058 drm/rockchip: dw_hdcp2: add reset func for ioctl
Signed-off-by: Chen Shunqing <csq@rock-chips.com>
Change-Id: I76c30690d5fa36489b930757a8fe749c0c085a66
2022-09-16 11:09:09 +08:00
Dingxian Wen
9e6cf9710f media: rockchip: hdmirx: add private v4l2 event
add private v4l2 event: RK_HDMIRX_V4L2_EVENT_SIGNAL_LOST

Signed-off-by: Dingxian Wen <shawn.wen@rock-chips.com>
Change-Id: Iad6f519b36ebb7e18305e211f989795c9ebe3fdc
2022-09-15 20:58:39 +08:00
Dingxian Wen
918a2722e2 media: rockchip: hdmirx: modify the calculation method of pixelclock
In order to be compatible with deep color mode.

Signed-off-by: Dingxian Wen <shawn.wen@rock-chips.com>
Change-Id: I37ccb5d1130d3c30145e6c0a45632bda4542c2ac
2022-09-15 20:58:39 +08:00
Wyon Bi
3cf189f222 drm/bridge: analogix_dp: Fix sync polarity configuration in msa packet
Fixes: 2abd3af02c ("drm/bridge: analogix_dp: Use video format information from register")
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
Change-Id: Ia48058d9f4341adaa35fb4311911c557f0b162b8
2022-09-15 20:58:22 +08:00
Lin Jianhua
86f98f048b arm64: dts: rockchip: rk3326-evb-lp3-v10-linux: include rk3326-evb-lp3-v10.dtsi
Signed-off-by: Lin Jianhua <linjh@rock-chips.com>
Change-Id: I23f9d17ec628660ef997023713c9a72468424d37
2022-09-15 20:49:00 +08:00
Lin Jianhua
70a514ab14 arm64: dts: rockchip: px30-evb: move some configs to common board dtsi files
Signed-off-by: Lin Jianhua <linjh@rock-chips.com>
Change-Id: I30a74d33f5d865925ddd3d22bb28425295b7f68b
2022-09-15 20:48:47 +08:00
William Wu
60a9171113 arm64: dts: rockchip: rk3588: Add companion for ehci
Add the companion ohci controller for usb_host0_ehci
and usb_host1_ehci. Then we can use device_link to
enforce suspend/resume and shutdown ordering for them.

Signed-off-by: William Wu <william.wu@rock-chips.com>
Change-Id: I8bc7c21b257beed40163178e4a1fced0763dddd9
2022-09-15 20:42:56 +08:00