Commit Graph

1066174 Commits

Author SHA1 Message Date
Jon Lin
0a082fd9da PCI: rockchip: dw: Save&Restore L1SS in PM
Change-Id: I05c9787faff35e3ca4ea21b35261f4f7c3496fc8
Signed-off-by: Jon Lin <jon.lin@rock-chips.com>
2022-05-21 16:43:56 +08:00
Yu Qiaowei
a8d165418a video: rockchip: rga3: Fix physically contiguous memory missing dma_put
Signed-off-by: Yu Qiaowei <cerf.yu@rock-chips.com>
Change-Id: I053a3975619eec2788a67e1b22508c473b54291f
2022-05-21 16:37:19 +08:00
Jianqun Xu
6638888eeb drm/rockchip: use drm_gem_object_put to free object
Descripted in drm_gem_object structure description:

 * Reference count of this object
 *
 * Please use drm_gem_object_get() to acquire and drm_gem_object_put_locked()
 * or drm_gem_object_put() to release a reference to a GEM
 * buffer object.
 */
 struct kref refcount;

It's better to release object by drm_gem_object_put.

About the refcount for object of drm device,
  rockchip_gem_create_object    -> refcount = 1
  drm->driver->gem_prime_export -> refcount = 2

This patch will decrease a refcount from export, and decrease another
one in rockchip_drm_direct_show_free_buffer:

  drm_gem_dmabuf_release               -> refcount = 1
  rockchip_drm_direct_show_free_buffer -> refcount = 0

Tested by rockchip_drm_self_test.c.

Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
Change-Id: I812770ed832d71121aab5212d62b96815cbe2d68
2022-05-21 16:35:17 +08:00
Lyude Paul
c2d31c3bd7 UPSTREAM: drm/bridge/analogix/dp_core: Unregister DP AUX channel on error in analogix_dp_probe()
Just another drive-by fix I noticed while going through the tree to cleanup
DP aux adapter registration - make sure we unregister the DP AUX dev if
analogix_dp_probe() fails.

Signed-off-by: Lyude Paul <lyude@redhat.com>
Reviewed-by: Robert Foss <robert.foss@linaro.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20210219215326.2227596-14-lyude@redhat.com
(cherry picked from commit b3bdf89c02)
Change-Id: I874281fb7980372af9fa19965400f1b2fd00168e
2022-05-21 16:33:03 +08:00
Shunhua Lan
fe1fe371dc arm64: dts: rockchip: rk3588-evbs: enable dp0 sound card
Signed-off-by: Shunhua Lan <lsh@rock-chips.com>
Change-Id: Id1a8d26def060de71078621635de7c70bc7cd6c1
2022-05-21 16:30:18 +08:00
Shunhua Lan
f1147b3eb3 arm64: dts: rockchip: rk3588-evb: add spdif0 sound card and add mclk-fs property
Signed-off-by: Shunhua Lan <lsh@rock-chips.com>
Change-Id: If0b4f162fb9ac54b81ff4e109f8e843035d8a517
2022-05-21 16:29:53 +08:00
Jianqun Xu
8aaac87d71 arm64: configs: rockchip_defconfig set IOMMU IOVA ALIGN to 64KiB
Decrease the iommu iova alignment to 4 (means 64 KiB), to fix the
fragment in the video stress test.

Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
Change-Id: Ifdd9da0110a6ac14ad0d962394ab3e0a0cc5ff65
2022-05-21 15:06:55 +08:00
Lian Xu
ec704551c3 media: rockchip: isp: add the pause, config, resume stream for isp32
Change-Id: Ifd2ca42954f5efdfd4fd2b4abf42f740a5cd10f3
Signed-off-by: Lian Xu <xu.lian@rock-chips.com>
2022-05-21 15:03:59 +08:00
Jianqun Xu
6f2a765085 dma-buf: rk_heaps: allows sub heaps to add proc entry
Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
Change-Id: Iaf7aa874f156790edccf8b7c6711baf88218a065
2022-05-21 14:58:50 +08:00
Ziyuan Xu
6db606fa31 ARM: configs: rv1106-ipc.config: enable CONFIG_ROCKCHIP_OPP
Signed-off-by: Ziyuan Xu <xzy.xu@rock-chips.com>
Change-Id: I86384d21d3d92f10504f2bf8552c2ff7138700c1
2022-05-21 14:52:19 +08:00
Ziyuan Xu
8572c2e2b3 ARM: dts: rockchip: rv1106-ipc: enable cpu-supply for dvfs
Signed-off-by: Ziyuan Xu <xzy.xu@rock-chips.com>
Change-Id: I00faad3fdafa16695fe66b83965462f76b3d0096
2022-05-21 14:52:19 +08:00
Elaine Zhang
cb8b36d3db clk: rockchip: pll: support rk3588 pll clk compensation
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
Change-Id: I09b425a95d8ca0d707d86b09dc53ea63d10b5524
2022-05-20 16:42:47 +08:00
Zefa Chen
a4a620bb37 media: rockchip: vicap do software reset when size err occurs
Signed-off-by: Zefa Chen <zefa.chen@rock-chips.com>
Change-Id: I76b0af368dcbd504aeb00230493fda719297d985
2022-05-20 11:23:10 +08:00
Yifeng Zhao
2690864f78 scsi: sata: move device_init_wakeup form ahci_platform.c to sd.c
The "struct device *dev" in sd_resume is for the hard disk, and
the correct device needs to be initialized for pm_stay_awake.

