Commit Graph

1065046 Commits

Author SHA1 Message Date
Wyon Bi
965af3f6dc arm64: dts: rockchip: rk3588s-tablet: Enable psr support for edp
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
Change-Id: If66981c3641623bf77ea9d92aa89f36b4aa12769
2022-02-23 11:05:19 +08:00
Yu Qiaowei
9b0e3b157c video: rockchip: rga3: Fix "unknown ioctl cmd" error
Because of the difference in pointer size between 32/64 bit systems.

Update driver version to 1.2.4

Signed-off-by: Yu Qiaowei <cerf.yu@rock-chips.com>
Change-Id: If557cdeb69f1f811eed6cf44419cbb73679dada0
2022-02-22 20:15:36 +08:00
Damon Ding
a87b81ab11 ARM: dts: rockchip: add DSS, VOP and RGB nodes for rv1106
Signed-off-by: Damon Ding <damon.ding@rock-chips.com>
Change-Id: Iae549241adfc4418a7c149024385df6b81a55bea
2022-02-22 18:56:48 +08:00
David Wu
2f2111686d net: ethernet: stmmac: Add config option for full driver
Add this config option to reduce memory usage, if it was not necessary.

./ksize.sh drivers/net/ethernet/stmicro/

before size: 109539 Bytes
after  size: 70125 Bytes
save   size: 39414 Bytes

Change-Id: I5f6b4573d7358c3b6f046e960c7ddf7d53541b14
Signed-off-by: David Wu <david.wu@rock-chips.com>
2022-02-22 18:41:35 +08:00
David Wu
541323a247 net: ethernet: stmmac: Add config option for stmmac ethtool
Add this config option to reduce memory usage, if it was not necessary.

./ksize.sh drivers/net/ethernet/stmicro/

before size: 121861 Bytes
after  size: 109539 Bytes
save   size: 12322 Bytes

Signed-off-by: David Wu <david.wu@rock-chips.com>
Change-Id: I828130d961846a955b998d63afffbabcc9dd5925
2022-02-22 18:38:46 +08:00
Chen Shunqing
a42414454f power: supply: bq25890: disable auto dp/dm detection if pd support
Signed-off-by: Chen Shunqing <csq@rock-chips.com>
Change-Id: Ib37679d60fa645771f6152309d0701d2bf768f7d
2022-02-22 18:11:04 +08:00
Damon Ding
6c4fc169ef drm/rockchip: vop: add support for rv1106
Signed-off-by: Damon Ding <damon.ding@rock-chips.com>
Change-Id: Ibae1c984f55757d95bde9c83ca008a71387f3245
2022-02-22 18:10:34 +08:00
Damon Ding
544d0c6dec drm/rockchip: rgb: add support for rv1106
Signed-off-by: Damon Ding <damon.ding@rock-chips.com>
Change-Id: I882b7d4724c3d5c6b082cc50218306d9d6983329
2022-02-22 18:10:20 +08:00
William Wu
09c03ebbdf phy: rockchip: inno-usb2: Add usb2 phy support for rv1106
This patch adds phy configuration for rv1106 usb2 phy
which has only one otg port.

Signed-off-by: William Wu <william.wu@rock-chips.com>
Change-Id: Ida93914f3eae3d692265bcf9751d9150619098af
2022-02-22 17:53:40 +08:00
William Wu
11b7143224 dt-bindings: phy: rockchip-inno-usb2: add binding for rv1106 usb2 phy
This adds "rockchip,rv1106-usb2phy" compatible property.

Signed-off-by: William Wu <william.wu@rock-chips.com>
Change-Id: I84021f8ca2323a4f40b8ac574c89de7e9e78a48d
2022-02-22 17:53:40 +08:00
Jon Lin
592eb21c88 mtd: spi-nor: eon: Enable SECT_4K erase for en25qh128 and en25qh256
Change-Id: I62b462ba666a7975618bf467ec8296353538515f
Signed-off-by: Jon Lin <jon.lin@rock-chips.com>
2022-02-22 15:04:44 +08:00
Jubin Zhong
83c382f436 FROMLIST: kbuild: Enable armthumb BCJ filter for Thumb-2 kernel
xz_wrap.sh use $SRCARCH to detect the BCJ filter. However, assigning
arm BCJ filter to Thumb-2 kernel is not optimal. In my case, about 5%
decrease of image size is observed with armthumb BCJ filter:

Test results:
  hardware:      QEMU emulator version 3.1.0
  config:        vexpress_defconfig with THUMB2_KERNEL & KERNEL_XZ on
  arm BCJ:       4029808
  armthumb BCJ:  3827280

