Commit Graph

854186 Commits

Author SHA1 Message Date
Ding Wei
4069463cd0 iommu: Export iommu_group_default_domain()
ERROR: "iommu_group_default_domain"
[drivers/video/rockchip/mpp/rk_vcodec.ko] undefined!

Change-Id: Ic6dc4a8c182f58963011bc9c4f7cbcddacdf315a
Signed-off-by: Ding Wei <leo.ding@rock-chips.com>
2020-06-17 16:40:50 +08:00
Ding Wei
543f8470a9 video: rockchip: mpp: fix issue iommu_release twice
arm_iommu_release_mapping will auto trigger when driver unregister,
so it should not manual release.

dump stack:
[   31.493866 ] ------------[ cut here  ]------------
[   31.493889 ] WARNING: CPU: 0 PID: 605 at lib/refcount.c:187
refcount_sub_and_test_checked+0x9c/0xb4
[   31.493898 ] refcount_t: underflow; use-after-free.
[   31.493907 ] Modules linked in: rk_vcodec(-)
[   31.493924 ] CPU: 0 PID: 605 Comm: rmmod Not tainted 4.19.111 #2047
[   31.493932 ] Hardware name: Generic DT based system
[   31.493957 ] [<b010f408>] (unwind_backtrace) from [<b010b96c>]
(show_stack+0x10/0x14)
[   31.493975 ] [<b010b96c>] (show_stack) from [<b07ed264>]
(dump_stack+0x90/0xa4)
[   31.493992 ] [<b07ed264>] (dump_stack) from [<b0125f64>]
(__warn+0xfc/0x114)
[   31.494006 ] [<b0125f64>] (__warn) from [<b0125fc0>]
(warn_slowpath_fmt+0x44/0x68)
[   31.494020 ] [<b0125fc0>] (warn_slowpath_fmt) from [<b0398f40>]
(refcount_sub_and_test_checked+0x9c/0xb4)
[   31.494036 ] [<b0398f40>] (refcount_sub_and_test_checked) from
[<b0116730>] (arm_iommu_release_mapping.part.5+0x20/0x48)
[   31.494050 ] [<b0116730>] (arm_iommu_release_mapping.part.5) from
[<b0117408>] (arch_teardown_dma_ops+0x2c/0x38)
[   31.494065 ] [<b0117408>] (arch_teardown_dma_ops) from [<b047a87c>]
(device_release_driver_internal+0xf4/0x19c)
[   31.494081 ] [<b047a87c>] (device_release_driver_internal) from
[<b047a980>] (driver_detach+0x44/0x80)
[   31.494094 ] [<b047a980>] (driver_detach) from [<b04796b4>]
(bus_remove_driver+0x4c/0xa0)
[   31.494120 ] [<b04796b4>] (bus_remove_driver) from [<af005ff8>]
(mpp_service_exit+0x3c/0x1044 [rk_vcodec])
[   31.494140 ] [<af005ff8>] (mpp_service_exit [rk_vcodec]) from
[<b019c97c>] (sys_delete_module+0x190/0x1f0)
[   31.494154 ] [<b019c97c>] (sys_delete_module) from [<b0101000>]
(ret_fast_syscall+0x0/0x4c)
[   31.494162 ] Exception stack(0xed62ffa8 to 0xed62fff0)
[   31.494172 ] ffa0:                   00025a04 765f6b72 ae982c08
00000880 00000000 ae982e88
[   31.494183 ] ffc0: 00025a04 765f6b72 65646f63 00000081 000c46a4
00000000 a6f49000 00000000
[   31.494191 ] ffe0: ae982c00 ae982bf0 000258f8 a6ea31b0
[   31.494288 ] ---[ end trace 6bdf082e7c4aa12d  ]---

Change-Id: Ib4a057087b1521a5591c12909b6d78b5f90f3882
Signed-off-by: Ding Wei <leo.ding@rock-chips.com>
2020-06-17 15:39:09 +08:00
Tao Huang
5b716e2ac1 rfkill: RFKILL_RK depends on ARCH_ROCKCHIP
This driver depends on rockchip vendor storage.

