Commit Graph

602943 Commits

Author SHA1 Message Date
Mark Yao
93f90ec2cb video/rockchip: rga2: correct BGRA stride
Change-Id: I019e2e410936f43b244ddde260cbd51c16a175e4
Signed-off-by: Mark Yao <mark.yao@rock-chips.com>
2017-08-09 15:03:37 +08:00
Finley Xiao
a54bcc81e0 PM / devfreq: rockchip_dmc: Fix locking when rounding rate
There's no need to take the rcu read lock when rounding rate.

This patch fixes the following BUG:
BUG: sleeping function called from invalid context at kernel/locking/mutex.c:620
in_atomic(): 0, irqs_disabled(): 0, pid: 153, name: kworker/u16:2
5 locks held by kworker/u16:2/153:
 #0:  ("%s"("devfreq_wq")){......}, at: [<ffffff80080b8cf4>] process_one_work+0x1c4/0x58c
 #1:  ((&(&devfreq->work)->work)){......}, at: [<ffffff80080b8cf4>] process_one_work+0x1c4/0x58c
 #2:  (&devfreq->lock){......}, at: [<ffffff80089534c8>] devfreq_monitor+0x28/0x8c
 #3:  (&vop->vop_lock){......}, at: [<ffffff80084c826c>] dmc_notifier_call+0x14/0x34
 #4:  (rcu_read_lock){......}, at: [<ffffff80089557f0>] rockchip_dmcfreq_target+0x0/0x2e0
CPU: 3 PID: 153 Comm: kworker/u16:2 Not tainted 4.4.77 #2573
Hardware name: Rockchip Sheep board (DT)
Workqueue: devfreq_wq devfreq_monitor
Call trace:
[<ffffff8008089930>] dump_backtrace+0x0/0x1c8
[<ffffff8008089b0c>] show_stack+0x14/0x1c
[<ffffff800839718c>] dump_stack+0x8c/0xac
[<ffffff80080c8d5c>] ___might_sleep+0x11c/0x128
[<ffffff80080c8ddc>] __might_sleep+0x74/0x84
[<ffffff8008c371a4>] mutex_lock_nested+0x4c/0x39c
[<ffffff80089458d8>] clk_prepare_lock+0x58/0xc8
[<ffffff8008946ec8>] clk_round_rate+0x34/0x94
[<ffffff800895589c>] rockchip_dmcfreq_target+0xac/0x2e0
[<ffffff80089533f4>] update_devfreq+0x100/0x1ac
[<ffffff80089534d0>] devfreq_monitor+0x30/0x8c
[<ffffff80080b8e1c>] process_one_work+0x2ec/0x58c
[<ffffff80080ba16c>] worker_thread+0x300/0x428
[<ffffff80080bf3e0>] kthread+0x104/0x10c
[<ffffff8008082840>] ret_from_fork+0x10/0x50

Change-Id: I31f75a55da72cab597796edd5c339222094fff97
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
2017-08-09 12:48:20 +08:00
Zhen Chen
f52f7396d8 ARM: dts: rk312x: add node for GPU
Change-Id: If5942626e2d99fcfd341cbceec3b367d0e9def1a
Signed-off-by: Zhen Chen <chenzhen@rock-chips.com>
2017-08-09 11:43:16 +08:00
Mark Yao
b34356fc63 drm/rockchip: vop: zpos set to INT_MAX if not enabled
Change-Id: Ia78c26f400d0cc4192cae183f83b7f06575c9332
Signed-off-by: Mark Yao <mark.yao@rock-chips.com>
2017-08-09 09:39:27 +08:00
Mark Yao
2421f54c77 drm/rockchip: vop: correct win23 alpha define
Change-Id: I3e3bfbb9164b35a9f96d4bc71ab4c023d8270fc5
Signed-off-by: Mark Yao <mark.yao@rock-chips.com>
2017-08-09 09:38:37 +08:00
Sandy Huang
59971be7a4 drm/rockchip: lvds: mipi_lvds_ctl set to mipi dsi controller base address
So we can define reg offset according to TRM, otherwise it will make
us confused.

Change-Id: I1687542fcaf7ac4e6e78d863e8940f6604794407
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
2017-08-09 09:33:42 +08:00
Sandy Huang
5d365c42c8 drm/rockchip: lvds: update rk336x according rk3288 lvds function define
Change-Id: I9dbb9dc55f3d6d7ae498e94f595e8de47c6a4d43
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
2017-08-09 09:33:32 +08:00
Tao Huang
1f579ea18f Revert "sched/tune: Initialize raw_spin_lock in boosted_groups"
This reverts commit 9a9259a78c.