Choose armthumb BCJ filter for Thumb-2 kernel to make smaller images.

Signed-off-by: Jubin Zhong <zhongjubin@huawei.com>

Link: https://lore.kernel.org/lkml/1637323647-19988-1-git-send-email-zhongjubin@huawei.com/
Change-Id: I23c6e0fd2e54fdc84e78f122d6f4f06e54026696
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
2022-02-22 15:04:18 +08:00
Wyon Bi
8e1b286c67 arm64: dts: rockchip: rk3588-evb2-lp4-v10-edp2dp: Use hpd pinmux
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
Change-Id: I1d2bd4e31df86a17fa0a30d78643bf1915d6c066
2022-02-22 14:53:36 +08:00
Wyon Bi
1a4c9d772a drm/bridge: analogix_dp: Rework irq handling
Tested on RK3588.

Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
Change-Id: Iee8bbe592ea89e29b5e412727312398d3cfb3924
2022-02-22 14:53:17 +08:00
Wyon Bi
6502496d17 soc: rockchip: grf: Connect EDP hpd to IO for RK3588
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
Change-Id: Idacba64036c06dbeddd3744f33a300ee79848503
2022-02-22 14:32:47 +08:00
Wyon Bi
1cdd3036b1 drm/bridge: analogix_dp: Send hotplug uevent on modeset failure
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
Change-Id: Ib5db167aff5d8685b021790dcb7d79b63fbedebf
2022-02-22 14:29:06 +08:00
Xiao Ya peng
8e62d08c49 arm64: rk3588_nvr.config: disable PCIE_RK_THREADED_INIT.
Signed-off-by: Xiao Ya peng <yp.xiao@rock-chips.com>
Change-Id: I64bab5cdbe1206374b8760450a4412c5a77750c5
2022-02-22 14:21:37 +08:00
Weixin Zhou
05d63392b5 arm64: dts: rockchip: rk3588s-tablet-rk806-single: Set panel frames to 60fps
Signed-off-by: Weixin Zhou <zwx@rock-chips.com>
Change-Id: Ifae6abf26219a710ff30bf06d832d4a7861091b4
2022-02-22 14:13:38 +08:00
Li Huang
65cfe5f2c0 video: rockchip: rga3: use get_dma_buf to add ref for mpi dma_buf
Signed-off-by: Li Huang <putin.li@rock-chips.com>
Change-Id: Ie08cf1a296a166ed5b5bd273d485f6e56a6be022
2022-02-22 11:58:32 +08:00
Li Huang
ffcf7864ac video: rockchip: rga3: fixup rga load
Signed-off-by: Li Huang <putin.li@rock-chips.com>
Change-Id: Id09a22819f4d118d1702b6eb7299279f0bd3fcc8
2022-02-22 11:58:31 +08:00
Li Huang
3392d01212 video: rockchip: rga3: support batch mode
Signed-off-by: Li Huang <putin.li@rock-chips.com>
Change-Id: Ib2f9a7815024d468ce1babb0e19789c458653329
2022-02-22 11:58:20 +08:00
William Wu
06f6b703b2 ARM: dts: rockchip: Add usb nodes for rv1106
This patch adds u2phy node and usb controller node for rv1106.

Signed-off-by: William Wu <william.wu@rock-chips.com>
Change-Id: I368acc1dde145b3a985490667e2f4df748e3b3bd
2022-02-21 19:22:43 +08:00
Shaoxing Chen
762bde6c28 r8168: disable CONFIG_SOC_LAN
The function of this configuration is to be used in early SoCs.
limiting the PCIe max request size to reduce the loading of PCIe
transmission performance, it may cause performance degradation.

Signed-off-by: Shaoxing Chen <csx@rock-chips.com>
Change-Id: I35927fde49d96473c01cab62d1b0e461bda43738
2022-02-21 18:28:40 +08:00
Mark Huang
4857316426 arm64: configs: update rk3588_nvr.config
Signed-off-by: Mark Huang <huangjc@rock-chips.com>
Change-Id: I38d5bbc0c6d7199a784616b590d9d66b073fc67f
2022-02-21 16:41:07 +08:00
Yu Qiaowei
8cea529be7 video: rockchip: rga3: Synchronization of user-space image formats
Update driver version to 1.2.3

Signed-off-by: Yu Qiaowei <cerf.yu@rock-chips.com>
Change-Id: I73ff1105bf52f67809be42fb1b45ca08451e17cf
2022-02-21 16:04:48 +08:00
Tao Huang
a343e3c408 clk: rockchip: clk-ddr: Mark rockchip_ddrclk_scpi_ops as __maybe_unused
drivers/clk/rockchip/clk-ddr.c:166:29: warning: rockchip_ddrclk_scpi_ops defined but not used [-Wunused-const-variable=]

