Commit Graph

863256 Commits

Author SHA1 Message Date
Ding Wei
ff2f479da9 video: rockchip: mpp: Optimize kref_get within mem_regions
tips:
1. If fd has imported, then just copy mem_regiony struct.
2. Task is the unit for running, and mem_region is the
   internal element of task.
3. In mem_regions, it can only kref_get once with the same fd,
   instead of all fds which the same fd.

Change-Id: I7236803a5a263d6e79256036caf580b5ac2c35e9
Signed-off-by: Ding Wei <leo.ding@rock-chips.com>
2021-05-20 18:17:54 +08:00
Caesar Wang
bcd00049f4 arm64: dts: rockchip: disable afbc by default on rk3568-linux.dtsi
Signed-off-by: Caesar Wang <wxt@rock-chips.com>
Change-Id: I1dbf50e9056242991afae4df3303c739065dfb6b
2021-05-20 14:57:41 +08:00
Andy Yan
f58aa54a27 drm/rockchip: vop2: Add option to disable afbc window
Change-Id: I115a1671c0bf3a6e7af541a376fbdafa33bbb439
Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
2021-05-20 14:56:18 +08:00
Algea Cao
9b9760675b drm/bridge: synopsys: dw-hdmi: Fix cec timeout when resume
Unmute cec irq when resume

Signed-off-by: Algea Cao <algea.cao@rock-chips.com>
Change-Id: Ic3d83ab7721fcf525d64ac08c970af3e51ecee88
2021-05-20 11:38:39 +08:00
Wang Panzhenzhuan
7488e22d23 dt-bindings: media: i2c: Document add hi846
Signed-off-by: Wang Panzhenzhuan <randy.wang@rock-chips.com>
Change-Id: I94f48ed9d931a30d08f4af6d5c8ee203a4afbdf8
2021-05-20 11:38:07 +08:00
Wang Panzhenzhuan
d1b3204f5e media: i2c: add camera driver hynix hi846
Signed-off-by: Wang Panzhenzhuan <randy.wang@rock-chips.com>
Change-Id: I405dbd6c509cb7c3424d1f0fa6cfa355adb5a4d9
2021-05-20 11:31:28 +08:00
Wang Panzhenzhuan
4be5174ea2 dt-bindings: media: i2c: Document add hi556
Signed-off-by: Wang Panzhenzhuan <randy.wang@rock-chips.com>
Change-Id: Ib5406d9a690f27e70d0df37429c18b8ad488c7c7
2021-05-20 11:29:26 +08:00
Wang Panzhenzhuan
c81aa1af42 media: i2c: add camera driver hynix hi556
Signed-off-by: Wang Panzhenzhuan <randy.wang@rock-chips.com>
Change-Id: If069f3e11074eb7635754c47b39a7b8ca3434219
2021-05-20 11:28:36 +08:00
Elaine Zhang
5dc8c4a1bf FROMLIST: clk: rockchip: fix rk3568 cpll clk gate bits
The cpll clk gate bits had an ordering issue. This led to the loss of
the boot sdmmc controller when the gmac was shut down with:
`ip link set eth0 down`
as the cpll_100m was shut off instead of the cpll_62p5.
cpll_62p5, cpll_50m, cpll_25m were all off by one with cpll_100m
misplaced.

Fixes: e9ac850b88 ("clk: rockchip: add clock controller for rk3568")

Signed-off-by: Peter Geis <pgwipeout@gmail.com>
Link: https://patchwork.kernel.org/project/linux-clk/patch/20210519174149.3691335-1-pgwipeout@gmail.com/
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
Change-Id: I012bdbdc44c4e8de1b42a00c2a9bffb7bd66faef
2021-05-20 10:02:52 +08:00
Wyon Bi
94be4db841 drm/bridge: analogix_dp: Add optional LCD panel self test
Many TCON devices include an embedded LCD panel self-test mode.
This mode is designed to help system integrators identify
the root cause of abnormal display operation, without the use of
complicated debug tools.

Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
Change-Id: I19770c7488d43e2486c5fde5cc0a5b345e5be0eb
2021-05-19 14:52:57 +08:00
Zorro Liu
4634dc6901 arm64: dts: rockchip: rk3566-eink: add more ddr freq and disabled
default