Fixes: da1c2c4a2c ("scsi: sata: re enter sleep is prohibited during wake-up")
Signed-off-by: Yifeng Zhao <yifeng.zhao@rock-chips.com>
Change-Id: Ic6c4a340672605ac64fc0778f6938898dee1b8eb
2022-05-19 20:17:44 +08:00
XiaoDong Huang
2c8328c3f1 soc: rockchip: rk_fiq_debugger: change parameter type of fiq_debugger_uart_irq_tf
"struct pt_regs" is big data structure, so pass a "struct pt_regs *"
parameter is a better choice.

Change-Id: I2bef0f2cf4332c61bc6a5a0717de66db221b836d
Signed-off-by: XiaoDong Huang <derrick.huang@rock-chips.com>
2022-05-19 19:52:31 +08:00
XiaoDong Huang
81bad55a0c firmware: rockchip_sip: define fiq_pt_regs as a global variable
"fiq_pt_regs" is a big data structures, so it'll save
lots of stack space if define "fiq_pt_regs" as a global
variable instead of a local variable.

Change-Id: Id447c41009fc4454bc821c194e9d50ec00087754
Signed-off-by: XiaoDong Huang <derrick.huang@rock-chips.com>
2022-05-19 19:52:30 +08:00
Chen Shunqing
4c2c5e87e1 media: rockchip: hdmirx: add interface for user to set EDID
Signed-off-by: Chen Shunqing <csq@rock-chips.com>
Change-Id: I6fd46c472a35e13db55dc67de34943e7f2194a1c
2022-05-19 19:44:07 +08:00
Finley Xiao
e39a6e8221 arm64: dts: rockchip: rk3588s: Add rockchip,opp-shared-dsu for cpul
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
Change-Id: I0a9b92514cd50b3a7428844b512d20de6a80eb8f
2022-05-19 19:22:43 +08:00
Finley Xiao
5aae99103c cpufreq: rockchip: Add support to change dsu rate according to cpub rate
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
Change-Id: I2784763f4975c5293e4c1c03c43b83ebb004835f
2022-05-19 19:22:43 +08:00
Ziyuan Xu
24d76c3ea6 pwm: rockchip: register pwm_chip via OF aliases
Signed-off-by: Ziyuan Xu <xzy.xu@rock-chips.com>
Change-Id: Ie6e348062ca7e8411330864f95898ec96127c69e
2022-05-19 16:47:37 +08:00
Sugar Zhang
ed2568914a ARM: dts: rockchip: rv1106: Add aliases for PWMx
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
Change-Id: I0bde4ed3bbdabf26ca2048eefa877ebb99649631
2022-05-19 16:42:52 +08:00
Yu Qiaowei
ad3be4b3e8 video: rockchip: rga3: Fix wrong header dependencies
Signed-off-by: Yu Qiaowei <cerf.yu@rock-chips.com>
Change-Id: Ib3c47a36791aa83d2a9d949cb1ed5cb619011a1a
2022-05-19 14:21:52 +08:00
Ziyuan Xu
87dc0474c7 ARM: dts: rockchip: rv1103-evb-v10: enable cpu-supply for dvfs
Signed-off-by: Ziyuan Xu <xzy.xu@rock-chips.com>
Change-Id: I4060435493846fb0c3033d25d1c4952bdc3f09a5
2022-05-19 14:20:49 +08:00
Chris Zhong
65d8b32df9 arm64: configs: rockchip_linux_defconfig: enable EFI
Signed-off-by: Chris Zhong <zyw@rock-chips.com>
Change-Id: Ic274e1cc81f6457a03477791bd1b63fcbbb25f42
2022-05-19 14:08:42 +08:00
Finley Xiao
a2328c4f99 PM / devfreq: rockchip_dmc: Get policy when need to increase cpu frequency
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
Change-Id: I60d1e7b129b56502d054f041a29438bd37e917ae
2022-05-18 20:50:47 +08:00
Tao Huang
c12aebd032 rockchip: cpu: soc_is_xxx() depends on CPU config
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
Change-Id: Id32ac13361edf2b06b4747f0a52175f258654252
2022-05-18 19:53:55 +08:00
Wyon Bi
7e5c72a3e6 drm/bridge: Add support for Maxim MAX96745
The MAX96745 convert DP1.4 and eDP1.4a to single or dual GMSL2 serial.

Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
Change-Id: I63951d28b4f8e6be6d1671650cee208ff0760e95
2022-05-18 19:18:35 +08:00
Wyon Bi
f775e6b074 pinctrl: Add support for Maxim MAX96745 pin controller
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
Change-Id: I1c1c5cc76449d094dd92347c20695a97c32ee4e4
2022-05-18 19:18:35 +08:00
Wyon Bi
83451397e8 mfd: Add support for Maxim MAX96745
The MAX96745 and MAX96747 convert DP1.4 and
eDP1.4a to single or dual GMSL2 serial. They also send
and receive control channel and peripheral control data,
enabling bidirectional transmission of video and data over
cables in excess of 15 meters in length.

Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
Change-Id: I59a338b0ef092bde1d1a444600acd92348cc9443
2022-05-18 19:18:35 +08:00
Wyon Bi
24af5158d9 drm/bridge: Add support for Maxim MAX96752F
The MAX96752F deserializers convert a single- or
dual-link GMSL2 serial input to single or dual OLDI.

Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
Change-Id: Ic0582fa9ce077e0af79ecd0d63af38b23feb7265
2022-05-18 19:18:35 +08:00
Wyon Bi
673d3358b0 gpio: Add support for Maxim MAX96752F GPIO controller
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
Change-Id: Ib94de1c8ac1af44f0f3b61aa5eccff8dda741450
2022-05-18 19:18:35 +08:00
Wyon Bi
530d7e8c7c pinctrl: Add support for Maxim MAX96752F pin controller
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
Change-Id: I6a0a38a64f139adc3630895aefc10e2b37449f1e
2022-05-18 19:18:35 +08:00
Wyon Bi
ad3d90b0ba mfd: Add support for Maxim MAX96752F
The MAX96752F/MAX96754F deserializers convert a
single- or dual-link GMSL2 serial input to single or dual
OLDI. They also send and receive side-channel and
peripheral control data, enabling full-duplex, single wire,
bidirectional transmission of video and data over 15
meter cables.

Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
Change-Id: Ibac9f881bd832e96a8606b9f6492e80f8d2494c6
2022-05-18 19:18:35 +08:00
Finley Xiao
b1244ddff6 cpufreq: dt-platdev: Add rk3308 project into blacklist
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
Change-Id: I5f7f76f85fc01359b9245e059edb6c9a3dcb5d5c
2022-05-18 18:31:15 +08:00
Shiqin Chen
fb4a5d99b3 media: i2c: add sc301iot sensor driver
Signed-off-by: Shiqin Chen <chensq@rock-chips.com>
Change-Id: I6a141751e3ba070b06e0c95ce170e37fb348d48f
2022-05-18 18:25:52 +08:00
Yandong Lin
38904b5524 video: rockchip: dvbm: do not power on dvbm in case of soft dvbm
The dvbm does not work, so there is no need to poweron.