Fixes: 20d9591cb6 ("clk: rockchip: optimize static memory consume")
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
Change-Id: Ie90045e8a30670bd697427ea230fedaa20bfcc01
2022-02-21 15:23:04 +08:00
Sandy Huang
0f0a555e61 drm/rockchip: vop2: add vop2_crtc_wait_vact_end for psr panel
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
Change-Id: I29a0b89fa9b2e5f3dd50d699582b3d060f7b3363
2022-02-21 11:30:57 +08:00
Sandy Huang
7b29f1b70a drm/rockchip: drv: Add rockchip_drm_wait_vact_end for psr panel
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
Change-Id: I8d9d7dc26d2a4197ab5ac5a8d40cb1c03904f3ab
2022-02-21 11:30:57 +08:00
David Wu
defb18abcd net: ethernet: stmmac: dwmac-rk: Add config option for dwmac-rk-tool
Add this config option to reduce memory usage, if it was not necessary.

./ksize.sh drivers/net/ethernet/stmicro/

before size: 131758 Bytes
after  size: 121861 Bytes
save   size: 9897   Bytes

Signed-off-by: David Wu <david.wu@rock-chips.com>
Change-Id: I96c88d5eb5109fc956a85b8685e1746d76545a87
2022-02-20 20:52:42 +08:00
Tao Huang
9285917d7b net: stmmac: dwmac-rk: build depends on CPU config
When build with rv1126_defconfig:

before:
   text	   data	    bss	    dec	    hex	filename
  17063	    144	      0	  17207	   4337	drivers/net/ethernet/stmicro/stmmac/dwmac-rk.o

after:
   text	   data	    bss	    dec	    hex	filename
   7387	    144	      0	   7531	   1d6b	drivers/net/ethernet/stmicro/stmmac/dwmac-rk.o

Signed-off-by: Tao Huang <huangtao@rock-chips.com>
Change-Id: I941f79357f686f5d35e727abea2fe26c4ea0dafa
2022-02-20 20:45:36 +08:00
Yu Qiaowei
75b148bcbe video: rockchip: rga3: Integration of format-related processing
1. Wrapped some format-related functions, avoid using formatted
index values.
2. Fix incorrect format alignment requirements.

Signed-off-by: Yu Qiaowei <cerf.yu@rock-chips.com>
Change-Id: I3f1493dc59f9b303f6e8f289f63b515ad56d3651
2022-02-18 20:15:20 +08:00
Wangqiang Guo
ab238eac93 input: sensor: light/proximity sensor: support ucs14620
Signed-off-by: Wangqiang Guo <kay.guo@rock-chips.com>
Change-Id: If3bb5077e0a5d4cc7a5581b479f39ee1bc4f3b1b
2022-02-18 16:56:01 +08:00
Elaine Zhang
20d9591cb6 clk: rockchip: optimize static memory consume
Before:
text    data     bss     dec     hex filename
   5661      24      16    5701    1645 clk.o
  10990       0      36   11026    2b12 clk-pll.o
   2288       0       0    2288     8f0 clk-cpu.o
   1856       0       0    1856     740 clk-half-divider.o
    607       0       0     607     25f clk-inverter.o
    872       0       0     872     368 clk-mmc-phase.o
    580       0       0     580     244 clk-muxgrf.o
   1524       0      12    1536     600 clk-ddr.o
   1322       0       0    1322     52a clk-dclk-divider.o
   2368     160       0    2528     9e0 clk-pvtm.o
After:
text    data     bss     dec     hex filename
   5461      24      16    5501    157d clk.o
   4864       0      36    4900    1324 clk-pll.o
   2164       0       0    2164     874 clk-cpu.o
   1856       0       0    1856     740 clk-half-divider.o
    872       0       0     872     368 clk-mmc-phase.o
    580       0       0     580     244 clk-muxgrf.o
    908       0       8     916     394 clk-ddr.o
    660       0       0     660     294 softrst.o

Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
Change-Id: I469229b9566af1cab6cc3a6bb9f4f8e308e0eded
2022-02-18 16:51:11 +08:00
ZiHan Huang
a1c7a21e37 arm64: dts: rockchip: rk3588-ipc: Remove the frequency below 1.2g from the CPU
Signed-off-by: ZiHan Huang <zack.huang@rock-chips.com>
Change-Id: Ie3c09b1201537b70a71f9d37b11b70f076591b97
2022-02-18 16:32:02 +08:00
XiaoDong Huang
905292577d arm64: dts: rockchip: rk3588-nvr-demo: overwrite rk806single node
Overwrite rk806single node for virtual poweroff:
1. Don't close 24M_osc's power in suspend;
2. Pmic's pinctrl switch to sleep function in system poweroff;

