Commit Graph

1072687 Commits

Author SHA1 Message Date
Jianqun Xu
23cdadf8a5 Revert "dma-buf: dma-heap: heap ops supports get_phys"
This partially reverts commit 61a32e157e.
Convert to use rk_cma_heap.c and keep fixes to dma-heap.c

Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
Change-Id: I740d0de75d8b526f7de987b0b1c18dc3f6298705
2022-09-27 10:57:14 +08:00
Jianqun Xu
449b29d7ab Revert "dma-buf: cma_heap: Fix compile warning when !CONFIG_NO_GKI"
This reverts commit 78a3c0db57.
Convert to use rk_cma_heap.c

Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
Change-Id: I799107c485187d99f1c71e58ede360865337cf3e
2022-09-27 10:56:35 +08:00
Jianqun Xu
e8bbe70394 dma-buf: heaps: rk_cma_heap named cma-heap default to be "cma-heap"
The userland (gralloc or libdmaheap) fixed to use a heap name "cma-heap"
to be the device name, without this patch, the dt file should named the
cma default node name as "cma". otherwise it is defaultly to be "reserved"
that make the userland fail to open the device.

This patch fixes the cma-heap default name to "cma-heap".

Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
Change-Id: I09befb35bb8d4cd042b8c1c66c5d99c7d58fbbb6
2022-09-27 10:55:06 +08:00
Jianqun Xu
59b87bad33 dma-buf: heaps: rk_cma_heap fix the implement of partial sync
Make the partial sync separated from normal sync.
Fixes: dcbfe3bd8c ("dma-buf: cma_heap: support dmabuf partial sync")

Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
Change-Id: I07342cf850f212e9682a589818069977ef4b78a8
2022-09-27 10:55:06 +08:00
Jianqun Xu
cc85d657a1 dma-buf: heaps: rk_cma_heap fix module license to "GPL"
WARNING: Prefer "GPL" over "GPL v2" - see commit bf7fbeeae6
("module: Cure the MODULE_LICENSE "GPL" vs. "GPL v2" bogosity")

Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
Change-Id: I52c2110ac9b150e615bbeb497b7e997d49ec2106
2022-09-27 10:55:06 +08:00
Algea Cao
b7cf9d2872 drm/bridge: synopsys: dw-hdmi-qp: Reset avp data path before flt
Fix probabilistic no signal output in samsung 8K TV.

Signed-off-by: Algea Cao <algea.cao@rock-chips.com>
Change-Id: I366311b61595534ce8fefeb235bc9b20cb3991e0
2022-09-27 10:43:20 +08:00
Jianqun Xu
662e202de8 dma-buf: heaps: Add the rk_cma_heap
Renamed from cma_heap.c and add copyright from Rockchip.

Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
Change-Id: If67e0a76d95389b34027c1990f0816c0b95f2a28
2022-09-27 09:03:56 +08:00
Wang Xiaobin
61a8f0b804 ARM: dts: rockchip: rv1106g-smart-door: remove the meta node
The layout about meta has been changed and defined in rv1106-thunder-boot.dtsi.

Signed-off-by: Wang Xiaobin <xb.wang@rock-chips.com>
Change-Id: I9d658cdcd01905e74e7a9faaaaead6396171dd84
2022-09-26 19:25:02 +08:00
Cai YiWei
88807cdb04 media: rockchip: isp: fix stream off just close isp
Fixes: 39c3a52c25 ("media: rockchip: isp: stop without waiting if isp idle for readback mode")
Change-Id: I80446449bf705819b0266e6a0cbdc9e2ee67b57e
Signed-off-by: Cai YiWei <cyw@rock-chips.com>
2022-09-26 19:11:25 +08:00
Su Yuefu
8c27fc9fb4 media: i2c: sc3336 increase vblank to 8ms
Signed-off-by: Su Yuefu <yuefu.su@rock-chips.com>
Change-Id: I66705f4669e3af9a7ef53791a49e26f0fd83e775
2022-09-26 19:07:36 +08:00
Weiwen Chen
06eeb706c4 ARM: dts: rockchip: rv1103g-battery-ipc-v10: use erofs default
Signed-off-by: Weiwen Chen <cww@rock-chips.com>
Change-Id: I0447efd99dd55c9bf995a651ca36976accb03c43
2022-09-26 19:03:31 +08:00
Weiwen Chen
c5bdad8318 ARM: dts: rockchip: rv1106g-evb2-v10: use erofs default
Change-Id: I283eb3e7fe46eac90003d3e430ef91216c94ef2d
Signed-off-by: Weiwen Chen <cww@rock-chips.com>
2022-09-26 19:02:52 +08:00
Tao Huang
f1f705150d ARM: rv1106-tb.config: Replace ROMFS with EROFS with DAX
size vmlinux:
before:
   text    data     bss     dec     hex filename
