Commit Graph

840131 Commits

Author SHA1 Message Date
Finley Xiao
ea6bc886b8 cpufreq: dt: fix the warning when use opp_v1
[    0.550764] cpu cpu0: OPP-v2 not supported
[    0.551462] cpu cpu0: Linked as a consumer to regulator.10
[    0.552012] cpu cpu0: Dropping the link to regulator.10
[    0.552677] cpu cpu0: Linked as a consumer to regulator.10
[    0.553552] WARNING: CPU: 2 PID: 1 at drivers/opp/of.c:610 dev_pm_opp_of_cpumask_add_table+0x2c/0xe8
[    0.554351] Modules linked in:
[    0.554633] CPU: 2 PID: 1 Comm: swapper/0 Not tainted 4.19.20 #115
[    0.555180] Hardware name: Rockchip RK3399 Excavator Board (Linux Opensource) (DT)
[    0.555855] pstate: 40000005 (nZcv daif -PAN -UAO)
[    0.556291] pc : dev_pm_opp_of_cpumask_add_table+0x2c/0xe8
[    0.556784] lr : cpufreq_init+0x220/0x34c
[    0.557146] sp : ffffff800803b7e0
[    0.557440] x29: ffffff800803b7e0 x28: ffffff8008e7e1cc
[    0.557923] x27: 0000000000000000 x26: 0000000000000001
[    0.558405] x25: ffffffc0f1622600 x24: ffffffc0f166c400
[    0.558887] x23: ffffff800803b880 x22: ffffffc0f1622b00
[    0.559369] x21: 0000000000000001 x20: ffffffc0f162cc00
[    0.559852] x19: 00000000ffffffff x18: 000000000000000a
[    0.560324] x17: 0000000000000000 x16: 0000000000000000
[    0.560795] x15: 0000000000000000 x14: ffffff800803b717
[    0.561267] x13: ffffffffffffffff x12: 0000000000000038
[    0.561738] x11: 0101010101010101 x10: 7f7f7f7f7f7f7f7f
[    0.562210] x9 : 3972656674616463 x8 : 7f7f7f7f7f7f7f7f
[    0.562682] x7 : ff726d5e78626d64 x6 : ffffffc0f6142b00
[    0.563164] x5 : 0000000000000000 x4 : ffffffc0f166c478
[    0.563636] x3 : 0000000000000005 x2 : ffffff800803b880
[    0.564108] x1 : ffffff800803b880 x0 : 0000000000000000
[    0.564590] Call trace:
[    0.564821]  dev_pm_opp_of_cpumask_add_table+0x2c/0xe8
[    0.565278]  cpufreq_init+0x220/0x34c
[    0.565609]  cpufreq_online+0x1b4/0x61c
[    0.565951]  cpufreq_add_dev+0xa0/0xb8
[    0.566297]  subsys_interface_register+0xdc/0x100
[    0.566719]  cpufreq_register_driver+0x134/0x234
[    0.567131]  dt_cpufreq_probe+0x18c/0x1a8
[    0.567497]  platform_drv_probe+0x58/0xa4
[    0.567861]  really_probe+0x264/0x390
[    0.568192]  driver_probe_device+0x124/0x134
[    0.568579]  __device_attach_driver+0xd0/0x110
[    0.568980]  bus_for_each_drv+0xb0/0xd4
[    0.569322]  __device_attach+0xd0/0x160
[    0.569664]  device_initial_probe+0x24/0x30
[    0.570042]  bus_probe_device+0x38/0x98
[    0.570385]  device_add+0x4b4/0x594
[    0.570703]  platform_device_add+0xe4/0x22c
[    0.571080]  platform_device_register_full+0xb0/0x104
[    0.571540]  rockchip_cpufreq_driver_init+0x110/0x364
[    0.571999]  do_one_initcall+0xa0/0x1c0
[    0.572344]  kernel_init_freeable+0x31c/0x320
[    0.572734]  kernel_init+0x18/0x108
[    0.573054]  ret_from_fork+0x10/0x18
[    0.573378] ---[ end trace ae47402f52a7bab0 ]---

