Commit Graph

1079981 Commits

Author SHA1 Message Date
David Wu
c91152fefd ARM: dts: rv1106: Change gmac rx dma size to 128
Increase the size to avoid rx overflow.

Signed-off-by: David Wu <david.wu@rock-chips.com>
Change-Id: Ie2b1ad948393c8254bf6e20b2cf34b033a3e67c1
2023-06-01 14:21:40 +08:00
David Wu
ae995acd3e ARM: dts: rv1106: Set flow ctrl off for gmac
Signed-off-by: David Wu <david.wu@rock-chips.com>
Change-Id: Iec93bbff8f20de69a31dd618111abef04393b8a4
2023-06-01 14:19:17 +08:00
Xiao Ya peng
e45c069df7 PCI: rockchip: dw_ep: Update pcie ep status.
Add the rkep device mode definition and sync with SPL.

Signed-off-by: Xiao Ya peng <yp.xiao@rock-chips.com>
Change-Id: I60e4809119cf60ddcafe45f6b5ccb11a19aa56e6
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
2023-06-01 09:34:35 +08:00
Cai Wenzhong
25030c287c media: i2c: max96712: version 1.03.00
Signed-off-by: Cai Wenzhong <cwz@rock-chips.com>
Change-Id: I3faa1465a4db3edd7337cad2afbdc16f0495f905
2023-06-01 09:31:59 +08:00
Damon Ding
2196ad1ae9 pwm: rockchip: disable the pclk dynamic switch if oneshot mode enabled
If the pclk of pwm is off, the interrupt will not be
generated.

Signed-off-by: Damon Ding <damon.ding@rock-chips.com>
Change-Id: I1c68a22e875712fd7260ba8f24bd8f53cb8aa679
2023-05-31 15:24:28 +08:00
Jon Lin
a8efd060aa spi: rockchip-sfc: Optimize the judgment mechanism completed by the controller
There is very little data left in fifo, and the controller will
complete the transmission in a short period of time, so
use readl_poll_timeout() for busy wait 10us to accelerate response.

Change-Id: I63e7cfd35dc05d0af860cc9724d66d827aa47d51
Signed-off-by: Jon Lin <jon.lin@rock-chips.com>
2023-05-31 14:39:02 +08:00
Cliff Chen
c73d891d8e mm: optimize readahead for the file with fscrypt
For files with fscrypt enabled, to allow IO and the encryption
or decryption process to ping-pong, lookahead is forcibly enabled.

Change-Id: I137b8439dcd1fd99052bef1d1b0526af0d4a611e
Signed-off-by: Cliff Chen <cmc@rock-chips.com>
2023-05-31 14:30:43 +08:00
Algea Cao
2f2ba4a8f8 phy: rockchip-samsung-hdptx-hdmi: Don't set bus_width 8 when probe
Fix set pll rate err when play hdr video first time after
system boot.

Signed-off-by: Algea Cao <algea.cao@rock-chips.com>
Change-Id: Ic85b8f8b20a2a588627f650ff402076decd23b63
2023-05-31 14:19:55 +08:00
Hisping Lin
e6c7ea7d4d tee: optee: interrupt an RPC when supplicant has been killed
check supplicant is dead or alive when get signal,
run normal program if supplicant is alive,
interrupting an RPC if supplicant is dead, Otherwise,
the current thread will be stuck in the optee driver.
The error is printed as follows:

INFO: task gatekeeper@1.0-:461 blocked for more than 20 seconds.
Not tainted 5.10.66 #2
task:gatekeeper@1.0- state:D stack: 0 pid: 461 ppid: 1 flags:0x0400002d
Call trace:
switch_to+0x180/0x230
__schedule+0x49c/0x704
schedule+0xa0/0xe8
schedule_timeout+0x38/0x124
wait_for_common+0xa4/0x134
wait_for_completion+0x1c/0x2c
optee_handle_rpc+0x1a4/0x6ec
optee_do_call_with_arg+0x1a4/0x298
optee_release+0x134/0x1bc
tee_release+0xa4/0x100