Change-Id: I1b56a60037d7a214c228d528fabf3f651c5597cf
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
2020-06-16 14:12:24 +08:00
Jianhui Wang
b2d25cfc6a input: touch: gslx680a: fix irq bug
Change-Id: I2753cd8fcde902687db2080c79f6b9d22b706c76
Signed-off-by: Jianhui Wang <wjh@rock-chips.com>
2020-06-16 09:16:44 +08:00
Jianhui Wang
c3b17f4580 ARM: rockchip_defconfig: enable CONFIG_VIDEO_OV8858 for th804 tablet
Change-Id: Ic2ba92d4e7d79f1373e03ba08e8c09559f2a54fd
Signed-off-by: Jianhui Wang <wjh@rock-chips.com>
2020-06-16 09:15:14 +08:00
Jianhui Wang
74a6f9de67 ARM: dts: rk3288: bring up th804 tablet
Change-Id: I6b6c8258ca4cbb2513ab40f93770f6bae802e3e1
Signed-off-by: Jianhui Wang <wjh@rock-chips.com>
2020-06-16 09:14:50 +08:00
Tao Huang
8f348c29eb ARM: configs: enable CONFIG_ROCKCHIP_THUNDER_BOOT_MMC for rv1126-evb-ddr3-v10-tb.config
Change-Id: I90f9c824d5f991748a8d2c5912c91f6144a781c5
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
2020-06-15 21:56:21 +08:00
Tao Huang
76951c36f0 soc: rockchip: decompress: Wait decom init done when call rk_decom_start()
Change-Id: I8b13cf2895e06642a61137ea04b977f076736548
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
2020-06-15 21:56:21 +08:00
Shawn Lin
62d1f48b38 soc: rockchip: Add rockchip thunder boot mmc driver
This driver aimed at starting decompression as soon as
possible.

Change-Id: Ie29f43935f0642ae8c9c605d3ebc40292d4d1781
Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com>
2020-06-15 21:56:21 +08:00
Shawn Lin
c22dbadc53 mmc: dw_mmc: remove partial thunder boot
In preparation for adding new driver to support starting
decompress ramdisk.

Change-Id: Icbd51f2798367430443bae9af5656891b93ac3bd
Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com>
2020-06-15 21:46:40 +08:00
Shawn Lin
5bc99a1b1f ARM: dts: rockchip: Add rockchip_tb node for rv1126-evb-ddr3-v10-tb
Change-Id: Ia27b7f77674a46f41f2d12b1656b57f71ada7c5d
Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com>
2020-06-15 21:46:40 +08:00
Tao Huang
1e74b7eebe ARM: dts: rockchip: fix trust shared memory mapping for rv1126-evb-ddr3-v10-tb
Allow kernel access 0x00200000~0x00208000, because the first usable region
must be PMD aligned. Otherwise rampoops would not work.

Fixes: 9e109a2600 ("ARM: dts: rockchip: reserve 32KB shared memory for rv1126-evb-ddr3-v10-tb")
Change-Id: I170a6d946695dbace8064eafa57986787d8cab86
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
2020-06-15 14:30:09 +08:00
Tao Huang
9777ac0333 firmware: rockchip_sip: Introduce sip_map()
For map memory, we should call vmap other than ioremap when pfn_valid().
Otherwise we would get the following warning:
WARNING: CPU: 3 PID: 35 at arch/arm/mm/ioremap.c:303 __arm_ioremap_pfn_caller+0x7c/0x1b4
Modules linked in:
CPU: 3 PID: 35 Comm: init/3 Not tainted 4.19.111 #348
Hardware name: Generic DT based system
[<b070efe8>] (unwind_backtrace) from [<b070b560>] (show_stack+0x10/0x14)
[<b070b560>] (show_stack) from [<b0c5cd44>] (dump_stack+0x90/0xa4)
[<b0c5cd44>] (dump_stack) from [<b07229b8>] (__warn+0xfc/0x114)
[<b07229b8>] (__warn) from [<b0722ae4>] (warn_slowpath_null+0x40/0x48)
[<b0722ae4>] (warn_slowpath_null) from [<b07145ec>] (__arm_ioremap_pfn_caller+0x7c/0x1b4)
[<b07145ec>] (__arm_ioremap_pfn_caller) from [<b0714770>] (__arm_ioremap_caller+0x4c/0x54)
[<b0714770>] (__arm_ioremap_caller) from [<b0b5a7d0>] (sip_smc_request_share_mem+0x54/0x7c)