Change-Id: I02c7a3cc68536b707baaa8a61f21ac4961184dda
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
2019-06-14 21:56:22 +08:00
Finley Xiao
072599215f cpufreq: dt: fix the warning occurred when upped cpu5 before cpu4
[root@rk3399:/]# echo 0 > /sys/devices/system/cpu/cpu4/online
[   43.525595] CPU4: shutdown
[   43.525853] psci: CPU4 killed.
[root@rk3399:/]# echo 0 > /sys/devices/system/cpu/cpu5/online
[   47.378450] cpu cpu4: Dropping the link to regulator.23
[   47.379309] CPU5: shutdown
[   47.379568] psci: CPU5 killed.
[root@rk3399:/]# echo 1 > /sys/devices/system/cpu/cpu5/online
[   53.363116] Detected PIPT I-cache on CPU5
[   53.363502] GICv3: CPU5: found redistributor 101 region 0:0x00000000fefa0000
[   53.364157] CPU5: Booted secondary processor 0x0000000101 [0x410fd082]
[   53.365461] cpu cpu5: Linked as a consumer to regulator.23
[   53.366216] cpu cpu5: opp_list_debug_create_link: Failed to create link
[   53.366793] cpu cpu5: _add_opp_dev: Failed to register opp debugfs (-12)

Change-Id: I9b066f9712b7f8426561e03a538a9a5c45138ab0
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
2019-06-14 21:56:03 +08:00
Finley Xiao
0e46b3f358 cpufreq: Add rockchip cpufreq driver support
Change-Id: Iec5a4ff05a4829fdbc3535f94e92759d4238623d
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
2019-06-14 21:51:41 +08:00
Finley Xiao
b99f359494 soc: rockchip: Add rockchip system monitor support
Change-Id: I4cb7fafcb33fda0212b5ad1f6eebd44503556336
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
2019-06-14 21:48:42 +08:00
Finley Xiao
a7bddb708d soc: rockchip: add CONFIG_ROCKCHIP_OPP for rockchip_opp_select.c
Change-Id: I0cde56d1ad7482c8d4e8b518fc49cc028da6501b
Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
2019-06-14 21:43:47 +08:00
Finley Xiao
77452190e9 PM / OPP: add a summary tree in debugfs
On rk3399-evb-rev3 the opp_summary looks something like as follow.

 device                rate(Hz)    target(uV)    min(uV)    max(uV)
-------------------------------------------------------------------
 platform-dmc
                      200000000       825000      825000      825000
                      300000000       850000      850000      850000
                      400000000       850000      850000      850000
                      528000000       900000      900000      900000
                      600000000       900000      900000      900000
                      800000000       900000      900000      900000
 platform-ff9a0000.gpu
                      200000000       800000      800000      800000
                      297000000       800000      800000      800000
                      400000000       825000      825000      825000
                      500000000       875000      875000      875000
                      600000000       925000      925000      925000
                      800000000      1100000     1100000     1100000
 cpu4
                      408000000       800000      800000      800000
                      600000000       800000      800000      800000
                      816000000       800000      800000      800000
                     1008000000       850000      850000      850000
                     1200000000       875000      875000      875000
                     1416000000       975000      975000      975000
                     1608000000      1025000     1025000     1025000
                     1800000000      1125000     1125000     1125000
 cpu0
                      408000000       800000      800000      800000
                      600000000       800000      800000      800000
                      816000000       800000      800000      800000
                     1008000000       850000      850000      850000
                     1200000000       925000      925000      925000
                     1416000000      1050000     1050000     1050000

Change-Id: Ia357b4088805cf640dd659f510dd031488bd3ab3
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
2019-06-14 21:29:49 +08:00
Finley Xiao
2d93493e7b clk: rockchip: Add support to get clk scale and rate
Change-Id: I2eeb9f47bffafda4a9706fd48c50d22dd88df2c7
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
2019-06-14 21:29:40 +08:00
Finley Xiao
0301e4d916 PM / OPP: Implement dev_pm_opp_check_rate_volt()
Add support to change voltage even if old_rate is equal to target_rate.

Change-Id: I8f0020097a196420bc86f41d2dbc681730d410de
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
2019-06-14 21:29:30 +08:00
Finley Xiao
5eae915e5e soc: rockchip: Add a simple power model for ipa
This patch adds support to calculate the static power in milliwatts
consumed by devices.

Change-Id: Ied4ba5adecea45ff34b372a6e23c70882000aef3
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
2019-06-14 20:15:36 +08:00
Finley Xiao
2a796d5cd4 MALI: midgard: Add private data for governor
This adds support to get simple_ondemand governor data from devicetree.