Change-Id: I2f82338ecccc1bc97bb5a6c25767eca4542cbcdf
Signed-off-by: Hisping Lin <hisping.lin@rock-chips.com>
2023-05-31 11:17:40 +08:00
ZiHan Huang
2c94291de8 arm64: dts: rockchip: add rk3588-evb7-lp4-v11-linux-ipc.dts
Signed-off-by: ZiHan Huang <zack.huang@rock-chips.com>
Change-Id: I01791bd56777bf570de41e0468890a08f9fc5e55
2023-05-31 10:11:45 +08:00
Zefa Chen
6b1273024d media: rockchip: vicap send sof both online and read back
Signed-off-by: Zefa Chen <zefa.chen@rock-chips.com>
Change-Id: Iec76f92835eb4bb6ec24cd10a10157f0af8dae44
2023-05-31 09:38:07 +08:00
Wu Liangqing
1013c54dc1 input: touchscreen: gt1x: remove all usages of mm_segment_t
The struct mm_segment_t is required by this driver only in conjunction
with Linux 5.9.0 or older. Since the struct is removed in Linux 5.18, it
must be removed from the driver as well.

Change-Id: I993800f1f6f03962dfd267a9b8e3c95f37baffe5
Signed-off-by: Wu Liangqing <wlq@rock-chips.com>
2023-05-30 18:41:49 +08:00
Zhen Chen
e8df1af4f2 Mali: bifrost: use task_tgid_vnr() and task_pid_vnr() to get tgid and pid
To resolve the error of "Failed to get pid pointer for ...",
when running in container environment that uses pid_namespace.

Change-Id: Iff033d9cd8af33b9f2a536cbfbe2ae1e8d71bfba
Signed-off-by: Zhen Chen <chenzhen@rock-chips.com>
2023-05-30 18:41:29 +08:00
Zhen Chen
7a76350c1e MALI: rockchip: upgrade bifrost DDK to g18p0-01eac0, from g17p0-01eac0
Change-Id: I2c7e002c4b1a1834f89c52e4113e3b2f48f9cba6
Signed-off-by: Zhen Chen <chenzhen@rock-chips.com>
2023-05-30 18:41:29 +08:00
Sugar Zhang
038247591f ARM: configs: rv1106: Add config for TEE support
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
Change-Id: Icbb212470faf7b6dc822d88061f10ffbce159090
2023-05-30 16:18:03 +08:00
Sugar Zhang
d159a00ad2 ARM: dts: rv1106: Add PSCI node
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
Change-Id: I08d549b801f18f8337e7ce92b0b8ca46e63068d9
2023-05-30 16:18:03 +08:00
Sugar Zhang
8c6317e0fc ARM: dts: rv1106: Add Non-secure physical timer
We should introduce both Non-secure and Secure timer
to compatible for kernel with TEE or not.

As the chapter 2.3.2 PPIs of GIC-400 TRM says:

Interrupt ID   Source

30             Non-secure physical timer
29             Secure physical timer
27             Virtual timer
26             Hypervisor timer

Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
Change-Id: If9441688d39930e71c5b217a4356f1c9972a8269
2023-05-30 16:18:03 +08:00
Tao Huang
03e8db0382 uapi/fec-config.h: Fix UAPI compile-test
./usr/include/linux/fec-config.h:14:2: error: unknown type name 'u32'

Signed-off-by: Tao Huang <huangtao@rock-chips.com>
Change-Id: I14edf55fe45b52f21bc18fba90f9d434a8882cfa
2023-05-30 16:09:11 +08:00
Tao Huang
9a2fdb9b46 uapi/rk_vcm_head.h: Fix UAPI compile-test
./usr/include/linux/rk_vcm_head.h:88:2: error: unknown type name 's32'
./usr/include/linux/rk_vcm_head.h:111:30: error: field has incomplete type 'struct __kernel_old_timeval'
./usr/include/linux/rk_vcm_head.h:116:23: error: field has incomplete type 'struct old_timeval32'