It seems schedtune_init_cgroups and schedtune_boostgroup_init
all call raw_spin_lock_init(&bg->lock), it is wrong.

Change-Id: Icbdfeaf81f4fb59fdcc02623ac5e26d41bd1e496
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
2017-08-09 09:22:46 +08:00
Finley Xiao
46bc7979ad arm64: dts: rockchip: rk3399: modify gpu opp table
As gpu clock sources had been changed, the gpu frequencies also
should modifiy.
1. 297MHz is not support and replace it with 300MHz.
2. If enable tow vops, 500MHz is not support,
   so remove it from the default table.

Change-Id: If2a653571f0222e895f7df825eeb8ae43ce99332
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
2017-08-08 15:41:22 +08:00
WeiYong Bi
89b7ad3a8e drm/rockchip: dsi: partial revert commit 47aef8
fix anomaly display issue for rk3368 caused by commit 47aef8

Fixes 47aef8 (drm/rockchip: dw-mipi-dsi: organize dw_mipi_dsi_set_mode function)

Change-Id: Ida274c65898b13468a2f984555efdf67cf32aab7
Signed-off-by: WeiYong Bi <bivvy.bi@rock-chips.com>
2017-08-08 15:31:13 +08:00
Jianqun Xu
179afdb660 ARM: dts: rockchip: rk3288 add efuse_id for cpuinfo
Add efuse_id for cpuinfo to get system serial number.

Change-Id: If197c2961611364a2cb94972c33171bea105c61b
Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
2017-08-08 11:31:41 +08:00
Zheng Yang
0a261ab9b1 drm/rockchip: hdmi: fix parse phy table error
The value of sym_ctr and term is reversed.

Change-Id: I29adaf9a8590ff27c912d22e2370db2ef5b2c305
Signed-off-by: Zheng Yang <zhengyang@rock-chips.com>
2017-08-07 18:40:02 +08:00
Huibin Hong
1900a271f7 ARM: dts: rockchip: rk322x: add spi node and spi pinctrl
Change-Id: I5bf28e2319ceb90bdc52d732cce2f646b29cae36
Signed-off-by: Huibin Hong <huibin.hong@rock-chips.com>
2017-08-07 18:07:06 +08:00
Finley Xiao
4ba32acffe ARM: dts: rockchip: rk3288-andriod: fix dmc auto-min-freq
Change-Id: Iaaa3c7cd250b92c36bf16b294fc14779e5aa3996
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
2017-08-07 18:06:30 +08:00
Tao Huang
c59177a487 sched/fair: fix start_cpu lockdep warning
Should warn on !rcu_read_lock_sched_held.

Change-Id: Id4b38e8c2dee83aedb4b7a2f19588b31b07c1116
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
2017-08-07 16:59:52 +08:00
WeiYong Bi
9288502dd4 phy: rockchip-inno-mipi-dphy: enable PLL only when the PHY is power on
Change-Id: I6ff1a0a533a9f45f13d5be39fd5f68b5a0e18deb
Signed-off-by: WeiYong Bi <bivvy.bi@rock-chips.com>
2017-08-05 10:21:50 +08:00
Mark Yao
b3702b38a1 drm/rockchip: vop: fixup post scale configure
Fixes: 7f1f1ef ("drm/rockchip: vop: don't force enable post scale")
Change-Id: I57b44e7fe00bce7615ecde2e1f23837c74532c68
Signed-off-by: Mark Yao <mark.yao@rock-chips.com>
2017-08-04 17:12:00 +08:00
zzc
f62b360d66 net: wireless: rockchip_wlan: add rtl8723bs support
update rtl8723bs wifi driver to version v4.4.2_17831.20160519_BTCOEX20151223-654a

Change-Id: I1976f1ece2f318ab7eb11308bc019691ff84d319
Signed-off-by: zzc <zzc@rock-chips.com>
2017-08-04 16:13:31 +08:00
Jacob Chen
4fd28eafda dt-bindings: Document the Rockchip RGA bindings
Add DT bindings documentation for Rockchip RGA

Change-Id: Ie53383728c30a1245cd26a097622d3a564db7aa2
Signed-off-by: Yakir Yang <ykk@rock-chips.com>
Signed-off-by: Jacob Chen <jacob2.chen@rock-chips.com>
2017-08-04 15:39:19 +08:00
Jacob Chen
ad9703226a FROMLIST: rockchip/rga: v4l2 m2m support
Rockchip RGA is a separate 2D raster graphic acceleration unit. It
accelerates 2D graphics operations, such as point/line drawing, image
scaling, rotation, BitBLT, alpha blending and image blur/sharpness