Signed-off-by: XiaoDong Huang <derrick.huang@rock-chips.com>
Change-Id: I3287eb57f5e18bf76f7f2468b997edd787d7c3f9
2022-02-18 16:31:40 +08:00
XiaoDong Huang
c67b9d6c2d arm64: dts: rockchip: rk3588-nvr-demo: overwrite rockchip_suspend node
Overwrite rockchip_suspend node for waking up by pwm_int in system suspend:
1. Use 24M clock in suspend;
2. Enable RKPM_CPU0_WKUP_EN wakeup;
3. Enable virtual-poweroff;
4. Enable sleep-debug-en;

Signed-off-by: XiaoDong Huang <derrick.huang@rock-chips.com>
Change-Id: I10685799a90cc5dde2f698924e5bd8a45ad00b27
2022-02-18 16:31:40 +08:00
Herman Chen
baccd98fb9 video: rockchip: mpp: Add message batch process
1. Add SET_SESSION_FD cmd for message session switch.
2. Use session to temporally store the ioctl message. Default message
   capacity is 2. For multi-core hardware the message capacity can be
   larger.
3. Split message handling into several stages. All the batch messages
   are attached to the temporary list and process stage by stage.

Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: I9d96bb96c24001dc5d27893fb09d1b8073d1a4a5
2022-02-18 16:31:11 +08:00
Yu Qiaowei
d6ce2a864f video: rockchip: rga3: rga_mm supports physically continuous dma_buf
When calling RGA2 with a physically contiguous dma_buf it will be called
with the physical address.

Signed-off-by: Yu Qiaowei <cerf.yu@rock-chips.com>
Change-Id: Iadb2d638b426c9be64a403b42513f8c7b58fb866
2022-02-18 11:28:48 +08:00
Steven Liu
3c9d35599a ARM: dts: rockchip: add rv1106 pinctrl file
Signed-off-by: Steven Liu <steven.liu@rock-chips.com>
Change-Id: If112f17b407db9046e86c75de6dc78671925a618
2022-02-18 10:33:02 +08:00
Wyon Bi
1e6a3f893b drm/bridge: analogix_dp: Add psr support for rk3588
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
Change-Id: I2004acef465a81b319533b15e15534f4e478aa7e
2022-02-18 10:04:16 +08:00
Wyon Bi
15459de1b5 drm/rockchip: analogix_dp: Add support for split mode
Fixes: 80db5a7bc7 ("drm/rockchip: analogix_dp: Add support for split mode")
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
Change-Id: I78adabb09462c9f612a369fd45d60fb701612d49
2022-02-18 10:04:16 +08:00
Wyon Bi
d0f6f91898 phy/rockchip: samsung-hdptx: Disable main link if lanes arg is zero
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
Change-Id: I59a88b37ae49d409b78e0f4764c1a9ec4e7b978c
2022-02-18 10:04:16 +08:00
Brian Norris
18a88f8ecc UPSTREAM: drm/bridge: analogix_dp: Make PSR-exit block less
Prior to commit 6c836d965b ("drm/rockchip: Use the helpers for PSR"),
"PSR exit" used non-blocking analogix_dp_send_psr_spd(). The refactor
started using the blocking variant, for a variety of reasons -- quoting
Sean Paul's potentially-faulty memory:

"""
 - To avoid racing a subsequent PSR entry (if exit takes a long time)
 - To avoid racing disable/modeset
 - We're not displaying new content while exiting PSR anyways, so there
   is minimal utility in allowing frames to be submitted
 - We're lying to userspace telling them frames are on the screen when
   we're just dropping them on the floor
"""

However, I'm finding that this blocking transition is causing upwards of
60+ ms of unneeded latency on PSR-exit, to the point that initial cursor
movements when leaving PSR are unbearably jumpy.

It turns out that we need to meet in the middle somewhere: Sean is right
that we were "lying to userspace" with a non-blocking PSR-exit, but the
new blocking behavior is also waiting too long:

According to the eDP specification, the sink device must support PSR
entry transitions from both state 4 (ACTIVE_RESYNC) and state 0
(INACTIVE). It also states that in ACTIVE_RESYNC, "the Sink device must
display the incoming active frames from the Source device with no
visible glitches and/or artifacts."