Signed-off-by: Tao Huang <huangtao@rock-chips.com>
Change-Id: I603502aaac87c71de8ae6ad027652de23cdcf73d
2023-05-30 16:09:11 +08:00
Tao Huang
9392fc185f uapi/rk-camera-module.h: Fix UAPI compile-test
./usr/include/linux/rk-camera-module.h:180:2: error: unknown type name 'u8'

Signed-off-by: Tao Huang <huangtao@rock-chips.com>
Change-Id: I388d47ea658b5829df148c8b10eb5c466160a0e7
2023-05-30 16:09:11 +08:00
Tao Huang
4100ee9184 uapi/rk-preisp.h: Fix UAPI compile-test
./usr/include/linux/rk-preisp.h:65:2: error: unknown type name 's32'

Signed-off-by: Tao Huang <huangtao@rock-chips.com>
Change-Id: Ib1812da340c745600b4e2286ca299db2c1922bce
2023-05-30 16:09:11 +08:00
Tao Huang
d2c8cecdbc uapi/rk-isp32-config.h: Fix UAPI compile-test
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
Change-Id: Iddda89ca94260056fee99b15c72c0c83cf02a8e1
2023-05-30 16:09:11 +08:00
Tao Huang
36d41c6a18 uapi/rk-isp3-config.h: Fix UAPI compile-test
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
Change-Id: I26016e6d1c3dbea0717ea97f80798677ac1b8823
2023-05-30 16:09:11 +08:00
Tao Huang
6c9d8b3eab uapi/rk-ispp-config.h: Fix UAPI compile-test
./usr/include/linux/rk-ispp-config.h:21:43: warning: // comments are not allowed in this language [-Wcomment]
./usr/include/linux/rk-ispp-config.h:132:2: error: unknown type name 'u32'

Signed-off-by: Tao Huang <huangtao@rock-chips.com>
Change-Id: I5d9a79af6c1f72a8e969b0664e6b48fbf9e0199f
2023-05-30 16:07:14 +08:00
Tao Huang
97cb4e6b74 uapi/rk-isp1-config.h: Fix UAPI compile-test
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
Change-Id: I1bacf9575ded157a7c720472c24dfb32ff59c8e1
2023-05-30 16:06:44 +08:00
Tao Huang
7ea15737d0 uapi/rk-isp21-config.h: Fix UAPI compile-test
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
Change-Id: Id8c9c89b79b621aac379e3f937dfc488772c1b2f
2023-05-30 16:06:44 +08:00
Tao Huang
7e16cc6ce6 uapi/rk-isp2-config.h: Fix UAPI compile-test
./usr/include/linux/rk-isp2-config.h:277:21: error: implicit declaration of function 'BIT' [-Werror,-Wimplicit-function-declaration]
./usr/include/linux/rk-isp2-config.h:288:2: error: unknown type name 'u32'

Signed-off-by: Tao Huang <huangtao@rock-chips.com>
Change-Id: I2f98bdcf50638cbe328b310d17d9417b382ab551
2023-05-30 16:06:44 +08:00
Tao Huang
1f70949faa uapi/rkcif-config.h: Fix UAPI compile-test
./usr/include/linux/rkcif-config.h:63:2: error: unknown type name 'u8'

Signed-off-by: Tao Huang <huangtao@rock-chips.com>
Change-Id: Ic1c8f6c71c7fcaffd3f44ea8c88fcbeba19f3f7d
2023-05-30 16:06:44 +08:00
Tao Huang
1f72923c99 uapi/rk-video-format.h: include types.h
usr/include/linux/rk-video-format.h:10: found __[us]{8,16,32,64} type without #include <linux/types.h>

Signed-off-by: Tao Huang <huangtao@rock-chips.com>
Change-Id: I3071683240e04039186c3a1d506835bd732c6716
2023-05-30 16:06:44 +08:00
Tao Huang
35d4f2a5df uapi/rockchip_drm.h: Fix UAPI compile-test
./usr/include/drm/rockchip_drm.h:19:10: fatal error: 'drm/drm_file.h' file not found