Signed-off-by: Zorro Liu <lyx@rock-chips.com>
Change-Id: If8e2d053c9d07fb539e53c72f5705cdfe74cf600
2021-05-19 14:16:27 +08:00
Yiqing Zeng
fd53503a0d media: i2c: support imx178 lvds sensor driver
Signed-off-by: Yiqing Zeng <zack.zeng@rock-chips.com>
Change-Id: I61372000e615fd3fbdaa506b9a9fd3382c01ee34
2021-05-19 14:15:23 +08:00
Sugar Zhang
22e9ac1b12 ASoC: rockchip: i2s-tdm: Fix potential deadlock
CPU0                    CPU1
     ----                    ----
lock(&(&i2s_tdm->lock)->rlock);
                             local_irq_disable();
                             lock(&(&substream->self_group.lock)->rlock);
                             lock(&(&i2s_tdm->lock)->rlock);
<Interrupt>
  lock(&(&substream->self_group.lock)->rlock);

Change-Id: I80cc2d0bc9df7e31ff23d0e5d04618ba57fd70df
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
2021-05-18 22:29:14 +08:00
Ding Wei
d5b88a864f video: rockchip: mpp: remove ktime_get within a task processing
reason: mem_regions are within a task, and the differ time between
mem_region can be ignore. Thus, it can be remove when attach task fds.

Change-Id: I5986d2dca6eff41d6c6a8fa3f037e183b102e63c
Signed-off-by: Ding Wei <leo.ding@rock-chips.com>
2021-05-18 09:30:23 +08:00
Xing Zheng
cb3d52c998 dt-bindings: sound: es8311: add the optional property 'delay-pa-drv-ms'
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
Change-Id: Iaaeafdccc7ce67f59e2cba95cad979cd15d24f7d
2021-05-18 09:30:06 +08:00
Xing Zheng
4ecdbad17d ASoC: es8311: add support 'delay-pa-drv-ms' property
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
Change-Id: I3a7827fec9815ee407106d43d364e9c33975cb97
2021-05-18 09:30:06 +08:00
Zorro Liu
10d832d91c drm/rockchip: ebc_dev: release version v1.12
1.add debug ioctl
2.EPD_A2 mode no need to do part count

Signed-off-by: Zorro Liu <lyx@rock-chips.com>
Change-Id: I6ddfbc5683743759cb2f7be96265df06d3db7de9
2021-05-18 09:14:09 +08:00
Ding Wei
ff19001f1b video: rockchip: mpp: rkvdec2: rcb_info move to session->priv
if rcb_info not change, then the infos will not ioctl from userspace.
thus, it needs to restore infos in session.

Change-Id: I4ff3b5bcc22b033b1d7549866af7c253bf46945c
Signed-off-by: Ding Wei <leo.ding@rock-chips.com>
2021-05-17 16:40:08 +08:00
Jianqun Xu
25e9738a2b staging: android: ion: support force sync for partial sync
Change-Id: Icfe94628e524d99a36ffc49894266a9fc237e986
Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
2021-05-17 16:24:28 +08:00
Yu Qiaowei
0804113fa3 video/rockchip: rga2: support Y400 input.
By making the Y channel and the UV channel's access address equal,
the function of RGA input grayscale image is realized, without
need to allocate extra UV channel memory.

Signed-off-by: Yu Qiaowei <cerf.yu@rock-chips.com>
Change-Id: I0110ec6935c7233905e724be3df9f4fba9ef8cf0
2021-05-17 16:21:39 +08:00
Alex Zhao
dccc696cc9 net: rockchip_wlan: rtl8821cs: disable CONFIG_ERROR_STATE_MONITOR
Signed-off-by: Alex Zhao <zzc@rock-chips.com>
Change-Id: Id9afa007304fe9a6be379e6393da66fdeda48fd0
2021-05-17 16:13:21 +08:00
Andy Yan
495049b0b7 drm/rockchip: vop2: check win_mask for each plane on crtc
win_mask is more safe than plane_mask on crtc_state,
because crtc_state may changed by many interface.

Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
Change-Id: I886c8e1e1c0505e46292721de05d9be7c167d956
2021-05-17 16:05:51 +08:00
William Wu
3b9546b824 usb: gadget: f_uac1: fix ep address for get sample rate
The f_uac1 use ep address 0x81 and 0x01 to get sample rate,
so it can only support uac1 ep1-in and ep1-out to get playback
and capture sample rate, it has limitation for USB composite
device (e.g. RNDIS & UAC1). This patch use in_ep->address and
out_ep->address instead of the fixed addresses.

Signed-off-by: William Wu <william.wu@rock-chips.com>
Change-Id: Ia1a454d9738324605c00c4889b3fe187fdfcdb7d
2021-05-14 14:43:43 +08:00
William Wu
adc4b01322 usb: gadget: f_uvc: not handle alt 0 for bulk streaming intf
Because alt settings in an interface are supported only
for ISOC endpoints, so do not handle alt 0 for bulk
streaming interface.