Change-Id: Ica8cde1b28a81d5b7e2c5c8c109a2469311bcd8e
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
2019-06-14 19:59:45 +08:00
Finley Xiao
267d231cec soc: rockchip: system_monitor: Add fb notifier
Change-Id: I8c3f2f145bb0c99d5aa8c28422606a6af1a82b09
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
2019-06-14 19:59:32 +08:00
Finley Xiao
72b246bef0 soc: rockchip: system_monitor: Add reboot notifier
Change-Id: Ic788ca9ba353c7d7c64e3e323698d8c23303eaa0
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
2019-06-14 19:59:32 +08:00
Finley Xiao
8077a32db9 cpufreq: rockchip: Remove unuse code
Change-Id: I9cef76097811d96e1197eb7c5ecdc48d9e1fc286
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
2019-06-14 19:59:32 +08:00
Finley Xiao
ee8ac7cc36 soc: rockchip: opp_select: Remove unuse code
Change-Id: I7c3a9061f3ef436e498cbabd14c3d13b821d4fe8
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
2019-06-14 19:51:13 +08:00
Finley Xiao
a98c052143 GPU: rockchip: Add gpu to system monitor
Change-Id: I2c487c6ec8a46705197ceb9c2130b448f839ed66
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
2019-06-14 19:51:00 +08:00
Finley Xiao
8db85cfd43 PM / devfreq: rockchip_dmc: Add dmc to system monitor
Change-Id: Ia544edd3caa33f005d332db2e3a113517fa4e9ca
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
2019-06-14 19:49:55 +08:00
Finley Xiao
2fa7e1c4ed thermal: power_allocator: Add support to change state by system monitor
Change-Id: Ib0ed0c5df3fbae078be7ec88e93ba69cee894286
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
2019-06-14 19:48:54 +08:00
Finley Xiao
89b636c1e5 soc: rockchip: system_monitor: change cdev state according to system status
Change-Id: Ifff046a840adda8d2f17bf8545aeeeb8ed568216
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
2019-06-14 19:42:44 +08:00
Finley Xiao
62b7ef2340 soc: rockchip: Add config option for rockchip_system_monitor.c
Change-Id: Ic8d2cb645d29d2ea13e04584d22051b02364bd10
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
2019-06-14 19:39:57 +08:00
Finley Xiao
72dc50cd92 soc: rockchip: system_monitor: change cdev state according to temperature
Change-Id: I9c7c54bbe4226314cb1b33e9e071621f6fed1c36
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
2019-06-14 19:39:57 +08:00
Finley Xiao
ce28fbc8a6 soc: rockchip: system_monitor: Add support limit rate when 4k video
Change-Id: I15b443df1e7b24df03e986e401e6032f307aa376
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
2019-06-14 19:38:56 +08:00
Finley Xiao
f23062aa03 soc: rockchip: system_monitor: Add wide-temperature control
Change-Id: I5c1f502f8602c011a9bb26e7e0425e60728f1b66
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
2019-06-14 19:38:51 +08:00
Finley Xiao
38e71674b5 soc: rockchip: system_monitor: Handle devices properly during system sleep
Change-Id: I192ae8f8d62a4786f855aa4c430f6e6d47ff72af
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
2019-06-14 19:38:46 +08:00
Finley Xiao
e321bfaca5 soc: rockchip: system_monitor: on/off cpu according to temperature
Change-Id: Ie2c55dd4c11700c0446cf0abec7e580f6abda8fe
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
2019-06-14 19:38:40 +08:00
Finley Xiao
0b38b5b1f5 soc: rockchip: Add system monitor driver
Change-Id: Ie5aef98acf6bcbaf319d75a9b34dd834e25a1d32
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
2019-06-14 19:38:35 +08:00
Finley Xiao
458874cea1 PM / devfreq: Add support for policy notifiers
Change-Id: I6feff0c15d8685db91c8780ce90c4b31925f5abe
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
2019-06-14 10:25:43 +08:00
YouMin Chen
2f756f615c PM / devfreq: rockchip-dfi: fix lpddr4 calculation error
Fix lpddr4 calculation error about access.
LPDDR4 BL(burst length) = 16,other DDR type BL(burst length) = 8.