Signed-off-by: Tao Huang <huangtao@rock-chips.com>
Change-Id: I987b8bb26023e9e7b652962e54b45c24a0231d57
2023-05-30 16:06:44 +08:00
Tao Huang
018299a4ca uapi/dw_hdcp2.h: Fix UAPI compile-test
./usr/include/misc/dw_hdcp2.h:15:1: warning: // comments are not allowed in this language [-Wcomment]

Signed-off-by: Tao Huang <huangtao@rock-chips.com>
Change-Id: Ib68c8b37acdc7e7cb11abeae15d1bfd27ec945b3
2023-05-30 16:06:44 +08:00
Tao Huang
78e874e69c uapi/rkflash_vendor_storage.h: include types.h
./usr/include/misc/rkflash_vendor_storage.h:11:2: error: unknown type name '__u32'

Signed-off-by: Tao Huang <huangtao@rock-chips.com>
Change-Id: Ia912e65b2f87d2c6bd57eb76019431c4084f6549
2023-05-30 16:06:44 +08:00
XiaoDong Huang
da9a7e29f0 ARM: configs: rockchip: Add rv1106-pm.config
Signed-off-by: XiaoDong Huang <derrick.huang@rock-chips.com>
Change-Id: Id8375b10d5c9b240a45e451b0a027d362c7ca06a
2023-05-30 10:41:39 +08:00
Wyon Bi
c0ec4e0fa1 drm/panel: maxim-max96752f: Add support for ogm 101fhbllm01
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
Change-Id: I99ff2d7abd0d5e5ab7f44b6eda5b82669ab60ecf
2023-05-29 10:17:12 +08:00
Wyon Bi
b65cee7aa1 drm/bridge: max96745: Add tx_rate switch for twisted-pair cable
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
Change-Id: I02af1ca0325a0eeb41023f56d7d747da17afab99
2023-05-29 10:17:12 +08:00
Jianqun Xu
0c051c5aec soc: rockchip: iomux fix compile error
The commit 5e0fa7cfef ("pinctrl/rockchip: Sync with upstream") removed
the gpio head file from pinctrl-rockchip head file, but the iomux driver
depends on the gpio head file.

  CC      drivers/soc/rockchip/iomux.o
In file included from drivers/soc/rockchip/iomux.c:18:
drivers/soc/rockchip/../../pinctrl/pinctrl-rockchip.h:338:20: error: field has incomplete type 'struct gpio_chip'
        struct gpio_chip                gpio_chip;
                                        ^
drivers/soc/rockchip/../../pinctrl/pinctrl-rockchip.h:338:9: note: forward declaration of 'struct gpio_chip'
        struct gpio_chip                gpio_chip;
               ^
drivers/soc/rockchip/../../pinctrl/pinctrl-rockchip.h:339:28: error: field has incomplete type 'struct pinctrl_gpio_range'
        struct pinctrl_gpio_range       grange;
                                        ^
drivers/soc/rockchip/../../pinctrl/core.h:17:8: note: forward declaration of 'struct pinctrl_gpio_range'
struct pinctrl_gpio_range;
       ^
In file included from drivers/soc/rockchip/iomux.c:18:
drivers/soc/rockchip/../../pinctrl/pinctrl-rockchip.h:430:24: error: field has incomplete type 'enum pin_config_param'
        enum pin_config_param param;
                              ^
drivers/soc/rockchip/../../pinctrl/pinctrl-rockchip.h:425:6: note: forward declaration of 'enum pin_config_param'
enum pin_config_param;
     ^
drivers/soc/rockchip/../../pinctrl/pinctrl-rockchip.h:467:23: error: field has incomplete type 'struct pinctrl_desc'
        struct pinctrl_desc             pctl;
                                        ^
drivers/soc/rockchip/../../pinctrl/core.h:44:9: note: forward declaration of 'struct pinctrl_desc'
        struct pinctrl_desc *desc;
               ^
4 errors generated.