Change-Id: Iadcf6c058023d5a3d6caa353cd783752f84a77a9
Signed-off-by: William Wu <william.wu@rock-chips.com>
2021-05-14 14:36:55 +08:00
Caesar Wang
96764dff33 arm64: dts: rockchip: remove the duplicate pmu_io_domains on rk3399-evb-ind.dtsi
Signed-off-by: Caesar Wang <wxt@rock-chips.com>
Change-Id: Id42f1e425a6015ac11851decd3a36d80b23b30e5
2021-05-14 14:27:25 +08:00
Ding Wei
b39c718938 arm64: dts: rockchip: rk3328: add normal and advanced rates for rkvdec
when pixels less then default-max-load, use normal-rates,
otherwise, use advanced-rates instead.

Change-Id: Ie2d58c05a2e8d2f5e5f9d932b3e51024b48b91d2
Signed-off-by: Ding Wei <leo.ding@rock-chips.com>
2021-05-13 18:15:14 +08:00
William Wu
573d2e1e2e usb: gadget: f_uac1: finalize wMaxPacketSize according to bandwidth
According to USB Audio Device 1.0 Spec, Ch4.6.1.1:
The wMaxPacketSize of endpoint is defined as follows:
Maximum packet size of endpoint is capable of sending
or receiving when this configuration is selected. This
is determined by the audio bandwidth constraints of
the endpoint.

In current code, the wMaxPacketSize is limited to 200,
and the bInterval is set to 4 (1ms). That is, the maximum
bandwidth over USB bus is 200 * 1000 = 200000 bytes.

We find an issue about bandwidth limitation when we try to
support UAC1 with 8ch * 16bit * 16KHz on RK3308 platform,
which needs more bandwidth than it can support.

This patch sets the wMaxPacketSize dynamically according
to the parameters of UAC1. It is similar to the same thing
done earlier for f_uac2.

Change-Id: I9af3fd7665a80b5eb0cfb5dc91ebe2c20df1dd46
Signed-off-by: William Wu <william.wu@rock-chips.com>
2021-05-13 18:12:51 +08:00
Cai YiWei
3a54d14600 media: rockchip: ispp: fix page fault due to config reg during working
Change-Id: Ie5e23fc0e79a946b692278fc28b4a7794fe1a5f4
Signed-off-by: Cai YiWei <cyw@rock-chips.com>
2021-05-13 18:12:37 +08:00
Sandy Huang
0071ffb064 drm/rockchip: vop2: fix calculation error
fix calculation error and add double check done bit

Change-Id: I23852ff0c6cca0efef2eb52257d499bb99dbe009
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
2021-05-13 16:24:22 +08:00
Ruslan Bilovol
d0f1327e76 UPSTREAM: usb: gadget: f_uac2: always increase endpoint max_packet_size by one audio slot
As per UAC2 Audio Data Formats spec (2.3.1.1 USB Packets),
if the sampling rate is a constant, the allowable variation
of number of audio slots per virtual frame is +/- 1 audio slot.

It means that endpoint should be able to accept/send +1 audio
slot.

Previous endpoint max_packet_size calculation code
was adding sometimes +1 audio slot due to DIV_ROUND_UP
behaviour which was rounding up to closest integer.
However this doesn't work if the numbers are divisible.

It had no any impact with Linux hosts which ignore
this issue, but in case of more strict Windows it
caused rejected enumeration

Thus always add +1 audio slot to endpoint's max packet size

Change-Id: I3bef24e77d5d9dfc11438da24664192753e2cac4
Fixes: 913e4a90b6 ("usb: gadget: f_uac2: finalize wMaxPacketSize according to bandwidth")
Cc: Peter Chen <peter.chen@freescale.com>
Cc: <stable@vger.kernel.org> #v4.3+
Signed-off-by: Ruslan Bilovol <ruslan.bilovol@gmail.com>
Link: https://lore.kernel.org/r/1614599375-8803-2-git-send-email-ruslan.bilovol@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: William Wu <william.wu@rock-chips.com>
(cherry picked from commit 789ea77310)
2021-05-12 17:00:14 +08:00
Sandy Huang
1a81ee3e2d drm/rockchip: gem: add flag ROCKCHIP_BO_ALLOC_KMAP to assign kmap
RGA need to access CMA buffer at kernel space, so add this flag to keep kernel
line mapping for RGA.