Thus, for our purposes, we only need to wait for ACTIVE_RESYNC before
moving on; we are ready to display video, and subsequent PSR-entry is
safe.

Tested on a Samsung Chromebook Plus (i.e., Rockchip RK3399 Gru Kevin),
where this saves about 60ms of latency, for PSR-exit that used to
take about 80ms.

Fixes: 6c836d965b ("drm/rockchip: Use the helpers for PSR")
Cc: <stable@vger.kernel.org>
Cc: Zain Wang <wzz@rock-chips.com>
Cc: Tomasz Figa <tfiga@chromium.org>
Cc: Heiko Stuebner <heiko@sntech.de>
Cc: Sean Paul <seanpaul@chromium.org>
Signed-off-by: Brian Norris <briannorris@chromium.org>
Reviewed-by: Sean Paul <seanpaul@chromium.org>
Signed-off-by: Robert Foss <robert.foss@linaro.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20211103135112.v3.1.I67612ea073c3306c71b46a87be894f79707082df@changeid

Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
Change-Id: Idd20cb5533a6c56dfd291d5977a92ad28b02ce73
(cherry picked from commit c4c6ef2295)
2022-02-18 10:04:16 +08:00
Lin Jinhan
2b1119ffcf crypto: rockchip: cryptodev: optimized CIOCGSESSION return value
When the CIOCGSESSION command creates an unsupported algorithm or mode,
 errno is set to -ENOEN.

Add SM3/HMAC_SM3 support.

Move CMAC/CBCMAC from cipher to hmac.

Signed-off-by: Lin Jinhan <troy.lin@rock-chips.com>
Change-Id: I4f5f274ffe47d2b81584c192991670ddb2e3def5
2022-02-18 09:56:06 +08:00
Sugar Zhang
693ed82bdd ARM: configs: Add mini defconfig for rv1106
This patch minimize config for IPC products picked from
branch develop-4.19 and then do minimize work on branch develop-5.10.

System Features Disabled:

- CONFIG_TEE
- CONFIG_OPTEE
- CONFIG_ARM_PSCI
- CONFIG_IO_URING
- CONFIG_LOG_BUF_SHIFT=16
+ CONFIG_LOG_BUF_SHIFT=14
- CONFIG_CPU_ISOLATION
- CONFIG_LOG_CPU_MAX_BUF_SHIFT=0
- CONFIG_ARM_ERRATA_643719
- CONFIG_SMP
- CONFIG_SCHED_MC

Module Disabled:

- CONFIG_MFD_RK808
- CONFIG_ROCKCHIP_IODOMAIN (hw auto on rv1106)
- CONFIG_IOMMU_SUPPORT
- CONFIG_ROCKCHIP_SIP
- CONFIG_ROCKCHIP_SUSPEND_MODE
- CONFIG_VIDEO_ROCKCHIP_ISPP
- CONFIG_ROCKCHIP_PM_DOMAINS

Module Features Disabled:

- CONFIG_MEDIA_CEC_SUPPORT
- CONFIG_MEDIA_ANALOG_TV_SUPPORT
- CONFIG_MEDIA_DIGITAL_TV_SUPPORT
- CONFIG_MEDIA_RADIO_SUPPORT
- CONFIG_MEDIA_SDR_SUPPORT
- CONFIG_MEDIA_TEST_SUPPORT
- CONFIG_ROCKCHIP_MPP_RKVDEC
- CONFIG_ROCKCHIP_MPP_VDPU2
- CONFIG_ROCKCHIP_MPP_IEP2
- CONFIG_NVMEM_SYSFS
- CONFIG_DEBUG_MISC
- CONFIG_ROCKCHIP_CLK_COMPENSATION
- CONFIG_CLK_RV1108
- CONFIG_CLK_RV1126
- CONFIG_CLK_RK3036
- CONFIG_CLK_RK312X
- CONFIG_CLK_RK3188
- CONFIG_CLK_RK322X
- CONFIG_CLK_RK3288

Changelog:
v11: Disable SMP for single A7

    - CONFIG_CPU_ISOLATION
    - CONFIG_LOG_CPU_MAX_BUF_SHIFT=0
    - CONFIG_ARM_ERRATA_643719
    - CONFIG_SMP
    - CONFIG_SCHED_MC

v10: Disable rockchip power domain

    - CONFIG_ROCKCHIP_PM_DOMAINS