Change-Id: Ib9596eafe1d128de9be4b4d8462ec92842f7ff3f
Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
2023-05-27 16:57:33 +08:00
XiaoDong Huang
59d0a1e8b2 firmware: rockchip_sip: fix error in cpu_logical_map_mpidr
If PE support multithread, the mpidr of cpu0~cpu3 in cluster0
and cpu4~cpu7 in cluster1 is as follow:
cpu0~3: 0x81000000, 0x81000100, 0x81000200, 0x81000300.
cpu4~7: 0x81010000, 0x81010100, 0x81010200, 0x81010300.

If PE doesn't support multithread, the mpidr of cpu0~cpu3 in cluster0
and cpu4~cpu7 in cluster1 is as follow:
cpu0~3: 0x80000000, 0x80000001, 0x80000002, 0x80000003.
cpu4~7: 0x80000100, 0x80000101, 0x80000102, 0x80000103.

Signed-off-by: XiaoDong Huang <derrick.huang@rock-chips.com>
Change-Id: Ib2fb18ad280c6c275850910f18cb4f653c4a108f
2023-05-26 18:34:38 +08:00
Luo Wei
b9d6865a47 arm64: dts: rockchip: vehicle-display: set dsi resolution to 1920x720@60
Change-Id: I3fef41dc1a70b43a43229b4f520692b6ce23b7f2
Signed-off-by: Luo Wei <lw@rock-chips.com>
2023-05-26 18:33:14 +08:00
William Wu
9e36581320 phy: rockchip: inno-usb2: power on phy if linestate is SE1
Some special devices connected to host port, the linestate
maybe SE1 (DP/DM both in High level).

The below devices are the known special devices

Wireless HID: VID = 0xa604, PID = 0x0715
RK3308BS ADB: VID = 0x2207, PID = 0x0006

In order to support these special devices, this patch
handle the linestate SE1 as device connected state,
and power on the phy if it has already suspended.

Change-Id: I55fe83150c18d6c2629fbc857790ef04cdb68da5
Signed-off-by: William Wu <william.wu@rock-chips.com>
2023-05-26 14:26:28 +08:00
William Wu
5da9da3109 usb: dwc3: gadget: prepare at least twice txfifo for each ep
The current logic to assign only one max packet limit
for each IN endpoint txfifo, it's not enough for some
usb functions on Rockchip platforms.

For example, on RV1106 platform usb composite device
with UVC function, if it sets one max packet limit for
IN endpoint txfifo, the UVC function streaming ep may
be assigned with ep4-in or ep5-in which have default
HW value 1048B. But the UVC function needs to support
high bandwidth isochronous transaction in a microframe
(two or three transactions per microframe), the ep4-in
or ep5-in has not enough txfifo space to fit the UVC.

In addition, to meet performance requirement, a minimum
TxFIFO size of 2x MaxPacketSize for BULK/ISOC endpoints
is recommended in DWC3 databook.

So this patch prepares at least twice txfifo for each
IN endpoint on Rockchip platforms.

Fixes: 767a360826 ("UPSTREAM: usb: dwc3: gadget: Fix IN endpoint max packet size allocation")
Change-Id: If97eb74ab6ec1a32fe162758bc8f704c15fa4f3c
Signed-off-by: William Wu <william.wu@rock-chips.com>
2023-05-26 14:26:28 +08:00
Algea Cao
1a6d52236f drm/bridge: synopsys: dw-hdmi-qp: Achieve the same frequency color seamless switch
When the frequency before and after color switching is the
same, the resolution switching process is not performed.
Instead, go through the following process:

connector atomic check--->set avmute--->config hdmi controller
-->config vop-->connector atomic commit-->clear avmute.

This way the HDMI output will not be interrupted, the black
screen time will be shorter, and the user experience will be
better.

Signed-off-by: Algea Cao <algea.cao@rock-chips.com>
Change-Id: Ie12fd3c17c5b9ba56391cbe0e976e012dffae0ba
2023-05-25 20:22:56 +08:00
Algea Cao
91a23b0515 phy: rockchip-samsung-hdptx-hdmi: Fix hdmi Inter-Pair Skew exceed the limits
In hdmi2.0 resolution, the phase of D2 lane is probabilistically
ahead of other lanes.  Set phy deskew FIFO works on shared pointer
to fix this problem.