Signed-off-by: Yandong Lin <yandong.lin@rock-chips.com>
Change-Id: I5405e884ddec28da2796e7ce1a5bb0f96d663f11
2022-05-18 17:28:40 +08:00
Sisyphean Zhou
c661c28955 ARM: dts: rockchip: Add basic support for rv1106 smart door lock rmsl board
Signed-off-by: Sisyphean Zhou <sisyphean.zhou@rock-chips.com>
Change-Id: Idd6f2649b60e7c99c919e37bda3d81f65b0f89dd
2022-05-18 16:32:50 +08:00
Zhang Yubing
af0532f8a6 drm/rockchip: vop2: remove the clk limit for dp interfce
When a video port just connect to dp and without hdmi, it still
can use hdmi phy pll as clk source if the pixel clk more than
600MHz.

Signed-off-by: Zhang Yubing <yubing.zhang@rock-chips.com>
Change-Id: I975a0faaad867361c0888b795e9369ca1381634f
2022-05-18 15:34:25 +08:00
Algea Cao
600290f3f6 drm/edid: Support parsing multiple cea blocks
Current code only supports parsing the first CEA block.
But CTS requires parsing multiple blocks.

Signed-off-by: Algea Cao <algea.cao@rock-chips.com>
Change-Id: I3c4b15fd5f0f08419aa540007722387bee921286
2022-05-18 15:11:40 +08:00
Yu Qiaowei
b3873e3cc3 video: rockchip: rga3: Reduce unnecessary ktime_get()
Signed-off-by: Yu Qiaowei <cerf.yu@rock-chips.com>
Change-Id: I2de68250295e98089ad189b0b73dcbba81584522
2022-05-18 15:07:50 +08:00
Yu Qiaowei
522c3e520e video: rockchip: rga3: disable signal interruptible
Signed-off-by: Yu Qiaowei <cerf.yu@rock-chips.com>
Change-Id: I708c7a469ccc8477a7b8db018796eb3ff04fc77b
2022-05-18 15:07:50 +08:00
Frank Wang
6f8289384d phy: rockchip: inno-usb2: support rk3308bs tuning
Tuning pre-emphasis and other properties for RK3308BS SoCs.