v9: Decrease log buf from 64KB to 16KB

    - CONFIG_LOG_BUF_SHIFT=16
    + CONFIG_LOG_BUF_SHIFT=14

    $ ./scripts/bloat-o-meter kernel/printk/printk.o.old kernel/printk/printk.o
    add/remove: 0/0 grow/shrink: 0/3 up/down: 0/-202752 (-202752)
    Function                                     old     new   delta
    _printk_rb_static_descs                    24576    6144  -18432
    __log_buf                                  65536   16384  -49152
    _printk_rb_static_infos                   180224   45056 -135168
    Total: Before=297532, After=94780, chg -68.14%

    The follow commit make DATA/BSS 200+ KB larger, Currently, just
    decrease CONFIG_LOG_BUF_SHIFT to minimize.

    896fbe20b4 ("printk: use the lockless ringbuffer")

v8: Disable io uring

    - CONFIG_IO_URING

v7: Disable clk for other SoC
    Disable clk compensation

v6: Enable CONFIG_CPU_RV1106

    - CONFIG_CPU_RV1126=y
    + CONFIG_CPU_RV1106=y

v5: Disable SIP with no ATF/TEE

    - CONFIG_ROCKCHIP_SIP=y
    - CONFIG_ROCKCHIP_SUSPEND_MODE=y
    - CONFIG_TEE=y
    - CONFIG_OPTEE=y
    - CONFIG_ARM_PSCI=y

    This also fix panic on FPGA which has no TEE/ATF.

    Fixes: b9c1178cad ("drm/rockchip: gem: dynamic get ddr map info for reorder page")

    [<b0013a48>] (unwind_backtrace) from [<b0010648>] (show_stack+0x10/0x14)
    [<b0010648>] (show_stack) from [<b04653b8>] (dump_stack_lvl+0x90/0xa8)
    [<b04653b8>] (dump_stack_lvl) from [<b0376750>] (__invoke_sip_fn_smc+0x20/0x84)
    [<b0376750>] (__invoke_sip_fn_smc) from [<b0376dc4>] (sip_smc_request_share_mem+0x24/0x50)
    [<b0376dc4>] (sip_smc_request_share_mem) from [<b0376e18>] (sip_smc_get_dram_map+0x28/0x90)
    [<b0376e18>] (sip_smc_get_dram_map) from [<b0268b38>] (rockchip_gem_get_ddr_info+0x8/0x28)
    [<b0268b38>] (rockchip_gem_get_ddr_info) from [<b0619378>] (rockchip_drm_init+0x50/0x78)
    [<b0619378>] (rockchip_drm_init) from [<b0009910>] (do_one_initcall+0x70/0x160)
    [<b0009910>] (do_one_initcall) from [<b0602fb0>] (kernel_init_freeable+0x1bc/0x208)
    [<b0602fb0>] (kernel_init_freeable) from [<b04684c4>] (kernel_init+0x8/0xf8)
    [<b04684c4>] (kernel_init) from [<b00083b8>] (ret_from_fork+0x14/0x3c)
    Exception stack(0xb084ffb0 to 0xb084fff8)
    ffa0:                                     00000000 00000000 00000000 00000000
    ffc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    ffe0: 00000000 00000000 00000000 00000000 00000013 00000000
    Bad mode in data abort handler detected
    Internal error: Oops - BUG: 0 [#1] PREEMPT SMP ARM
    Modules linked in:
    CPU: 0 PID: 1 Comm: swapper/0 Not tainted 5.10.66 #18
    Hardware name: Generic DT based system
    PC is at vector_swi+0x4/0x44
    LR is at __invoke_sip_fn_smc+0x6c/0x84

v4: Disable iommu support.

    - CONFIG_IOMMU_SUPPORT

v3: Switch to KERNEL_XZ for minimize image size.

    + CONFIG_KERNEL_XZ
    - CONFIG_KERNEL_LZ4

v2: Disable pmic, iodomain, and some decoders.

v1: Cherry-pick and init config by savedefconfig on develop-5.10:
    make ARCH=arm savedefconfig
    cp defconfig arch/arm/configs/rv1106_mini_defconfig

As a reference for the original work for the tiny memory products
on branch develop-4.19:

| https://10.10.10.29/c/rk/kernel/+/132901/19
|
| Test based on commit branch: develop-4.19
| b84613bfeb ("ASoC: rockchip: Kconfig: Remove unused PREALLOC_BUFFER_SIZE")
|
| Compiled with rv1126_defconfig;
|
| $ ls -l
| 12881196 arch/arm/boot/Image
| 5950856 arch/arm/boot/zImage (lz4)
| 3643824 arch/arm/boot/zImage (xz)
|
| $ size vmlinux
|    text    data     bss     dec     hex filename
| 8235528	1998740	 256784	10491052 a014ac	vmlinux
|
| Compiled with rv1106_mini_defconfig:
|
| $ ls -l
| 5808184 arch/arm/boot/Image
| 3359464 arch/arm/boot/zImage (lz4)
| 2078880 arch/arm/boot/zImage (xz)
|
| Note: xz is smaller but boot slowly.
|
| $ size vmlinux
|    text    data     bss     dec     hex filename
| 4628287	1169884	 141472	5939643	 5aa1bb	vmlinux
|
| a. + CONFIG_SMP Disabled (for single core):
|
| $ ls -l
| 5733720 arch/arm/boot/Image
| 2007456 arch/arm/boot/zImage (xz)
|
| $ size vmlinux
|    text    data     bss     dec     hex filename
| 4583931	1136960	 135356	5856247	 595bf7	vmlinux
|
| b. + CONFIG_THUMB2_KERNEL
|
| $ ls -l
| 4365656 arch/arm/boot/Image ~24% smaller
| 2157208 arch/arm/boot/zImage (xz) bigger than arm inst ?
|
| $ size vmlinux
|    text    data     bss     dec     hex filename
| 3219691	1136952	 135356	4491999	 448adf	vmlinux
|
| -------------------------------------------------------------------------
|
| Compared to rv1126_defconfig:
|
| SubSystem Disabled:
|
| - CONFIG_BT
| - CONFIG_WIRELESS
| - CONFIG_SCSI
| - CONFIG_INPUT
| - CONFIG_USB
| - CONFIG_NEW_LEDS
| - CONFIG_MAILBOX
|
| Module Disabled:
|
| - CONFIG_RK_FLASH when eMMC
| - CONFIG_ARM_ROCKCHIP_DMC_DEVFREQ
| - CONFIG_ARM_ROCKCHIP_DMC_DEBUG
| - CONFIG_SND_HRTIMER
| - CONFIG_SND_ALOOP
| - CONFIG_SND_PROC_FS
| - CONFIG_SND_DRIVERS
| - CONFIG_SND_SOC_ROCKCHIP_I2S
| - CONFIG_SND_SOC_ROCKCHIP_PDM
| - CONFIG_SND_SOC_DUMMY_CODEC
| - CONFIG_OVERLAY_FS
| - CONFIG_UBIFS_FS when eMMC
| - CONFIG_MTD_UBI
| - CONFIG_SQUASHFS
| - CONFIG_PSTORE
| - CONFIG_VFAT_FS
| - CONFIG_NTFS_FS
| - CONFIG_VIDEO_IMX347
| - CONFIG_VIDEO_IMX378
| - CONFIG_VIDEO_OV4689
| - CONFIG_VIDEO_GC4C33
| - CONFIG_DRM_ROCKCHIP
| - CONFIG_BACKLIGHT_LCD_SUPPORT
| - CONFIG_PHY_ROCKCHIP_INNO_MIPI_DPHY
|
| Module Features Disabled:
|
| - CONFIG_RK_CONSOLE_THREAD
| - CONFIG_NET_KEY
| - CONFIG_SYN_COOKIES
| - CONFIG_PACKET (DHCP related)
| - CONFIG_LBDAF (ext4 2TB+)
| - CONFIG_BLK_DEV_BSG
| - CONFIG_FILE_LOCKING
| - CONFIG_INOTIFY_USER
| - CONFIG_NLS_CODEPAGE_437
| - CONFIG_NLS_ISO8859_1
| - CONFIG_I2C_MUX
| - CONFIG_PTP_1588_CLOCK
| - CONFIG_ARM_CRYPTO
| - CONFIG_CRYPTO_SHA1_ARM
| - CONFIG_CRYPTO_SHA256_ARM
| - CONFIG_CRYPTO_SHA512_ARM
| - CONFIG_STMMAC_ETHTOOL
| - CONFIG_STMMAC_FULL
| - CONFIG_DWMAC_ROCKCHIP_TOOL
| - CONFIG_ETHTOOL
| - CONFIG_FILTER
| - CONFIG_STMMAC_PTP
|
| System Features Disabled:
|
| - CONFIG_HIGHMEM
| - CONFIG_VDSO
| - CONFIG_ZRAM
| - CONFIG_SWAP
| - CONFIG_BLK_DEV_INITRD
| - CONFIG_INITRD_ASYNC
| - CONFIG_KERNEL_MODE_NEON
| - CONFIG_ZSMALLOC
|
| Debug / Profiling Disabled:
|
| - CONFIG_DEBUG_FS
| - CONFIG_IRQ_TIME_ACCOUNTING
| - CONFIG_PERF_EVENTS
| - CONFIG_BUG
| - CONFIG_ELF_CORE
| - CONFIG_SLUB_SYSFS
| - CONFIG_PROFILING
| - CONFIG_PM_DEBUG
| - CONFIG_PM_ADVANCED_DEBUG
| - CONFIG_DEBUG_INFO
| - CONFIG_MAGIC_SYSRQ
| - CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0
| - CONFIG_PANIC_ON_OOPS
| - CONFIG_DEBUG_USER
|
| Buffer Size Decrease:
|
| - CONFIG_SERIAL_8250_NR_UARTS=2
| - CONFIG_SERIAL_8250_RUNTIME_UARTS=2
| - CONFIG_LOG_BUF_SHIFT=16
| - CONFIG_CMA_SIZE_MBYTES=0 Note: cma dts node should be disabled.
|
| Section Align Disabled for minimize Image:
|
| - CONFIG_DEBUG_ALIGN_RODATA
| - CONFIG_STRICT_KERNEL_RWX
| - CONFIG_STRICT_MODULE_RWX
|
| Details see: arch/arm/kernel/vmlinux.lds.S
|
| Compile Optimized for Image:
|
| - CONFIG_STACKPROTECTOR_STRONG
| + CONFIG_CC_OPTIMIZE_FOR_SIZE=y
|
| -------------------------------------------------------------------------
| Changelog:
|
| v20: bring back INITRD for FPGA TEST.
|
| v19: drop CONFIG_SND_SOC_ROCKCHIP_PREALLOC_BUFFER_SIZE=32
|
|   Instead, pass module option 'prealloc_buffer_size_kbytes' to specify it.
|   any details refer to: Documentation/sound/alsa-configuration.rst
|
|   e.g. 32 kbytes prealloc buffer size:
|
|   "snd_soc_core.prealloc_buffer_size_kbytes=32"
|
| v18: drop CONFIG_LBDAF by do mke2fs with '-O ^huge_file' option.
|
| v17: bring back features for IPC-emmc FFT(Full Functional Test) passed
|
| + CONFIG_PACKET (dhcp related)
|   For support DHCP default.
|
| + CONFIG_DRM_ROCKCHIP
| + CONFIG_ROCKCHIP_VOP
|   Currently, drm buffer alloc is still used by user.
|   Note: uboot display should be disabled, otherwise, panic on rockchip drm probe.
|
| + CONFIG_LBDAF
|   Actually, here should say NO, because it is required to support 2TB+
|   devices which we don't need it, but which was enabled default by mke2fs.ext4.
|   So, we bring it back temporarily until users do mke2fs.ext4 without
|   huge file feature supported.
|
| static code size cost: ~200KB
|
| before:
| $ size vmlinux
|    text    data     bss     dec     hex filename
| 4469469 1143032  138528 5751029  57c0f5 vmlinux
|
| after:
| $ size vmlinux
|    text    data     bss     dec     hex filename
| 4628287	1169884	 141472	5939643	 5aa1bb	vmlinux

Change-Id: I5846831e3a43edd45587459866a339db5c42a137
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
2022-02-17 21:12:50 +08:00
Tao Huang
fc2be569e8 HACK: lib/kobject_uevent.c: ignore thermal uevent when suspend
Android healthd try to listen power_supply subsystem uevent,
but which will block system from suspend on big.LITTLE system
because thermal_cooling_device_unregister will called when
cpufreq_exit. So ignore this uevent when suspend.

Change-Id: I35948498916560d5ec75fe561c9e9d588663ad22
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
2022-02-17 20:34:22 +08:00
Wyon Bi
0126aeed19 drm/bridge: analogix_dp: Fix YCbCr Coefficients
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
Change-Id: If560fd514a2c946abcca35a5bbc18edf051cea5b
2022-02-17 19:23:10 +08:00
Wyon Bi
54f2fcc787 arm64: dts: rockchip: rk3568: Add edp phy grf node
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
Change-Id: I0ee522627cc057bd5b0be2c862e56f020dae57a2
2022-02-17 19:22:41 +08:00
Wyon Bi
3cdcfb1a52 phy/rockchip: naneng-edp: Convert to use regmap
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
Change-Id: I9a4a489b7df34a15d2b8e57cf9e2f4c97cc06118
2022-02-17 19:22:41 +08:00
Wyon Bi
2cbb25ad93 soc: rockchip: grf: Add platform driver for edp phy grf
We need to overwrite the default register value to put the PHY into
low power mode in idle state.

Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
Change-Id: I4c788ce04880d6e25d4454e5594882d511b0bc97
2022-02-17 19:22:41 +08:00