2595092 1136900   85540 3817532  3a403c vmlinux

after:
   text    data     bss     dec     hex filename
2639206 1147196  121300 3907702  3ba076 vmlinux

Signed-off-by: Tao Huang <huangtao@rock-chips.com>
Change-Id: I2c88bec947fe1cf5f28cc0a8e2251fa4012f6165
2022-09-26 18:04:24 +08:00
Tao Huang
2c601817eb dax: allow FS_DAX when CONFIG_ROCKCHIP_RAMDISK=y on ARM
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
Change-Id: Ic73f4ad0989e33ea14d1842e2b99dd02628f242e
2022-09-26 18:04:24 +08:00
Tao Huang
2a30414424 erofs: fix panic when CONFIG_ROCKCHIP_RAMDISK=y on ARM
Internal error: Oops - BUG: 0 [#1] THUMB2
Modules linked in:
CPU: 0 PID: 271 Comm: busybox Not tainted 5.10.110 #117
Hardware name: Generic DT based system
PC is at __vm_insert_mixed+0x1e/0xda
LR is at vmf_insert_mixed+0xf/0x12
pc : [<b005a8d0>]    lr : [<b005a9ad>]    psr: 20000133
sp : b668fdb0  ip : 00000000  fp : 00000000
r10: 00000000  r9 : b0bb25a8  r8 : 00005001
r7 : 00010000  r6 : 000043a8  r5 : b6656528  r4 : 0000018f
r3 : 00007ffb  r2 : 00005001  r1 : 00010000  r0 : b6656528
Flags: nzCv  IRQs on  FIQs on  Mode SVC_32  ISA Thumb  Segment user
Control: 50c53c7d  Table: 00d6c059  DAC: 00000055
Process busybox (pid: 271, stack limit = 0xaf1f1034)
[<b005a8d0>] (__vm_insert_mixed) from [<b005a9ad>] (vmf_insert_mixed+0xf/0x12)
[<b005a9ad>] (vmf_insert_mixed) from [<b0094ef5>] (dax_iomap_pte_fault+0x429/0x470)
[<b0094ef5>] (dax_iomap_pte_fault) from [<b0130bdf>] (erofs_dax_huge_fault+0xf/0x18)
[<b0130bdf>] (erofs_dax_huge_fault) from [<b005963d>] (__do_fault+0x23/0x3a)
[<b005963d>] (__do_fault) from [<b005afa3>] (handle_mm_fault+0x259/0x45e)
[<b005afa3>] (handle_mm_fault) from [<b000f98f>] (do_page_fault+0x10f/0x184)
[<b000f98f>] (do_page_fault) from [<b000facf>] (do_DataAbort+0x27/0x80)
[<b000facf>] (do_DataAbort) from [<b000902f>] (__dabt_usr+0x4f/0x60)

Signed-off-by: Tao Huang <huangtao@rock-chips.com>
Change-Id: Id241bf92d60a473dc6baa88d65bb17a775875713
2022-09-26 18:04:24 +08:00
Tao Huang
f14ace6fc6 dax: support ARM
ARM missing define copy_user_page.

Signed-off-by: Tao Huang <huangtao@rock-chips.com>
Change-Id: Ib2ae611a9605e153e72f4c94936ab6ebcae3510e
2022-09-26 18:04:24 +08:00
Tao Huang
bd0c2d37e0 soc: rockchip: ramdisk: Add DAX support
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
Change-Id: I27085e3a323975bffc001ac8bd5188be731b9501
2022-09-26 18:04:24 +08:00
Gao Xiang
f0b75ac1fc UPSTREAM: erofs: dax support for non-tailpacking regular file
DAX is quite useful for some VM use cases in order to save guest
memory extremely with minimal lightweight EROFS.

In order to prepare for such use cases, add preliminary dax support
for non-tailpacking regular files for now.

Tested with the DRAM-emulated PMEM and the EROFS image generated by
"mkfs.erofs -Enoinline_data enwik9.fsdax.img enwik9"

Link: https://lore.kernel.org/r/20210805003601.183063-3-hsiangkao@linux.alibaba.com
Cc: nvdimm@lists.linux.dev
Cc: linux-fsdevel@vger.kernel.org
Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Gao Xiang <hsiangkao@linux.alibaba.com>
Change-Id: I640c90ce0b20e636848aac828ed0f568676e74e1
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
(cherry picked from commit 06252e9ce0)
2022-09-26 18:04:24 +08:00
Huang Jianan
282ccecc15 BACKPORT: erofs: iomap support for non-tailpacking DIO
Add iomap support for non-tailpacking uncompressed data in order to
support DIO and DAX.

Direct I/O is useful in certain scenarios for uncompressed files.
For example, double pagecache can be avoid by direct I/O when
loop device is used for uncompressed files containing upper layer
compressed filesystem.

This adds iomap DIO support for non-tailpacking cases first and
tail-packing inline files are handled in the follow-up patch.

Link: https://lore.kernel.org/r/20210805003601.183063-2-hsiangkao@linux.alibaba.com
Cc: linux-fsdevel@vger.kernel.org
Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Huang Jianan <huangjianan@oppo.com>
Signed-off-by: Gao Xiang <hsiangkao@linux.alibaba.com>
[ Add include linux/uio.h and replace filemap_read with generic_file_buffered_read ]
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
Change-Id: I421298df25eb8b5cf22ad43339d168ac50777012
(cherry picked from commit a08e67a028)
2022-09-26 18:04:24 +08:00
Sandy Huang
432173aa04 drm/rockchip: drv: fix iommu pagefault when pitch isn't aligned as 4 byte
The unit of VOP stride is word, so we return error to avoid userspace to
commit legal alignment.

Signed-off-by: Sandy Huang <hjc@rock-chips.com>
Change-Id: I147f4985f4c6304db68efb0876c3f918da76ff52
2022-09-26 18:04:24 +08:00
Algea Cao
1bf8b6d4b4 drm/bridge: synopsys: dw-hdmi-qp: Support ALLM
Add two drm properties for ALLM:

allm_capacity:
	values: 0 1
	0: sink not support ALLM
	1: sink support ALLM

allm_enable:
	0: disable ALLM
	1: enable ALLM

Signed-off-by: Algea Cao <algea.cao@rock-chips.com>
Change-Id: I0f5a6fa324c6727c37414f017b4839b3ec910206
2022-09-26 18:04:24 +08:00
Xing Zheng
5ebe93e6bf ASoC: codecs: rv1106_codec: fix and optimize ADC enabling VREF
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
Change-Id: Ieb34e125972faef68f0bef23c4819aeaf6127ee7
2022-09-26 09:43:28 +08:00
Nickey Yang
5999dafd2b arm64: rockchip_linux_config: enable CONFIG_ROCKCHIP_DW_HDCP2
Signed-off-by: Nickey Yang <nickey.yang@rock-chips.com>
Change-Id: Icedd151f0c6e6751faa39eb9c3053860c36c91fe
2022-09-26 09:39:25 +08:00
Tao Huang
a0c6cc5fdb Revert "dma-buf: system_heap: adjust orders if swiotlb limit"
This reverts commit 79c6a1e08b.
Use rk_system_heap.c instead of system_heap.c now, reverts all changes.

Signed-off-by: Tao Huang <huangtao@rock-chips.com>
Change-Id: I0351b2a839fa984729ca167c66ca10231475ec5e
2022-09-24 09:27:20 +08:00
Tao Huang
86ab879b66 Revert "dma-buf: system_heap: support cpu access partial dma-buf"
This reverts commit 21f2fd663e.
Use rk_system_heap.c instead of system_heap.c now, reverts all changes.

Signed-off-by: Tao Huang <huangtao@rock-chips.com>
Change-Id: Ica9d2358c14956a8233523b7b91e1a9d09d50632
2022-09-24 09:27:20 +08:00
Tao Huang
7f281c203b Revert "ANDROID: dma-buf: system_heap: reorder pages for scatterlist"
This reverts commit 10e18d6585.
Use rk_system_heap.c instead of system_heap.c now, reverts all changes.

Signed-off-by: Tao Huang <huangtao@rock-chips.com>
Change-Id: I32e5e13c2d9765c9cf1bbda4622731ec7a8c1848
2022-09-24 09:27:17 +08:00
Tao Huang
e83883cf87 Revert "ANDROID: dma-buf: system_heap: support to allocate pages with GFP_DMA32"
This reverts commit 8880c05e5a.
Use rk_system_heap.c instead of system_heap.c now, reverts all changes.

Signed-off-by: Tao Huang <huangtao@rock-chips.com>
Change-Id: I1b00ac9fabb0825dcedf8719a840ac8138bdc81e
2022-09-24 09:27:16 +08:00
Tao Huang
83065feb35 Revert "ANDROID: dma-buf: system_heap: allocate from dma32_pool for dma32* heap"
This reverts commit 383018f42d.
Use rk_system_heap.c instead of system_heap.c now, reverts all changes.

Signed-off-by: Tao Huang <huangtao@rock-chips.com>
Change-Id: I27099b713ac3249acb628868c7255c51b2881371
2022-09-24 09:27:16 +08:00
Tao Huang
d2c32e14b6 Revert "dma-buf: system_heap: fix compile warning"
This reverts commit 9d91ed824a.
Use rk_system_heap.c instead of system_heap.c now, reverts all changes.

Signed-off-by: Tao Huang <huangtao@rock-chips.com>
Change-Id: Ibb891bd5d9c8a1a56208b8b39402b9b7b04bdd4f
2022-09-24 09:27:16 +08:00
Tao Huang
1f9114b0ba Revert "ANDROID: dma-buf: system_heap: dynamic get ddr map info for reorder page"
This reverts commit a22edac69e.
Use rk_system_heap.c instead of system_heap.c now, reverts all changes.

Signed-off-by: Tao Huang <huangtao@rock-chips.com>
Change-Id: Iae81cc96b1e1ac3073d1e0fe4cf6cdb55abf6103
2022-09-24 09:27:15 +08:00
Tao Huang
940557cb33 Revert "dma-buf: system_heap: do force sync only if attachment list empty"
This reverts commit 33b98bf612.
Use rk_system_heap.c instead of system_heap.c now, reverts all changes.

Signed-off-by: Tao Huang <huangtao@rock-chips.com>
Change-Id: Id265fd16b1531708478f07187f50fe23e74e427e
2022-09-24 09:27:13 +08:00
Tao Huang
ea59f61ab4 Revert "dma-buf: heaps: system_heap: fix partial sync contition error"
This reverts commit e165028391.
Use rk_system_heap.c instead of system_heap.c now, reverts all changes.

Signed-off-by: Tao Huang <huangtao@rock-chips.com>
Change-Id: Iaa80d3480d2e039cdd530e3278035c84553d07e7
2022-09-24 09:27:08 +08:00
Tao Huang
e87b0f89a5 Revert "dma-buf: heaps: system_heap: fix to for_each_sgtable_sg"
This reverts commit 4925881228.
Use rk_system_heap.c instead of system_heap.c now, reverts all changes.

Signed-off-by: Tao Huang <huangtao@rock-chips.com>
Change-Id: Ib7e1dd75ff948b7a190b4169037df83d4596b70e
2022-09-24 09:27:04 +08:00
Tao Huang
7bc10a9db5 Revert "dma-buf: heaps: system_heap: partial sync with sgtable from heap buffer"
This reverts commit 3212cfb965.
Use rk_system_heap.c instead of system_heap.c now, reverts all changes.

Signed-off-by: Tao Huang <huangtao@rock-chips.com>
Change-Id: I023ebda5731f5c509c703799bfb96115701bdf9e
2022-09-24 09:26:59 +08:00
Yiqing Zeng
0d8246f6d3 ARM: dts: rockchip: disabled ircut for rv1106-ipc end rv1106-evb-cam
Signed-off-by: Yiqing Zeng <zack.zeng@rock-chips.com>
Change-Id: I83007c6be54c275f95ad13bc9930ace4c5375d0c
2022-09-23 17:15:42 +08:00
Yu Qiaowei
1e81983bed video: rockchip: rga3: Fixed the crash caused by RGA2 using dma_buf_fd
When rga2 uses sgt to generate the page table, length should be used
instead of dma_length, which will cause the length of the sgt after
the default_mapping_core to be the length of the entire dma_buf.

Update driver version to 1.2.20

Signed-off-by: Yu Qiaowei <cerf.yu@rock-chips.com>
Change-Id: I07ad619b41554ededc0c5ade552a3bc176fef3f7
2022-09-23 16:47:12 +08:00
Zhen Chen
aef810d2c1 MALI: bifrost: from ARM: do a faster & cleaner reset for unrecoverable CS_FATAL
This is part of the workaround for HW_issue_of_fragment_endpoint_TERMINATED_responses,
though it is not expected to be triggered often.

Change-Id: I6b0cf15b8050ebacd3099f52af1a03d786c6ff44
Signed-off-by: Zhen Chen <chenzhen@rock-chips.com>
2022-09-23 15:21:33 +08:00
Zhen Chen
d559263e69 MALI: bifrost: from ARM: handle_oom_event(): ignore "Invalid Heap statistics" error
Continue heap chunk alloc.

Change-Id: I49aade60f7d2402c7ae268eafb4d717f9147a88e
Signed-off-by: Zhen Chen <chenzhen@rock-chips.com>
2022-09-23 15:21:24 +08:00
Zhen Chen
c38b77a6e2 MALI: rockchip: upgrade bifrost DDK to g13p0-01eac0, from g12p0-01eac0
Note, the corresponding mali_csffw.bin for DDK g13 MUST be used.

Change-Id: I63c00b4eccd2e780aea2691faa2ecea6847c41e2
Signed-off-by: Zhen Chen <chenzhen@rock-chips.com>
2022-09-23 15:21:15 +08:00
Zefa Chen
ae49253925 media: rockchip: vicap: rkcif_rx_buufer uses its own list_head
Signed-off-by: Zefa Chen <zefa.chen@rock-chips.com>
Change-Id: I15f0d631095d249daedeee859c4671de12dd750b
2022-09-23 11:14:55 +08:00
Huibin Hong
4ed56e5bde arm64: dts: rockchip: rk3588-android: add boot-log-size for ramoops
Signed-off-by: Huibin Hong <huibin.hong@rock-chips.com>
Change-Id: I60c3ff0f63b9982ce6616e73b4138bac5d2fd24c
2022-09-23 09:48:10 +08:00
Huibin Hong
7daafa597a arm64: rockchip_defconfig: enable CONFIG_PSTORE_BOOT_LOG
We can run "cat /sys/fs/pstore/boot-log-ramoops-0" to cat
tpl,spl,uboot,atf,optee boot log.

Signed-off-by: Huibin Hong <huibin.hong@rock-chips.com>
Change-Id: Iffccd1bc6fa97c7e84f56c038b56caad8cd69c15
2022-09-23 09:44:45 +08:00
Huibin Hong
fb41ff66cb fs: pstore: rename mcu log to boot log
It is not only for mcu log now, includes tpl, spl, uboot,
atf, optee and so on.

Signed-off-by: Huibin Hong <huibin.hong@rock-chips.com>
Change-Id: Ia3bb0db39edf9cfba2ef41982a6134f0f20c5d53
2022-09-23 09:42:59 +08:00
Kever Yang
a648efab5e phy: rockchip-naneng-combo: Add ssc support for pcie
Best parameter: 24M T0_1 650mV.

Should co-work with change like below:

&combphy0_ps {
+	rockchip,enable-ssc;
+       assigned-clock-rates = <24000000>;
        status = "okay";
};

Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
Change-Id: I863b8d1758431c0037332e7da1b2c64cd7113573
2022-09-22 18:49:19 +08:00
Sebastian Reichel
48401c5ee2 UPSTREAM: pinctrl/rockchip: add error handling for pull/drive register getters
Add error handling for the pull and driver register getters in preparation
for RK3588 support.

Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
Reviewed-by: Heiko Stübner <heiko@sntech.de>
Link: https://lore.kernel.org/r/20220422170920.401914-13-sebastian.reichel@collabora.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
(cherry picked from commit 42573ab3b9)

Fix more error handling for codes havn't upstream yet.

Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
Change-Id: Ieb9f502c702ce4ac97fbfc1c426d072f4253f1d2
2022-09-22 14:58:57 +08:00
Luca Ceresoli
f9dd52afac UPSTREAM: pinctrl: rockchip: sort the rk3308_mux_recalced_data entries
All the entries are sorted according to num/pin except for two
entries. Sort them too.

Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
Reviewed-by: Heiko Stuebner <heiko@sntech.de>
Link: https://lore.kernel.org/r/20220420142432.248565-2-luca.ceresoli@bootlin.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
(cherry picked from commit 7c4cffc5d4)
Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
Change-Id: I4f58ebf64d3acba726c3d4c90a0a9796d47d514a
2022-09-22 14:58:57 +08:00
Luca Ceresoli
ae7b9050a3 UPSTREAM: pinctrl: rockchip: fix RK3308 pinmux bits
Some of the pinmuxing bits described in rk3308_mux_recalced_data are wrong,
pointing to non-existing registers.

Fix the entire table.

Also add a comment in front of each entry with the same string that appears
in the datasheet to make the table easier to compare with the docs.

This fix has been tested on real hardware for the gpio3b3_sel entry.

Fixes: 7825aeb7b2 ("pinctrl: rockchip: add rk3308 SoC support")
Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
Reviewed-by: Heiko Stuebner <heiko@sntech.de>
Link: https://lore.kernel.org/r/20220420142432.248565-1-luca.ceresoli@bootlin.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
(cherry picked from commit 1f3e25a068)
Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
Change-Id: Ide1ec0fdd675a29e3359049beb7777ec13b49738
2022-09-22 14:58:57 +08:00
Caleb Connolly
3f81f50a85 UPSTREAM: pinctrl/rockchip: support setting input-enable param
Handle the PIN_CONFIG_INPUT_ENABLE param for configuring GPIOs as input.

Signed-off-by: Caleb Connolly <kc@postmarketos.org>
Link: https://lore.kernel.org/r/20220328005005.72492-3-kc@postmarketos.org
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
(cherry picked from commit 42d90a1e5c)
Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
Change-Id: Iefcccf3b9b9ccb5f6729e304ad4ef38664018212
2022-09-22 14:58:57 +08:00
Caleb Connolly
fd1e3e6b93 UPSTREAM: pinctrl/rockchip: support deferring other gpio params
Add support for deferring other params like PIN_CONFIG_INPUT_ENABLE.
This will be used to add support for PIN_CONFIG_INPUT_ENABLE to the
driver.

Fixes: e7165b1dff ("pinctrl/rockchip: add a queue for deferred pin output settings on probe")
Fixes: 59dd178e1d ("gpio/rockchip: fetch deferred output settings on probe")
Signed-off-by: Caleb Connolly <kc@postmarketos.org>
Link: https://lore.kernel.org/r/20220328005005.72492-2-kc@postmarketos.org
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
(cherry picked from commit 8ce5ef6454)
Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
Change-Id: I7935986c9fdff1d74f5ccd08e2457d1f50d3bf35
2022-09-22 14:58:57 +08:00
John Keeping
f37a9465ce UPSTREAM: pinctrl/rockchip: fix gpio device creation
GPIO nodes are not themselves busses, so passing rockchip_bank_match
here is wrong.  Passing NULL instead uses the standard bus match table
which is more appropriate.

devm_of_platform_populate() shows that this is the normal way to call
of_platform_populate() from a device driver, so in order to match that
more closely also add the pinctrl device as the parent for the newly
created GPIO controllers.

Specifically, using the wrong match here can break dynamic GPIO hogs as
marking the GPIO bank as a bus means that of_platform_notify() will set
OF_POPULATED on new child nodes and if this happens before
of_gpio_notify() is called then the new hog will be skipped as
OF_POPULATED is already set.

Fixes: 9ce9a02039 ("pinctrl/rockchip: drop the gpio related codes")
Signed-off-by: John Keeping <john@metanate.com>
Link: https://lore.kernel.org/r/20211126151352.1509583-1-john@metanate.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
(cherry picked from commit bceb6732f3)
Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
Change-Id: I21e0944d239cc85598b2638c952abadd85f55148
2022-09-22 14:58:57 +08:00