Signed-off-by: Frank Wang <frank.wang@rock-chips.com>
Change-Id: If7bb89c04a487c54bcca81d2cdaa9ee9bb26533f
2022-05-18 14:36:18 +08:00
Finley Xiao
aa9b5f923d nvmem: rockchip-otp: Add support for rk3308bs-otp
This adds the necessary data for handling otp on the rk3308bs.

Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
Change-Id: If146859d4c275bbd9ef80653d8ef206b573e0b77
2022-05-18 14:14:48 +08:00
Finley Xiao
fd7fa23ef9 nvmem: rockchip-otp: Add support for px30s otp
This adds the necessary data for handling efuse on the px30s.

Change-Id: Iaa509d8d22102ff4d054e855d330792f0da8f382
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
2022-05-18 14:14:48 +08:00
Simon Xue
a1f11e3538 iio: adc: rockchip_saradc: fix rv1106 channel config
Fixes: 05108c78b2 ("iio: adc: rockchip_saradc: add rv1106")
Change-Id: I357ad0c553fa3e555675c9bee3f56bf432916a3c
Signed-off-by: Simon Xue <xxm@rock-chips.com>
2022-05-18 11:22:39 +08:00
Jianqun Xu
08fe1afbb0 ASoC: codecs: rk3308_codec check version early
Fix error case for rk3308 codec driver before support rk3308bs.