Change-Id: I51dd47ed9dc7210fd3192b0c970c31e10d79c0a6
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
2020-06-15 14:12:34 +08:00
Zefa Chen
44013207b1 media: i2c: os04a10 support color test pattern
Signed-off-by: Zefa Chen <zefa.chen@rock-chips.com>
Change-Id: I5fd94636225a6f338d0982103d0e6d0031e75a3d
2020-06-15 10:56:14 +08:00
Jon Lin
70c79c0523 drivers: rkflash: Add cast for function min input
warning: comparison of distinct pointer types lacks a cast
error, forbidden warning:kernel.h:733
  (void) (&_min1 == &_min2);  \

Change-Id: I2311d0bbb32be9b44cc262808d9e2df12b9627b9
Signed-off-by: Jon Lin <jon.lin@rock-chips.com>
2020-06-15 10:53:06 +08:00
Jon Lin
57d30184ca drivers: rkflash: Fix error in counting BITS_PER_LONG
Change-Id: I3a76a3a5003fcfcd7c079fd83d67f7161a85708a
Signed-off-by: Jon Lin <jon.lin@rock-chips.com>
2020-06-15 10:53:06 +08:00
Algea Cao
56fe1c4cfe drm/rockchip: Fix crash when find connector from bridge
The function drm_connector_list_iter_end() will be called
twice when connector is found, that will cause crash.

crash:

[    1.201561] Unable to handle kernel read from unreadable memory at virtual address 0000000000000318
[    2.886426] Mem abort info:
[    2.889222]   ESR = 0x96000005
[    2.892276]   Exception class = DABT (current EL), IL = 32 bits
[    2.898189]   SET = 0, FnV = 0
[    2.901244]   EA = 0, S1PTW = 0
[    2.904379] Data abort info:
[    2.907256]   ISV = 0, ISS = 0x00000005
[    2.911086]   CM = 0, WnR = 0
[    2.914058] [0000000000000318] user address but active_mm is swapper
[    2.920410] Internal error: Oops: 96000005 [#1] PREEMPT SMP
[    2.925983] Modules linked in:
[    2.929041] Process kworker/5:1 (pid: 60, stack limit = 0x00000000e4da41d3)
[    2.935997] CPU: 5 PID: 60 Comm: kworker/5:1 Not tainted 4.19.111 #200
[    2.942522] Hardware name: Rockchip RK3368 R88 AVB (DT)
[    2.947753] Workqueue: events deferred_probe_work_func
[    2.952895] pstate: 60400085 (nZCv daIf +PAN -UAO)
[    2.957686] pc : __ll_sc___cmpxchg_case_acq_4+0x4/0x20
[    2.962828] lr : _raw_spin_lock_irqsave+0x34/0x70
[    2.967529] sp : ffffff8009cc38e0
[    2.970843] x29: ffffff8009cc38e0 x28: ffffffc03dedb8b8
[    2.976158] x27: ffffffc03ded4480 x26: ffffff8009cc3a28
[    2.981465] x25: ffffffc03decbdd8 x24: ffffffc03dedcd90
[    2.986780] x23: ffffff80096ed000 x22: ffffffc00a2dd890
[    2.992095] x21: ffffff80091fbe20 x20: 0000000000000318
[    2.997410] x19: 0000000000000000 x18: ffffffffffffffff
[    3.002726] x17: 0000000000000000 x16: 0000000000000000
[    3.008042] x15: ffffff80096eda48 x14: ffffff80898b7e37
[    3.013357] x13: ffffff80098b7e45 x12: ffffff80098b8280
[    3.018673] x11: ffffff800970e000 x10: 0000000005f5e0ff
[    3.023989] x9 : 00000000ffffffd0 x8 : 625f79625f726f74
[    3.029296] x7 : 0000000000000030 x6 : 000000000000024a
[    3.034602] x5 : 0000000000000000 x4 : 0000000000000000
[    3.039907] x3 : 0000000000000318 x2 : 0000000000000001
[    3.045222] x1 : 0000000000000000 x0 : 0000000000000318
[    4.266041] Call trace:
[    4.268489]  __ll_sc___cmpxchg_case_acq_4+0x4/0x20
[    4.273279]  drm_connector_list_iter_end+0x2c/0x58
[    4.278068]  rockchip_drm_bind+0x1c20/0x1c38
[    4.282338]  try_to_bring_up_master+0x144/0x1a8
[    4.286867]  component_master_add_with_match+0xd4/0x130
[    4.292090]  rockchip_drm_platform_probe+0x178/0x2e8
[    4.297054]  platform_drv_probe+0x50/0xa8
[    4.301065]  really_probe+0x200/0x2b0
[    4.304734]  driver_probe_device+0x58/0x100
[    4.308921]  __device_attach_driver+0x90/0xc0
[    4.313274]  bus_for_each_drv+0x70/0xc8
[    4.317110]  __device_attach+0xdc/0x138
[    4.320944]  device_initial_probe+0x10/0x18
[    4.325131]  bus_probe_device+0x94/0xa0
[    4.328965]  deferred_probe_work_func+0x80/0xb8
[    4.333497]  process_one_work+0x1a0/0x418
[    4.337508]  worker_thread+0x1e4/0x3e0
[    4.341260]  kthread+0x12c/0x158
[    4.344493]  ret_from_fork+0x10/0x18
[    4.348072]  Code: 35ffff91 aa1003e0 d65f03c0 f9800011 (885ffc10)

Change-Id: I0a3c9e038b4ffe31feaa8356a0ce3e62f6f3c374
Signed-off-by: Algea Cao <algea.cao@rock-chips.com>
2020-06-15 09:55:23 +08:00
Cai YiWei
0ca7fea89e media: rockchip: ispp: fix first frame error for sharp output
Change-Id: Ic18c2b9c028ac5e4304da65c1d0dee1fb4c70c0f
Signed-off-by: Cai YiWei <cyw@rock-chips.com>
2020-06-12 18:09:56 +08:00
Yifeng Zhao
616a213d3d drivers: soc: rockchip: support mtd vendor storage
This patch is used to support vendor storage for SPI NAND
and SLC NAND via mtd interface.

Change-Id: I6f011cb9052a014845629e103976b36adb5fa589
Signed-off-by: Yifeng Zhao <zyf@rock-chips.com>
2020-06-12 14:59:54 +08:00
Will Deacon
6cea1391d2 BACKPORT: arm64: entry: Place an SB sequence following an ERET instruction
Some CPUs can speculate past an ERET instruction and potentially perform
speculative accesses to memory before processing the exception return.
Since the register state is often controlled by a lower privilege level
at the point of an ERET, this could potentially be used as part of a
side-channel attack.

This patch emits an SB sequence after each ERET so that speculation is
held up on exception return.

Change-Id: I8bdcc2d9ff9d4d344c0e7a4aad809fbca52db116
Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
(cherry picked from commit 679db70801)
2020-06-12 10:19:04 +08:00
Cai YiWei
14b8fb9e28 media: rockchip: isp: version to v00.01.00
Change-Id: I983129509b6c2c3b5c27bfe53f272981b10e845d
Signed-off-by: Cai YiWei <cyw@rock-chips.com>
2020-06-11 22:17:11 +08:00
Tao Huang
624cb7b196 media: rockchip: cif: Fix clang warning
drivers/media/platform/rockchip/cif/dev.c:290:93: warning: operator '?:' has lower precedence than '|'; '|' will be evaluated first [-Wbitwise-conditional-parentheses]
                                        (dev->chip_id != CHIP_RK1808_CIF && dev->chip_id != CHIP_RV1126_CIF) | (id == pad - 1) ?
                                        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^
drivers/media/platform/rockchip/cif/dev.c:290:93: note: place parentheses around the '|' expression to silence this warning
                                        (dev->chip_id != CHIP_RK1808_CIF && dev->chip_id != CHIP_RV1126_CIF) | (id == pad - 1) ?
                                                                                                                               ^
                                        (                                                                                     )
drivers/media/platform/rockchip/cif/dev.c:290:93: note: place parentheses around the '?:' expression to evaluate it first
                                        (dev->chip_id != CHIP_RK1808_CIF && dev->chip_id != CHIP_RV1126_CIF) | (id == pad - 1) ?
                                                                                                                               ^
                                                                                                               (

Change-Id: I7ed9acf76afeed128ccfa70f94b81e143c08e327
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
2020-06-11 16:31:36 +08:00
Jianqun Xu
63bbceab32 mm/page_isolation.c: dump page owner if fail to isolate
CMA alloc may failure due to page busy caused by isolated failure,
it's helpful to dump page owner stack for debug.

To use this debug, there should enable PAGE_OWNER debug first by
- CONFIG_PAGE_OWNER=y
- add “page_owner=on” to boot cmdline

then it will shows as following:
 page allocated via order 0, migratetype Movable, gfp_mask 0x6212ca(GFP_HIGHUSER_MOVABLE|__GFP_NOWARN|__GFP_NORETRY)
  get_page_from_freelist+0x1404/0x1920
  __alloc_pages_nodemask+0xf4/0xe90
  __do_page_cache_readahead+0x104/0x1f0
  filemap_fault+0x3d4/0x618
  ext4_filemap_fault+0x30/0x50
  __do_fault+0x50/0x118
  __handle_mm_fault+0x7e4/0xb40
  handle_mm_fault+0xcc/0x1a0
  do_page_fault+0x1f0/0x4a8
  do_translation_fault+0x5c/0x64
  do_mem_abort+0x54/0xf8
  el0_da+0x1c/0x20

Change-Id: I94b02a7c4ce9174f8151e0979e18adba4011c1d2
Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
2020-06-11 15:40:45 +08:00
Jianqun Xu
a45df40048 mm/page_owner: print PFN when dump page owner
Change-Id: I4a23da31ecb9ee7bff6e6d057a5118f6d154fbcf
Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
2020-06-11 15:40:45 +08:00
Jianing Ren
745529254c phy: phy-rockchip-naneng-usb2: fix bug of io read
Phy internal registers is read by APB bus. If you get phy registers
and APB data at the same time, you will get wrong data which is the
previous value of register. Therefore, pready_cnt must be set bigger
than rden_cnt.

Change-Id: I2e7e5544077170466bdaabc2f7d61f67a06b3283
Signed-off-by: Jianing Ren <jianing.ren@rock-chips.com>
2020-06-11 15:21:42 +08:00
Tao Huang
b155a5d744 net: wireless: rockchip_wlan: rtl8822bs: Fix clang warning
drivers/net/wireless/rockchip_wlan/rtl8822bs/hal/phydm/phydm_dfs.c:1676:4:
warning: misleading indentation; statement is not part of the previous 'if'
[-Wmisleading-indentation]
                        dfs->pri_cond4 = 1;
                        ^

Signed-off-by: Tao Huang <huangtao@rock-chips.com>
Change-Id: Ieee0b2dac1d5fd6342bd7f6fd6a3e67af4c9b26c
2020-06-11 10:28:02 +08:00
Elaine Zhang
eefa365d11 drm/rockchip: add more clock protect for loader logo
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
Change-Id: Ibc3fd06b2f59d7f21e8e3567478e765b1c518ff2
2020-06-10 15:54:08 +08:00
Putin Lee
2a2bd1e413 ARM: dts: rockchip: rk3288-android: add assigned clocks for rga
Change-Id: Ice88b6a58b2f7c766b5cd42291bddbdbfb50cb2d
Signed-off-by: Putin Lee <putin.li@rock-chips.com>
2020-06-10 10:55:13 +08:00
XiaoTan Luo
9f196a0370 ARM: dts: rk3288: add spdif_2ch
Signed-off-by: XiaoTan Luo <lxt@rock-chips.com>
Change-Id: Id0abf6748053cbf0666f20c28fd68bbf9c3f2086
2020-06-10 10:21:59 +08:00
Tao Huang
2dbee53a93 OPTEE: fix clang error
security/optee_linuxdriver/core/tee_session.c:57:3: error: 'sprintf' will
always overflow; destination buffer has size 35, but format string expands
to at least 36 [-Werror,-Wfortify-source]

Change-Id: Ie5b2ccfc4fca053b6d88278b1019997ad0dd3ee5
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
2020-06-09 22:19:16 +08:00
Sandy Huang
c10f1e9c02 drm/rockchip: vop: after create 1:1 mapping no need to wait vblank
after create 1:1 mapping, we can enable iommu at any time, because
whether the iommu is enable or not, the VOP can access the correct
phy addr.

dma_addr----->iommu module---->phy addr
        |			|
        |---------bypass--------|

Change-Id: I50f6a897d90c33e5bd0fba099654ce788d3d647d
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
2020-06-09 16:32:38 +08:00
Sandy Huang
f831f246a0 drm/rockchip: add support drm logo buffer 1:1 mapping
we reserved the DDR last 32M as uboot logo and kernel logo, here we
create 1:1 mapping for this buffer, this is prepare for uboot logo phy
addr switch to kernel logo vir addr and iommu enable.

Change-Id: I090665f29f7f4f7cf5456b9edbddea60485376cf
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
2020-06-09 16:32:38 +08:00
Tao Huang
4600ef8027 rtc: hym8563: Initialize in stack clk_init_data to 0
This allows adding fields to clk_init_data without having to explicitly
set those fields in all the drivers.

Fixes: 2071154513 ("ANDROID: GKI: clk: Initialize in stack clk_init_data to 0 in all drivers")
Change-Id: Idb2d492d2ceba3029d334777c0c784bce4676666
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
2020-06-09 14:29:28 +08:00
Tao Huang
ada2a1cee3 phy: rockchip: usb: Initialize in stack clk_init_data to 0
This allows adding fields to clk_init_data without having to explicitly
set those fields in all the drivers.

Fixes: 2071154513 ("ANDROID: GKI: clk: Initialize in stack clk_init_data to 0 in all drivers")
Change-Id: I4593151b2624d2ccfaf477d36ff1f4d331f2ca91
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
2020-06-09 14:28:04 +08:00
Tao Huang
a3b4a03c99 phy: rockchip: naneng-usb2: Initialize in stack clk_init_data to 0
This allows adding fields to clk_init_data without having to explicitly
set those fields in all the drivers.

Fixes: 2071154513 ("ANDROID: GKI: clk: Initialize in stack clk_init_data to 0 in all drivers")
Change-Id: If1fb768aadc89025cccc131441c3aa32045ba382
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
2020-06-09 14:27:31 +08:00
Tao Huang
0482288575 phy: rockchip: inno-video-combo: Initialize in stack clk_init_data to 0
This allows adding fields to clk_init_data without having to explicitly
set those fields in all the drivers.

Fixes: 2071154513 ("ANDROID: GKI: clk: Initialize in stack clk_init_data to 0 in all drivers")
Change-Id: I6d958aa57097209165cf32a671f9612752eec4f1
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
2020-06-09 14:27:00 +08:00
Tao Huang
a582be6e66 phy: rockchip: inno-usb2: Initialize in stack clk_init_data to 0
This allows adding fields to clk_init_data without having to explicitly
set those fields in all the drivers.

Fixes: 2071154513 ("ANDROID: GKI: clk: Initialize in stack clk_init_data to 0 in all drivers")
Change-Id: I382ee237c596e79e29bf6c4b13a4dc6c0c94344f
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
2020-06-09 14:26:30 +08:00
Tao Huang
5734d79999 phy: rockchip: inno-mipi-dphy: Initialize in stack clk_init_data to 0
This allows adding fields to clk_init_data without having to explicitly
set those fields in all the drivers.

Fixes: 2071154513 ("ANDROID: GKI: clk: Initialize in stack clk_init_data to 0 in all drivers")
Change-Id: Ibe59e24929f89e6124ee0c74195515421625f386
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
2020-06-09 14:26:25 +08:00
Tao Huang
cc5ecc2773 phy: rockchip: inno-hdmi: Initialize in stack clk_init_data to 0
This allows adding fields to clk_init_data without having to explicitly
set those fields in all the drivers.

Fixes: 2071154513 ("ANDROID: GKI: clk: Initialize in stack clk_init_data to 0 in all drivers")
Change-Id: I4fd81155cfbd6c257d3a52eda25714e07a4e6abb
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
2020-06-09 14:22:18 +08:00
Tao Huang
19bdaeace0 clk: rockchip: rk618: Initialize in stack clk_init_data to 0
This allows adding fields to clk_init_data without having to explicitly
set those fields in all the drivers.

Fixes: 2071154513 ("ANDROID: GKI: clk: Initialize in stack clk_init_data to 0 in all drivers")
Change-Id: Ibc59e5fa1e6a9b7aff8612b7501e8f0644cd96ca
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
2020-06-09 14:10:42 +08:00
Wang Panzhenzhuan
6459ce336d drivers: media: platform: rockchip: cif: fix pingpong mode issue
fix following problem when using pingpong mode
rkcif: Bad frame, pp irq:0x20b frmst:0xda900000 size:1600x600

Signed-off-by: Wang Panzhenzhuan <randy.wang@rock-chips.com>
Signed-off-by: Allon Huang <allon.huang@rock-chips.com>
Change-Id: Iaf9222d5465a966047c26b7a7518bbc419cd5748
2020-06-09 11:40:53 +08:00
Shawn Lin
bc28e06c42 mmc: add thunder boot support
Remove unnecessary initialization process from core as possible, such
as remove some idle process, shorten delay, remove parsing ext_csd,
remove post-delay for power and so on. All these stuffs are enabled
by CONFIG_ROCKCHIP_THUNDER_BOOT.

Change-Id: I0e2326dd79d938eb82c8cfac9db09e34d6c08987
Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com>
2020-06-09 09:50:24 +08:00
Xinhuang Li
b5ef4f0d72 ARM: configs: rv1126_defconfig: enable uac1 and uac2
Signed-off-by: Xinhuang Li <buluess.li@rock-chips.com>
Change-Id: I53dd70a682a5327d60ae9064e46e0b5b8f96c68b
2020-06-09 09:48:55 +08:00
YouMin Chen
58cc992652 clk: rockchip: clk-ddr: fix return value in rockchip_ddrclk_sip_set_rate
Returns success (0) or negative errno in rockchip_ddrclk_sip_set_rate call.

Change-Id: I9c424d8625a465c235ac5f6b0795f51848e65283
Signed-off-by: YouMin Chen <cym@rock-chips.com>
2020-06-08 20:16:41 +08:00
Finley Xiao
a840e227a0 ARM: dts: rockchip: rv11xx-evb-v10: enable otp
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
Change-Id: Icc749f647424778fdec55bb8250d8823c3541e14
2020-06-08 19:52:07 +08:00
Sugar Zhang
b844dae719 dmaengine: pl330: Add quirk 'arm,pl330-periph-burst'
This patch adds the qurik to use busrt transfers only
for pl330 controller, even for request with a length of 1.

Although, the correct way should be: if the peripheral request
length is 1, the peripheral should use SINGLE request, and then
notify the dmac using SINGLE mode by src/dst_maxburst with 1.

For example, on the Rockchip SoCs, all the peripherals can use
SINGLE or BURST request by setting GRF registers. it is possible
that if these peripheral drivers are used only for Rockchip SoCs.
Unfortunately, it's not, such as dw uart, which is used so widely,
and we can't set src/dst_maxburst according to the SoCs' specific
to compatible with all the other SoCs.

So, for convenience, all the peripherals are set as BURST request
by default on the Rockchip SoCs. even for request with a length of 1.
the current pl330 driver will perform SINGLE transfer if the client's
maxburst is 1, which still should be working according to chapter 2.6.6
of datasheet which describe how DMAC performs SINGLE transfers for
a BURST request. unfortunately, it's broken on the Rockchip SoCs,
which support only matching transfers, such as BURST transfer for
BURST request, SINGLE transfer for SINGLE request.

Finaly, we add the quirk to specify pl330 to use burst transfers only.

Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
Change-Id: I91c295a0854515131fb9a76757fbd85e5c7b0c15
2020-06-05 18:47:24 +08:00
Sugar Zhang
34d2e5f52c arm64: dts: rockchip: Add 'arm,pl330-periph-burst' for dmac
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
Change-Id: Ied0b51a3cf02dc22803c1c49448baffbdce6e1aa
2020-06-05 18:47:23 +08:00
Sugar Zhang
0c3933bfa7 ARM: dts: rockchip: Add 'arm,pl330-periph-burst' for dmac
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
Change-Id: I291f78605b15db9ff669ff2a815bf3fd299fb7ec
2020-06-05 18:47:23 +08:00
Andy Yan
a5ab034e69 ARM: dts: rockchip: Add logo-memory-region for rv1126
logo-memory-region is used for passing framebuffer
from bootloader, which store kernel logo image data.

Change-Id: I24ba97be5abdbb8a8760861f7460120eef9ff744
Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
2020-06-05 10:31:27 +08:00
Jon Lin
781684d716 drivers: rkflash: should not return EIO for ecc corrected case
Change-Id: I637c48f27a4329715ec032a349c0ba56741504be
Signed-off-by: Jon Lin <jon.lin@rock-chips.com>
2020-06-04 21:37:24 +08:00