Change-Id: Icc1b4f6764fa0b23ec1f7722bda8ffeff1da4ab7
Signed-off-by: YouMin Chen <cym@rock-chips.com>
2019-06-14 09:41:25 +08:00
YouMin Chen
8b8caafc45 PM / devfreq: rockchip-dfi: add support for rk1808 dfi
Change-Id: Id95eca244c666b103ce4f9676e2abbeb304196ac
Signed-off-by: YouMin Chen <cym@rock-chips.com>
2019-06-14 09:41:17 +08:00
YouMin Chen
3d6f9a7e26 dt-bindings: devfreq: rockchip_dfi: Add rk1808 support
Change-Id: I8bd056dcc93f3c9c94b1b490340f8b040bb77d43
Signed-off-by: YouMin Chen <cym@rock-chips.com>
2019-06-14 09:41:10 +08:00
YouMin Chen
47d83ba0e3 PM / devfreq: event: add support for px30 dfi
Change-Id: Ib6808d961b65d993fea05ab15d648d814d14a4a2
Signed-off-by: YouMin Chen <cym@rock-chips.com>
2019-06-14 09:41:02 +08:00
CanYang He
bac837872c PM / devfreq: event: add support for rk3328 dfi
This adds the necessary data for handling dfi on the rk3328.

Change-Id: Id870f78dad3ddd6cb5771674a4e8905322f9e8ef
Signed-off-by: CanYang He <hcy@rock-chips.com>
2019-06-14 09:40:41 +08:00
CanYang He
7d19c1f93d PM / devfreq: event: make dfi more extension
after modify, rockchip_dfi_ops can apply to other platform use such
version ddr monitor. regardless of channel count, only one channel
of rk3288,rk3399,rk3328 can work. and regardless of monitor clk,
some platform like rk3328 monitor clk is always on.

Change-Id: Ia1c02a89116546ded385c5a6a3e36d020d66b7f3
Signed-off-by: CanYang He <hcy@rock-chips.com>
2019-06-14 09:39:53 +08:00
Liang Chen
3b90ebfa1c PM / devfreq: event: add support for rk3128 dfi
This adds the necessary data for handling dfi on the rk3128.
Access the dfi via registers provided by GRF (general register
files) module.

Change-Id: Ife9e9987224088434e878102b7d1c3b132e761ad
Signed-off-by: Liang Chen <cl@rock-chips.com>
2019-06-14 09:23:04 +08:00
Tang Yun ping
7a400740a9 PM / devfreq: event: add support for rk3288 dfi
This adds the necessary data for handling dfi on the rk3288.
Access the dfi via registers provided by GRF (general register
files) module.

Change-Id: Ic7241af3c20a269ab362055dea04d260e01c50de
Signed-off-by: Tang Yun ping <typ@rock-chips.com>
2019-06-14 09:22:49 +08:00
Finley Xiao
f869a7da50 PM / devfreq: event: add support for rk3368 dfi
This adds the necessary data for handling dfi on the rk3368.
Access the dfi via registers provided by GRF (general register
files) module.

Change-Id: I96c2b4dcd34d90731b749ebdbe6922f01559d8e6
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
2019-06-14 09:02:38 +08:00
Jianqun Xu
3d702d5993 PM / devfreq: rockchip-dfi: disable irqs during accessing ddr monitor
Change-Id: Ie4817a77fcb1283f37f41ab097f02ed7dc9cd18c
Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
2019-06-14 09:02:29 +08:00
Sandy Huang
e7aa22ba72 drm/rockchip: vop: add support csc and hdr
Change-Id: I64f1718646a9f94b4cb13035f1a852d6b824b5af
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
2019-06-13 14:14:59 +08:00
Sandy Huang
059bcbb1d0 drm/rockchip: vop: use new register config interface
Change-Id: I63a5a41da3a4f8a1686594769167c31a7dfecb50
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
2019-06-13 12:03:26 +08:00
Sandy Huang
e623617072 drm/rockchip: gem: Add GEM create ioctl support
Rockchip Socs have GPU, we need allocate GPU accelerated buffers.
So add special ioctls GEM_CREATE/GEM_MAP_OFFSET to support
accelerated buffers.