The drvier is mostly based on s5p-g2d v4l2 m2m driver
And supports various operations from the rendering pipeline.
 - copy
 - fast solid color fill
 - rotation
 - flip
 - alpha blending

The code in rga-hw.c is used to configure regs accroding to operations
The code in rga-buf.c is used to create (1-Level)mmu table for RGA
The tables is stored in a list, and be removed when buffer is cleanup
(am form https://patchwork.linuxtv.org/patch/42846/)

Change-Id: I3ddd885beb2388be2ef23fe75806719d1fda8695
Signed-off-by: Jacob Chen <jacob-chen@iotwrt.com>
Signed-off-by: Jacob Chen <jacob2.chen@rock-chips.com>
2017-08-04 15:39:06 +08:00
Jacob Chen
10a0fcf693 FROMLIST: v4l: add porter duff blend controls
At peresent, we don't have a control for Compositing and Blend.
All drivers are just doing copies while actually many hardwares
supports more functions.

So Adding V4L2 controls for Compositing and Blend, used for for
composting streams.
(am from https://patchwork.linuxtv.org/patch/42848/)
The values are based on porter duff operations.
Defined in below links.
https://developer.xamarin.com/api/type/Android.Graphics.PorterDuff+Mode/

Change-Id: I16245fc8389a433ebdcb228081a80daa48e8c539
Suggested-by: Nicolas Dufresne <nicolas@ndufresne.ca>
Signed-off-by: Jacob Chen <jacob-chen@iotwrt.com>
Signed-off-by: Jacob Chen <jacob2.chen@rock-chips.com>
2017-08-04 15:38:54 +08:00
Jacob Chen
b466f888ab arm64: dts: rk3399: change rga node for v4l2 rga
remove some unnecessary prop

Change-Id: I37c841b6048fcacaa7442cfc23872e2ccaf92e6c
Signed-off-by: Jacob Chen <jacob2.chen@rock-chips.com>
2017-08-04 15:37:47 +08:00
Jacob Chen
c8798f6bc8 ARM: dts: rk3288: change rga node for v4l2 rga
remove some unnecessary prop

Change-Id: Ibdb8e781d7a6ab6ede4041f8e78f9c61674da498
Signed-off-by: Jacob Chen <jacob2.chen@rock-chips.com>
2017-08-04 15:36:47 +08:00
Jacob Chen
84c8570015 ARM: rockchip_linux_defconfig: change to use v4l2 rga
At present no component in linux depend on drm RGA, i'd like to remove it

Change-Id: I92e12e716e881463985fdf7c1430d47e34ba4155
Signed-off-by: Jacob Chen <jacob2.chen@rock-chips.com>
2017-08-04 15:34:53 +08:00
Jacob Chen
94d97ff487 arm64: rockchip_linux_defconfig: change to use v4l2 rga
At present no component in linux depend on drm RGA, i'd like to remove it

Change-Id: Ibf531641d3dd30bd87f83dbfe1fd06af2d3dffcb
Signed-off-by: Jacob Chen <jacob2.chen@rock-chips.com>
2017-08-04 15:33:41 +08:00
Jacob Chen
2792966e9f drm/rockchip: remove rga driver
we have to many rga drivers.. let's remove it to avoid misunderstanding

Change-Id: I807c9ff7dc967a00d30ccba5adc5d234e27b9d6a
Signed-off-by: Jacob Chen <jacob2.chen@rock-chips.com>
2017-08-04 15:33:02 +08:00
WeiYong Bi
fdb1767c62 arm64: dts: rockchip: rk3399: Correct DPHY PLL clock
clk_24m --> Gate --> clk_mipidphy_ref --> Gate --> clk_dphy_pll

Change-Id: Icb5283c0854a475a5f2fc436e7d4448393b5ac95
Signed-off-by: WeiYong Bi <bivvy.bi@rock-chips.com>
2017-08-04 15:30:30 +08:00
WeiYong Bi
deeacfd957 drm/rockchip: dsi: fix Non-SNPS PHY power on sequence
Change-Id: If9f131ec6ebc8b194034bf231ca2bcc120440860
Signed-off-by: WeiYong Bi <bivvy.bi@rock-chips.com>
2017-08-04 09:16:10 +08:00
Huang Jiachai
c4e97a6379 drm/rockchip: get connector in bridge mode
Change-Id: I08535f5c2d83783dc86ae641daeb530dedec36e6
Signed-off-by: Huang Jiachai <hjc@rock-chips.com>
2017-08-03 20:25:32 +08:00
Huang Jiachai
b05ec6d240 drm/rockchip: add loader protect for encoder
Change-Id: I9fa1e949a55d8778b44ff809630337d5d35ffa11
Signed-off-by: Huang Jiachai <hjc@rock-chips.com>
2017-08-03 20:23:17 +08:00
Huang Jiachai
bc85c7c3f1 drm/rockchip: lvds: support external bridge
Change-Id: If4a0da37f8c2062d0efd09bf71cd566091043127
Signed-off-by: Huang Jiachai <hjc@rock-chips.com>
2017-08-03 20:22:41 +08:00
Huang Jiachai
ee5e55c9d8 drm/rockchip: lvds move dpms/commit to enable ops
Change-Id: I23d9f2ebdcd55ecd2a3922cc3e06bb162a68b6e5
Signed-off-by: Huang Jiachai <hjc@rock-chips.com>
2017-08-03 20:22:13 +08:00
Jerry Xu
5f645699fa drm/panel: simple: Documentation: add description of same properties
Change-Id: I94eba21a76c10b7ce71031c2070388642f4cabbe
Signed-off-by: Jerry Xu <xbl@rock-chips.com>
2017-08-03 20:20:16 +08:00
Jerry Xu
fef67c9f79 ARM64: dts: rockchip: modify the name of the delay time for panel
Change-Id: Ia5be1987321873273f5ebbe79270bb66375acba6
Signed-off-by: Jerry Xu <xbl@rock-chips.com>
2017-08-03 20:19:11 +08:00
Jerry Xu
ed916d6f80 ARM: dts: rk3288-x7811-rk818-dual-dsi: modify the link of the panel node
Change-Id: Iefe04a23ff8e922a89bf86ea7d9a672c5743f012
Signed-off-by: Jerry Xu <xbl@rock-chips.com>
2017-08-03 20:18:56 +08:00
Jerry Xu
b4ee7af427 drm/rockchip: dw-mipi-dsi: configure grf register for 3399
1. Fixes: 6cd4eabae71d("drm/rockchip: dw-mipi-dsi: add dual-channel dsi support")
2. add for dual-channel dsi

Change-Id: I69a25fcf8087872f3e7d254f4606ea08e458c295
Signed-off-by: Jerry Xu <xbl@rock-chips.com>
2017-08-03 20:14:13 +08:00
zzc
9b18f3c7d7 net: rfkill-wlan: fix read wifi mac address failed
Change-Id: I4eea5e32a063bca45671c8a70d48b26bb2e7bd44
Signed-off-by: zzc <zzc@rock-chips.com>
2017-08-03 14:45:58 +08:00
Jerry Xu
a18191caed drm/rockchip: dw-mipi-dsi: modify the way to find the panel node
Change-Id: Ib88c11d5c44d9dc465604ddf9b00e361ff7ac958
Signed-off-by: Jerry Xu <xbl@rock-chips.com>
2017-08-03 11:48:47 +08:00
Wenping Zhang
9b7f48e8f9 ARM: dts: rk322x: add reboot mode support.
Change-Id: I5018ba43bb8dbdadbb7273042ac4237a1663168a
Signed-off-by: Wenping Zhang <wenping.zhang@rock-chips.com>
2017-08-03 09:39:33 +08:00
Finley Xiao
b260ef595e drm/rockchip: vop: Fix unregister devfreq notifier unsuccessfully
Change-Id: I0d1e02eea2af59d63ea2948e14277aa6ad9955b6
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
2017-08-02 21:31:11 +08:00
WeiYong Bi
711854d234 arm64: dts: rockchip: rk3399: Correct reset-names for dsi
Change-Id: Icf9b7e6dd7e1f660ca109dae4d13a9b0c6192ae3
Signed-off-by: WeiYong Bi <bivvy.bi@rock-chips.com>
2017-08-02 16:42:06 +08:00
Randy Li
dfe4c72f15 arm64: rockchip_linux_defconfig: disable unless options
Those driver will never be used at rockchip platform and features
may not be widely used is disabled this time.

1. Ethernet drivers for the other platforms.
2. Network features which are used for IPSec(VPN), bandwidth
control or network management.
3. Disable strange input devices.
4. Disable those filesystems only used for special purposes.
5. Some misc devices only used in a few situations.
6. Disable all the security model except the unix default.

Change-Id: Iba9cef28099e6db4c44378fbb1a99c8d9a220847
Signed-off-by: Randy Li <randy.li@rock-chips.com>
2017-08-02 16:29:37 +08:00
Mark Yao
e7bf29dec5 drm: fix mutex lock on connector register
Fixes: c4a3cc5 ("drm: Paper over locking inversion after registration rework")
Change-Id: I43c8ec8ed7e21416a1e2531cd84d04ba148ad0c4
Signed-off-by: Mark Yao <mark.yao@rock-chips.com>
2017-08-02 14:20:00 +08:00
Mark Yao
1089d61863 drm/rockchip: vop: reference vblank before queue to flip worker
Reference vblank after the fb_unref_worker may have a problem:
    queue fb_unref_work
                         <--- unfer_worker:drm_crtc_vblank_put()
    drm_crtc_vblank_get

Following Warning may cause by this race:

[11749.638812] WARNING: at drivers/gpu/drm/drm_irq.c:1272
[11749.638818] Modules linked in:
[11749.638825]
[11749.638833] CPU: 4 PID: 8446 Comm: kworker/u12:1 Not tainted 4.4.77 #2428
[11749.638841] Hardware name: Rockchip RK3399 Excavator Board edp (Android) (DT)
[11749.638864] Workqueue: events_unbound flip_worker
[11749.638873] task: ffffffc0f1a7db00 ti: ffffffc0da3f8000 task.ti: ffffffc0da3f8000
[11749.638884] PC is at drm_vblank_put+0x34/0xac
[11749.638890] LR is at drm_crtc_vblank_put+0x20/0x2c
[11749.642771] [<ffffff8008473cb0>] drm_vblank_put+0x34/0xac
[11749.642778] [<ffffff8008473d48>] drm_crtc_vblank_put+0x20/0x2c
[11749.642786] [<ffffff80084a2894>] vop_fb_unref_worker+0x14/0x28
[11749.642792] [<ffffff800848c2a0>] flip_worker+0xa8/0xe8
[11749.642801] [<ffffff80080b73f4>] process_one_work+0x218/0x3e0
[11749.642808] [<ffffff80080b7df4>] worker_thread+0x2e8/0x404
[11749.642814] [<ffffff80080bc738>] kthread+0xf8/0x100
[11749.642821] [<ffffff8008082840>] ret_from_fork+0x10/0x50

Change-Id: I2b7f8a84d18e4635122b5028d39ec8192c6ca70b
Signed-off-by: Mark Yao <mark.yao@rock-chips.com>
2017-08-02 14:19:55 +08:00
ZhuangXiaoLiang
193c4f6202 RK3368 GPU: Update to Rogue 5.12.
1. PP_fix_KM patch from IMG.
2. Fix PVRSRVDevicePreClockSpeedChange failed.

Change-Id: I8380b5b90a1a493f15cee73fd272b6eeaf5b8135
Signed-off-by: ZhuangXiaoLiang <zhuangxl@rock-chips.com>
2017-08-02 11:52:02 +08:00
ZhuangXiaoLiang
4f7f139ff8 arm64: configs: rockchip_defconfig enable PowerVR G6110.
Change-Id: Iae2151ddf2a75c1257bdae16faa3aaad860326a0
Signed-off-by: ZhuangXiaoLiang <zhuangxl@rock-chips.com>
2017-08-02 11:52:02 +08:00
ZhuangXiaoLiang
418c01275a RK3368 GPU: Rogue N Init.
1. Init Rogue_DDK_Android_REL_1.8.RTM@4610191_kbuild_overlay.tgz.
2. Add rockchip support for DDK 1.8.RTM@4610191.

Change-Id: If89d9656bf8d57b7a3db88b049461d9ebeb9b11a
Signed-off-by: ZhuangXiaoLiang <zhuangxl@rock-chips.com>
2017-08-02 11:51:30 +08:00
Jerry Xu
e483b75c51 drm/rockchip: dsi: Documentation: modify the dsi node
1. rename mipi_dsi to dsi0
2. add some properties, such as dual-channel
3. add dsi1 node

Change-Id: I623d31e26ce21f28036a0f665f3e69d8d60b199b
Signed-off-by: Jerry Xu <xbl@rock-chips.com>
2017-08-02 10:29:29 +08:00
Jerry Xu
d61734b170 drm/panel: simple: modify the name of the delay time for dsi
Change-Id: Ib0ec9dd0d29f13fd6249903b292c997b293ce987
Signed-off-by: Jerry Xu <xbl@rock-chips.com>
2017-08-02 10:29:02 +08:00
Jerry Xu
70caa69e73 ARM: dts: rk3288: modify the name of the delay time for dsi
Change-Id: If95824e556a9d1d75f4a674d4e95e332a8f16cae
Signed-off-by: Jerry Xu <xbl@rock-chips.com>
2017-08-02 10:28:34 +08:00