Change-Id: Ia59acee3c904a495792229a80c42f74ae34200e3
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
2021-05-12 14:40:53 +08:00
Rikard Falkeborn
425876baa8 UPSTREAM: pinctrl: rk805: Constify rk805_gpio_cfgs
Mark pin_cfg as const, allowing the compiler to put the struct in
.rodata instead of .data.

Change-Id: Iffdf034cf756d73f3e4c050a1ac6a7a325299c29
Signed-off-by: Rikard Falkeborn <rikard.falkeborn@gmail.com>
Link: https://lore.kernel.org/r/20200425203813.6442-1-rikard.falkeborn@gmail.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
(cherry picked from commit 8068071c09)
2021-05-12 11:47:26 +08:00
Nishka Dasgupta
d20b7443fa UPSTREAM: pinctrl: rk805: Make structures constant
Static structures rk805_pinctrl_desc and rk805_gpio_chip, of types
gpio_chip and pinctrl_desc respectively, are not used except to be
copied into the fields of a different variable. Hence make
rk805_pinctrl_desc and rk805_gpio_chip both constant to protect them
from unintended modification.
Issue found with Coccinelle.

Change-Id: I63bf61b6aecaa095495157cd9eca6d8db5580fb8
Signed-off-by: Nishka Dasgupta <nishkadg.linux@gmail.com>
Link: https://lore.kernel.org/r/20190819075757.1753-1-nishkadg.linux@gmail.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
(cherry picked from commit 6e28aaab07)
2021-05-12 11:47:12 +08:00
Andy Yan
596d1eb25c drm/rockchip: vop2: Fix color_key_en register definition
It's a copy and paste mistake.

Change-Id: Ica36201dc9b463f2ff7dd6adb8253d09be66bf37
Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
2021-05-12 10:06:47 +08:00
Alpha Lin
4e73c1a959 rockchip: video: iep: enable blending and intra interp
Enable blending and intra interpolation by default.

Change-Id: I3f304714d630b4aab677ab6d09cfea514b03d7b1
Signed-off-by: Alpha Lin <alpha.lin@rock-chips.com>
2021-05-11 16:17:13 +08:00
Shawn Lin
9c21d0a139 mmc: dw_mmc: remove CMD23 support for sd cards
Some sd cards violate the spec. They claim to support CMD23
but actually not. We don't have a good method to work around
them except for adding MMC_QUIRK_BLK_NO_CMD23 one by one. But
it's not a acceptable way for our custmors. So removing CMD23
support for all sd cards to solve it.

Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com>
Change-Id: I006ee5d6c0035aed114cbdaac36cc854b9135f60
2021-05-11 16:16:26 +08:00
Zefa Chen
d4afea3931 media: i2c: imx317 fixed g_mbus_config error
Signed-off-by: Zefa Chen <zefa.chen@rock-chips.com>
Change-Id: I5e66d8f19740bb5c309b037fc6e706fc8b215b15
2021-05-11 14:11:19 +08:00
Dingxian Wen
879d0f3293 ARM: dts: rockchip: rk3288-evb-rk628-hdmi2csi-avb: enable isp_mmu
Signed-off-by: Dingxian Wen <shawn.wen@rock-chips.com>
Change-Id: I50eabee85a9e751c64ce80c5f1e13ff360ca8651
2021-05-10 14:38:25 +08:00
Dingxian Wen
8d8cdba8b7 media: i2c: rk628csi: upgrade the driver version to v0.0.3
Modify RK628_CSI_PIXEL_RATE_LOW to 400M.

Signed-off-by: Dingxian Wen <shawn.wen@rock-chips.com>
Change-Id: I024a0c24f7e61e9314e9e6f24c78f24ec403e4e4
2021-05-10 14:37:45 +08:00
Jon Lin
e63a36dcb0 soc: rockchip: mtd_vendor_storage: Change vendor storage item size realloc strategy
Item size is calculated according to the actual space used

Change-Id: I7133368130689f792f05e82fea04ebf16a755a37
Signed-off-by: Jon Lin <jon.lin@rock-chips.com>
2021-05-10 14:04:48 +08:00
Jon Lin
a7adc7ec80 soc: rockchip: flash_vendor_storage: Change vendor storage item size realloc strategy
Item size is calculated according to the actual space used

Change-Id: I7e4ce774a16d665a33e411991dc6dc767e1aba93
Signed-off-by: Jon Lin <jon.lin@rock-chips.com>
2021-05-10 14:04:37 +08:00
Caesar Wang
d753ba89d8 arm64: dts: rockchip: update rk3399-evb-ind-lpddr4-linux.dts
1) Support the usb hub on evb ind v13 board
2) enable i2s1

