This patch adjust the RK3528 U3 Rx squelch input filler
bandwidth to 3'b110 which is used for rx_lfps, reduce the
bandwidth to avoid filtering valid superspeed data.
With this patch, it can fix the issue that Kingston U3 Disk
(idVendor=0951, idProduct=1666, bcdDevice= 1.10) read error
on RK3528 platforms.
Change-Id: Ifa4eac24bbdebe020db356ba45dae146f4df22f1
Signed-off-by: William Wu <william.wu@rock-chips.com>
This patch adjust the RK3568 U3 Rx squelch input filler
bandwidth to 3'b110 which is used for rx_lfps, reduce the
bandwidth to avoid filtering valid superspeed data.
With this patch, it can fix the issue that Kingston U3 Disk
(idVendor=0951, idProduct=1666, bcdDevice= 1.10) read error
on RK3568 platforms.
Change-Id: I27410c5702862df2d8829a2ca3c2c1d9f57885be
Signed-off-by: William Wu <william.wu@rock-chips.com>
Add pinctrl description and example to show how it was used
to prevent power leak for SD/MMC cards.
Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com>
Change-Id: I1b711328e4677e74b82c74a9bedbc052f5ea9b97
normal pinctrl is used for sd working mode. idle pinctrl is
used when the card is added or removed, so pull down the
IO to avoid power leak which makes the card unable to work.
Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com>
Change-Id: I8780b9de735b86918b4d5ba857711e56de740ecf
The dmabuf allocated by video will leaked when media process exit
abnormal, this patch changes the deinit for mpp driver to fix it.
Tested on RK3588 Debian:
step1:
GST_DEBUG=fpsdisplaysink:6 gst-play-1.0 /data/1.mp4 --use-playbin3 \
--audiosink=fakesink --videosink="fpsdisplaysink \
video-sink=waylandsink signal-fps-measurements=true"
step2:
ctrl + c to kill process
step3:
cat /proc/rk_dmabuf/dev to check dmabuf stat
Tested-by: Jianqun Xu <jay.xu@rock-chips.com>
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: Ia3906b3a0bb5ec6511fc8d8abefadc37d6287c89
reason:
1. If the task in the session is assigned to two different cores, the
task in the back may complete first and trigger the wait signal of the
session.
2. In the wait thread, it is taken according to the pending list order,
and the previous task will be triggered, and it must not be found in
the list.
3. For the above reasons, put the wait signal into the task and monitor
the wait signal of the task according to the pending order, then the
order will not be wrong.
4. According to this method, done_list can also be unnecessary.
relative log:
session 000000003edbfbaa task 00000000207419c6, not found in done list!
session 000000003edbfbaa task 000000006a0597ed, not found in done list!
session 000000003edbfbaa task 00000000fe35cb90, not found in done list!
session 000000003edbfbaa task 000000001638cf87, not found in done list!
session 000000003edbfbaa task 00000000a2ba5976, not found in done list!
Change-Id: I2ab6c98162cc4b71ef34cbcda0bc30434fecdb5d
Signed-off-by: Ding Wei <leo.ding@rock-chips.com>
Only SYS_STATUS_NORMAL with DMC_FREQ_LEVEL_HIGH is left. This will not
trigger ddr frequency scaling by default.
Signed-off-by: Wesley Yao <wesley.yao@rock-chips.com>
Change-Id: I14cb44b189df79cb2441feb6d809696160c314c5
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>
(cherry picked from commit e6c7ea7d4da7e43ca05bb2634165e7c143a108ba)
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>
we don't directly add bt-sco cards because it may take some
i2s/pcm, which may use dma, but dmas may limit.
so we just prepare this settings, then if any one who want to
support bt-sco, he/she can just add dts in board-level dtsi.
For example diff in "rk3528-evb1-ddr4-v10.dtsi":
+&bt_sco {
+ status = "okay";
+};
+
+&bt_sound {
+ status = "okay";
+};
+
+&sai0{
+ status = "okay";
+};
The default pcm/i2s setting is:
Format: PCM, dsp_a, MSB first, short sync, rising edge and 1 bclk.
rockchip soc: master; Bt controller: slave
Change-Id: I64e76c2ae4b8449e2ee345587e080b3a70521ed9
Signed-off-by: Zou Dengming <marsow.zou@rock-chips.com>
The protection range of spin lock is optimized to prevent
competition conditions.
Signed-off-by: Lin Jinhan <troy.lin@rock-chips.com>
Change-Id: I6d3dd088fc5e5c0046df12184108b9e176ac26a7
Avoid the *clk_emmc* are disabled by *unused_off* when the ramdisk is
too large.
Signed-off-by: Ziyuan Xu <xzy.xu@rock-chips.com>
Change-Id: I38b6f33ab55fbb65781ee266237382c977848e68
For RK3588 and RK3568, the hactive of video timing must
be 4-pixel aligned.
Signed-off-by: Damon Ding <damon.ding@rock-chips.com>
Change-Id: I2485e27420b365104c5c876708600fb59189e1af
Just like some 3D mode, the mode->crtc_* parameter will be recalculate
according the mode->flag, and we use the mode->crtc_* parameter to config
to VOP register, so we need use crtc_* parameter to do plane size check.
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
Change-Id: I0b8a7de251707bf4737b107b167be73270fe63bc
When there is an error task, traverse the running list to modify the ref
buffer to an err iova.
If hw dec use the err ref, it will trigger pagefault so that we can mark
the err task correctly.
Signed-off-by: Yandong Lin <yandong.lin@rock-chips.com>
Change-Id: Idaf16212c79c5b7c250b6f1b7494552d994d0329
Some device share one pd, but reset control are different.
It should share a reset_group to ensure that one device can
not do reset while anothor is running.
Signed-off-by: Yandong Lin <yandong.lin@rock-chips.com>
Change-Id: I53527a053d0835085522396e2d9ee649d78325a5