Change-Id: Ia4b13798aac97d16214da7a75a2479e6e334313a
Signed-off-by: Mark Yao <mark.yao@rock-chips.com>
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
2019-06-12 15:24:22 +08:00
Mark Yao
6b20083469 dt-bindings: rockchip: drm: add secure memory and clk
Change-Id: Ibbfae144d5b79972ffa913801c7054c8af4bcd41
Signed-off-by: Mark Yao <mark.yao@rock-chips.com>
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
2019-06-12 14:54:44 +08:00
Mark Yao
d0ca05b8a4 drm/rockchip: gem: support secure memory
Change-Id: I91dfbbfbf5d13983edfb79585e9beb980566f784
Signed-off-by: Mark Yao <mark.yao@rock-chips.com>
Signed-off-by: jay.xu <xjq@rock-chips.com>
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
2019-06-12 14:54:34 +08:00
Tao Huang
f89f356895 rk: ARM: support build [z]boot.img from existing boot.img
The existing boot.img from $(BOOT_IMG).

Change-Id: I3751e56ee88b3ece03999dc68c7c2595807bcbf7
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
2019-06-12 14:31:18 +08:00
Tao Huang
2c7e4e7fd3 rk: arm64: support build [z]boot.img from existing boot.img
The existing boot.img from $(BOOT_IMG).

Change-Id: Iaf78185546200acb10ae13f541197722149624e1
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
2019-06-12 14:31:18 +08:00
Tao Huang
6f2dead304 rk: scripts: add repack-bootimg
Also add unpack_bootimg and update mkbootimg

AOSP 96fd8874ef8e ("Check DTB image size for boot image header version 2 and above")

Change-Id: I4582913b21f711c84d62bed0ffd024b583a094f7
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
2019-06-12 14:31:18 +08:00
Sandy Huang
cb1cb6f184 drm/rockchip: gem: don't limit to 32bit mapping when not support LPAE
Change-Id: Ia4fab3d63947ba693488fb58e3a104d400bd6e23
Signed-off-by: Mark Yao <mark.yao@rock-chips.com>
Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
Signed-off-by: Meiyou Chen <cmy@rock-chips.com>
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
2019-06-12 14:20:48 +08:00
Mark Yao
ccc8053479 drm/rockchip: gem: support force alloc cma buffer with flags
Change-Id: I4749eac53609f865d0d4230364b1cbaf39ee0955
Signed-off-by: Mark Yao <mark.yao@rock-chips.com>
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
2019-06-12 14:16:27 +08:00
Mark Yao
c85af5021b drm/rockchip: gem: add begin/end cpu access
Change-Id: Ie2c54addcf037cf501edcad76470e5e46c667b7e
Signed-off-by: Mark Yao <mark.yao@rock-chips.com>
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
2019-06-12 14:14:55 +08:00
Mark Yao
4b7491b317 drm/prime: add dmabuf begin/end cpu access
Change-Id: I0b4be7f8d78142024a2067db041e4f1c2670086c
Signed-off-by: Mark Yao <mark.yao@rock-chips.com>
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
2019-06-12 14:14:01 +08:00
Grzegorz Prajsner
6bc1d2e52d FROMLIST: drm/rockchip: add fb_dmabuf_export support
Add support for fb_dmabuf_export call, which is executed when ioctl
FBIOGET_DMABUF is called.

Change-Id: I13b753ae25d043835b1f4ffc20b5e233171d1096
Signed-off-by: Guillaume Tucker <guillaume.tucker@arm.com>
Signed-off-by: Mark Yao <mark.yao@rock-chips.com>
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
(am from 61062681c9)
2019-06-12 14:13:28 +08:00
Jamie Nicol
3cbf2deaa0 FROMLIST: fb: add dma-buf support
Add support for the dma-buf exporter role to the frame buffer API. The
importer role isn't meaningful for frame buffer devices, as the frame
buffer device model doesn't allow using externally allocated memory.

taken from an RFC on the linaro-mm-sig mailing list:
http://lists.linaro.org/pipermail/linaro-mm-sig/2012-June/002167.html

Fixes by Mark Yao:
  add FBIOGET_DMABUF to compat_ioctl.

Change-Id: I39c9bbdd6b88c6d5ba7524abfc5b560dceb4633e
Signed-off-by: Guillaume Tucker <guillaume.tucker@arm.com>
Signed-off-by: Mark Yao <mark.yao@rock-chips.com>
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
(am from https://patchwork.linuxtv.org/patch/12980)
2019-06-12 14:12:53 +08:00