Signed-off-by: Caesar Wang <wxt@rock-chips.com>
Change-Id: If3f394da18f79a7d4800eeef97377893af31357b
2021-05-10 10:45:13 +08:00
William Wu
3dfc6a0180 usb: gadget: f_uvc: disallow the CPU to enter deeper sleep when streamon
I test on RK3399 IND EVB running Android R system, and
set the USB gadget as UVC function via configfs, both
the USB 2.0 and 3.0 UVC have preview abnormal problems.
If the CPU enter deeper sleep, the USB DMA transfer gets
corrupted, and the UVC ISOC transmission lost data.

This patch puts in a "pm_qos_latency" requirement which
will keep the CPU out of the deeper sleep states when
UVC stream on. And allow the CPU to enter deeper sleep
state after UVC stream off.

Change-Id: I808290f124c6a32da3888819348093a205bfad61
Signed-off-by: William Wu <william.wu@rock-chips.com>
2021-05-08 18:56:57 +08:00
William Wu
3b07017b96 usb: gadget: f_uvc: fix the superspeed ep companion descriptor
As per USB 3.1 spec "Table 9-26. SuperSpeed Endpoint Companion
Descriptor", the wBytesPerInterval must be set to zero for bulk
endpoints.

Change-Id: I2ec14ac0b0db1f4b5dc3bdbb61e3d2c02c63da23
Signed-off-by: William Wu <william.wu@rock-chips.com>
2021-05-08 18:56:57 +08:00
William Wu
3e41649e10 usb: gadget: get ep mult and maxburst for rockchip superspeed
For Rockchip platforms, they may need to get the mult and
maxburst of endpoints for USB superspeed gadget when bind
USB functions (e.g. uvc_function_bind), then the USB DWC3
controller can do Tx fifos resize properly for each endpoints.

Change-Id: I7baddbc0dc515c91d82ca4bc1960531919ed6008
Signed-off-by: William Wu <william.wu@rock-chips.com>
2021-05-08 18:56:57 +08:00
William Wu
23ce756d92 usb: dwc3: gadget: support tx fifos resize for superspeed
This patch supports tx fifos resize for superspeed, if needed.
And it limits the maximum fifo size to six times of the endpoint
maxpacket because of the limited dwc3 hardware fifos.

Change-Id: I69af3419ecdc7f5d0869ba5d2dce041e4d90fae7
Signed-off-by: William Wu <william.wu@rock-chips.com>
2021-05-08 18:56:57 +08:00
William Wu
f5a905b3ea phy: rockchip: naneng-combphy: adjust PLL parameters for USB
When do USB 3.0 Receiver Jitter Tolerance Test, it fails at
Sj Frequency 2.0/4.9/10.0 [MHz]. This patch adjusts the PLL
parameters for USB to pass the Receiver Jitter Tolerance Test,
and it's helpful to improve the USB 3.0 signal compatibility.

Change-Id: I58eb687a4677fe22cf5bc324578b033526310859
Signed-off-by: William Wu <william.wu@rock-chips.com>
2021-05-08 18:55:42 +08:00
Fenrir Lin
0676191edb media: rockchip: isp: fix the problem of no data when no reserved memory
Signed-off-by: Fenrir Lin <fenrir.lin@rock-chips.com>
Change-Id: Ia94a8032fae6c741376924c98dae336e4a9329bd
2021-05-08 15:35:39 +08:00
Zorro Liu
f5460d6a7f drm/rockchip: ebc_dev: release version v1.11
1.ebc buffer support cache for userspace
2.fix rkf waveform file parse tempeleture error

Signed-off-by: Zorro Liu <lyx@rock-chips.com>
Change-Id: Ib0b95e30a0ac1cc6cb9643b1c62ba506cbb92619
2021-05-08 14:58:47 +08:00
Elaine Zhang
c953ed2a09 UPSTREAM: clk: rockchip: support more core div setting
Use arrays to support more core independent div settings.
A55 supports each core to work at different frequencies, and each core
has an independent divider control.

Change-Id: I40dde15e25843090160bbc32d2de8e2cddffc96e
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
Acked-by: Stephen Boyd <sboyd@kernel.org>
Link: https://lore.kernel.org/r/20210315085608.16010-4-zhangqing@rock-chips.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
(cherry picked from commit a3561e77cf)
2021-05-08 14:15:15 +08:00