[    0.469254] Unable to handle kernel paging request at virtual address ffffffc1108ef861
[    0.469970] Mem abort info:
[    0.470223]   ESR = 0x96000045
[    0.470500]   EC = 0x25: DABT (current EL), IL = 32 bits
[    0.470966]   SET = 0, FnV = 0
[    0.471240]   EA = 0, S1PTW = 0
[    0.471524] Data abort info:
[    0.471788]   ISV = 0, ISS = 0x00000045
[    0.472137]   CM = 0, WnR = 1
[    0.472404] swapper pgtable: 4k pages, 39-bit VAs, pgdp=0000000000a8f000
[    0.472999] [ffffffc1108ef861] pgd=0000000000000000, p4d=0000000000000000, pud=0000000000000000
[    0.473780] Internal error: Oops: 96000045 [#1] PREEMPT SMP
[    0.474279] Modules linked in:
[    0.474563] CPU: 1 PID: 7 Comm: kworker/u8:0 Not tainted 5.10.66 #244
[    0.475137] Hardware name: Rockchip RK3308B-S evb analog mic v11 board (DT)
[    0.475772] Workqueue: events_unbound deferred_probe_work_func
[    0.476300] pstate: 00000085 (nzcv daIf -PAN -UAO -TCO BTYPE=--)
[    0.476839] pc : queued_spin_lock_slowpath+0x164/0x374
[    0.477301] lr : _raw_spin_lock_irqsave+0x94/0xa4
[    0.477714] sp : ffffffc010b33c00
[    0.478010] x29: ffffffc010b33c00 x28: ffffffc010906000
[    0.478484] x27: 0000000000000402 x26: ffffff8001008020
[    0.478957] x25: 000000000100500d x24: 0000000000000002
[    0.479430] x23: ffffff8001076d10 x22: 0000000000000000
[    0.479903] x21: ffffffc010a1e108 x20: 0000000000000000
[    0.480376] x19: 0000000000000000 x18: 0000008000000000
[    0.480849] x17: 000000000000002c x16: 0000000000000000
[    0.481322] x15: ffffffc010908a70 x14: 0000000100000001
[    0.481794] x13: ffffffc0108ef860 x12: 0000000000080000
[    0.482267] x11: ffffff801fe6b848 x10: ffffff801fe6b840
[    0.482740] x9 : ffffffc0108ef840 x8 : ffffff80013e50c8
[    0.483212] x7 : ffffffc010813000 x6 : ffffffc010a99000
[    0.483683] x5 : 000000008020001d x4 : 0000000000000000
[    0.484156] x3 : 000000000000000a x2 : ffffffc010356c3c
[    0.484629] x1 : 00000000013e50c8 x0 : ffffff80013e50c8
[    0.485102] Call trace:
[    0.485328]  queued_spin_lock_slowpath+0x164/0x374
[    0.485756]  klist_next+0x2c/0x104
[    0.486070]  device_for_each_child+0x44/0xac
[    0.486456]  device_reorder_to_tail+0x48/0x8c
[    0.486851]  device_for_each_child+0x58/0xac
[    0.487235]  device_reorder_to_tail+0x48/0x8c
[    0.487629]  device_pm_move_to_tail+0x34/0x68
[    0.488024]  deferred_probe_work_func+0x80/0xc4
[    0.488432]  process_one_work+0x178/0x2f0
[    0.488794]  worker_thread+0x268/0x3dc
[    0.489136]  kthread+0x124/0x2a8
[    0.489437]  ret_from_fork+0x10/0x30

Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
Change-Id: I77acd84a7aed7e8a3cff9ddee8688d5e55b15278
2022-05-17 18:31:02 +08:00
Jianqun Xu
cee66b463f arm64: configs: rk3308_linux_defconfig: select ROCKCHIP_CPUINFO
+CONFIG_ROCKCHIP_CPUINFO=y

default y on 4.19.

Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
Change-Id: I721884cdaab5f9ee0552d267cdadaa66610755ba
2022-05-17 18:16:40 +08:00
Wyon Bi
8debb7192f drm/bridge: analogix_dp: Check if connector type is valid
Fixes: 43f938cfbb ("drm/rockchip: analogix_dp: Support DP connector")
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
Change-Id: I8d3bbdead2d1128cfac0f7dfa8df38be58be6da9
2022-05-17 18:11:41 +08:00
ZiHan Huang
0a62e4a375 Revert "video: rockchip: mpp: write a sem around session dma operations"
This reverts commit ffc8225221.

Signed-off-by: ZiHan Huang <zack.huang@rock-chips.com>
Change-Id: I2272f489cf2a3b4bd3d36ff02c2c16fee8beb089
2022-05-17 18:10:54 +08:00
Zain Wang
cd340ba466 power: supply: sc8886: stop probe when battery was no found
SC8886 will shutdown the output off in these cases
when battery was removed:
1. INPUT CRRENT is set to 0. In Battery system, battery
would take over system supply, but in no battery system,
it would restart due to system poweroff.

2. VBat is higher than VSysmin, sc8886 would switch
system supply to VBat, But in no battery system, there
is just a capacitance, the voltage of capacitance would
be pull down quickly when supply switch and it make
system restart.

Signed-off-by: Zain Wang <wzz@rock-chips.com>
Change-Id: I0398d55d511254821744c4e7d4448ef4605af509
2022-05-17 17:15:30 +08:00