According to vendor, this patch is also available for frl mode.

Signed-off-by: Algea Cao <algea.cao@rock-chips.com>
Change-Id: Ic6f5111ede5a553fb6d6511bd340d4f2010f3fe7
2023-05-25 19:19:31 +08:00
Xing Zheng
5110d5de6d ASoC: rockchip: rk817-codec: Be stable PLL status during switch sample rate and mclk
Change-Id: I5f01035efb68fac9800fb62388221210bdb12d93
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
2023-05-25 15:07:08 +08:00
William Wu
666bac0de5 FROMLIST: usb: xhci: account for num_trbs_free when invalidating TDs
If a ring has a number of TDs enqueued past the dequeue pointer, and the
URBs corresponding to these TDs are dequeued, then num_trbs_free isn't
updated to show that these TDs have been converted to no-ops and
effectively "freed". This means that num_trbs_free creeps downwards
until the count is exhausted, which then triggers xhci_ring_expansion()
and effectively leaks memory by infinitely growing the transfer ring.

This is commonly encounted through the use of a usb-serial port where
the port is repeatedly opened, read, then closed.

Move the num_trbs_free crediting out of the Set TR Dequeue Pointer
handling and into xhci_invalidate_cancelled_tds().

There is a potential for overestimating the actual space on the ring if
the ring is nearly full and TDs are arbitrarily enqueued by a device
driver while it is dequeueing them, but dequeues are usually batched
during device close/shutdown or endpoint error recovery.

Link: https://github.com/raspberrypi/linux/issues/5088
Change-Id: I858a32e6bcbb525cccff3a6d07fe77d2be67f5e7
Signed-off-by: William Wu <william.wu@rock-chips.com>
Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
2023-05-25 15:02:08 +08:00
Finley Xiao
a8f20dd9fb arm64: dts: rockchip: rk3528: Add mbist-vmin for cpu gpu and dmc
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
Change-Id: I664731babae657181e94734b721ae6d1d6a39078
2023-05-24 18:10:07 +08:00
Finley Xiao
d4619c986e arm64: dts: rockchip: rk3528: Add 12500uV for cpu low frequencies
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
Change-Id: Icfe74c6edbbb1328a864fa8d42448e09e71a0a46
2023-05-24 18:08:46 +08:00
David Wu
26edc1f09c arm64: dts: rockchip: rk3588: Change tx/rx queue to 1 for gmac
Because to support half duplex, change the default queue to 1, otherwise
half duplex is not supported.

Signed-off-by: David Wu <david.wu@rock-chips.com>
Change-Id: Ice6c045dd70f8a41d44696b734ff4bccd511a4f0
2023-05-24 15:50:24 +08:00
David Wu
a1cf510121 arm64: dts: rockchip: Add uio nodes for rk3588
Signed-off-by: David Wu <david.wu@rock-chips.com>
Change-Id: I9b9421211db4d6f87e984077bd5827c4d8fd94c1
2023-05-24 15:50:24 +08:00
Zhen Chen
22047de6cf MALI: midgard: Fix a bug of dereferencing possible ERR_PTR()
The original error check message:
drivers/gpu/arm/midgard/backend/gpu/mali_kbase_devfreq.c:371 midgard_kbase_devfreq_init() error: 'kbdev->devfreq' dereferencing possible ERR_PTR()

Modifications here are based on corresponding codes in drivers/gpu/arm/bifrost/.

Signed-off-by: Zhen Chen <chenzhen@rock-chips.com>
Change-Id: I6d74d39b92ce89e72814f3a0749b79140338b229
2023-05-24 11:19:04 +08:00
Algea Cao
1805f0c619 drm/rockchip: dw_hdmi: Fix check yuv422 color format err
Signed-off-by: Algea Cao <algea.cao@rock-chips.com>
Change-Id: I52da76600eafc7d7909cd6017dd3efa0509f2052
2023-05-24 10:03:14 +08:00