Commit Graph

1058813 Commits

Author SHA1 Message Date
Wyon Bi
6d45fa9b4d drm/bridge: analogix_dp: Move PLL lock check to analogix_dp_set_link_bandwidth()
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
Change-Id: I7c094f84d7aeb2a9e8b8343c634bb8a01ab8e5dd
2021-07-05 15:05:18 +08:00
Wyon Bi
d9e410b03c drm/bridge: analogix_dp: Simplify analogix_dp_{set/get}_lane_link_training helpers
Change-Id: I53231fba491c7e10fbdfdbaf0c74c2ca57eaf76e
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
2021-07-05 15:05:09 +08:00
Wyon Bi
5639c343b0 drm/bridge: analogix_dp: Don't handle adjust request if clock recovery is already ok
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
Change-Id: I44aa6678285607c838cb8c27dc566349a17d59c5
2021-07-05 15:04:58 +08:00
Wyon Bi
e17b120e85 drm/bridge: analogix_dp: Add runtime PM callback to handle clock
Ensure the pclk is enabled when register access occurs.

Change-Id: Id108a04aed8424725dcc02dec9fe46bfc724c09b
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
2021-07-05 15:04:47 +08:00
Wyon Bi
33f5d1439f drm/bridge: analogix_dp: Workaround async issue between pclk clock and 24m clock
Background:
- EDP software register bank is on the EDP 24m clock domain;
- CPU access EDP software register bank, need to go through EDP APB
  read/write bus and EDP internal read/write bus;
- EDP APB read/write bus is on the EDP pclk clock domain;
- EDP internal read/write bus is on the EDP 24m clock domain;
- Asynchronous logic circuit is added between APB read/write bus and
  Internal read/write bus;

Issue:
There is a bug on the Asynchronous logic circuit between APB read/write
bus and Internal read/write bus; This bug will be random to cause the
following wrong control/address signals sequence happen;
- For write, maybe wrong register address is wrote in;
- For read, maybe wrong register address is read out;

Workaround:
- For CPU write EDP register operation, write any register need
following three steps,
1): Read EDP_BASE+0x00 dummy register firstly, latch the dummy
register address on Reg_Address bus, to avoid next step write to
wrong register to cause function register overrun;
2): 1st time to write the EDP register you want to operate,
to latch the real write address on Reg_Address bus;
3): 2nd time to write the EDP register you want to operate,
to make sure the data is write on the real write address;
- For CPU read EDP register operation, read any register need following
two steps,
1): 1st time to read the EDP register you want to operate, to latch
the real read address on Reg_Address bus;
2): 2nd time to read the EDP register you want to operate, to make
sure the data is read out from the real read address;

Change-Id: I4a87d3883efe94d32ccf8809edb5b9d869670d2d
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
2021-07-05 15:02:27 +08:00
Wyon Bi
a6e872aae1 drm/bridge: analogix_dp: set IRQ_NOAUTOEN to the irq flag
The interrupt is requested before the device is powered on and
it's value in some cases cannot be reliable. It happens on some
devices that an interrupt is generated as soon as requested
before having the chance to disable the irq.

Change-Id: I889c069239d005ab0a3fb4eb36123608ec81d9ab
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
2021-07-05 14:57:04 +08:00
Wyon Bi
ac306bb254 drm/bridge: analogix_dp: support video BIST generation
The video BIST function of the DP_TX generates arbitrary video formats
internally according to the specified format configuration and selection.
These BIST video formats simplify DP_TX debugging.

Change-Id: Ia019c8f40fdd4ebea3e5250be8e2c15540481a6c
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
2021-07-05 14:55:19 +08:00
Lee Jones
b6ca87397d UPSTREAM: gpu: drm: bridge: analogix: analogix_dp_reg: Remove unused function 'analogix_dp_write_byte_to_dpcd'
Fixes the following W=1 kernel build warning(s):

 drivers/gpu/drm/bridge/analogix/analogix_dp_reg.c:571:5: warning: no previous prototype for ‘analogix_dp_write_byte_to_dpcd’ [-Wmissing-prototypes]

Change-Id: I94acd1f0b0f9170258411d5edb439e5b4391b3c5
Cc: Andrzej Hajda <a.hajda@samsung.com>
Cc: Neil Armstrong <narmstrong@baylibre.com>
Cc: Laurent Pinchart <Laurent.pinchart@ideasonboard.com>
Cc: Jonas Karlman <jonas@kwiboo.se>
Cc: Jernej Skrabec <jernej.skrabec@siol.net>
Cc: David Airlie <airlied@linux.ie>
Cc: Daniel Vetter <daniel@ffwll.ch>
Cc: Jason Yan <yanaijie@huawei.com>
Cc: Sam Ravnborg <sam@ravnborg.org>
Cc: Jingoo Han <jg1.han@samsung.com>
Cc: dri-devel@lists.freedesktop.org
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20201105144517.1826692-13-lee.jones@linaro.org
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
(cherry picked from commit 2f62f4990d)
2021-07-05 14:40:25 +08:00
Jason Yan
838c8db05f UPSTREAM: drm/bridge: analogix_dp: make analogix_dp_start_aux_transaction() static
This eliminates the following sparse warning:

drivers/gpu/drm/bridge/analogix/analogix_dp_reg.c:527:5: warning: symbol
'analogix_dp_start_aux_transaction' was not declared. Should it be
static?

Change-Id: I970dff098b5d652b220f207a5ee9bd28367e7949
Reported-by: Hulk Robot <hulkci@huawei.com>
Signed-off-by: Jason Yan <yanaijie@huawei.com>
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20200912033843.143240-1-yanaijie@huawei.com
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
(cherry picked from commit 7d3618fdee)
2021-07-05 14:40:07 +08:00
Frank Wang
306637c8e1 usb: gadget: f_uac1: adds support for SS and SSP
This adds UAC1 support of SS and SSP speed.

Change-Id: I896d9e36f05eef9bb3eacfc56ef7d32aa7c89044
Signed-off-by: Frank Wang <frank.wang@rock-chips.com>
2021-07-05 14:14:49 +08:00
Frank Wang
e360c65d23 usb: gadget: f_uac2: make compatible for windows os
Amend to fix the UAC2 gadget could not be identified on Windows 10 OS.

Change-Id: I992af23ab4ac2740a33621d9c3c47368f5135710
Fixes: 486bd80e78f4 ("UPSTREAM: usb: f_uac2: adds support for SS and SSP")
Signed-off-by: Frank Wang <frank.wang@rock-chips.com>
2021-07-05 14:12:52 +08:00
Pawel Laszczak
c3fa37174e UPSTREAM: usb: f_uac2: adds support for SS and SSP
Patch adds support of SS and SSP speed.

Change-Id: Iea75fa1f76f11dfe61bb4dabfdbc09549ad006ea
Signed-off-by: Pawel Laszczak <pawell@cadence.com>
Link: https://lore.kernel.org/r/20210310105216.38202-1-pawell@gli-login.cadence.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Frank Wang <frank.wang@rock-chips.com>
(cherry picked from commit f8cb3d556b)
2021-07-05 14:12:52 +08:00
Finley Xiao
1914cd402e soc: rockchip_system_monitor: Replace cpu_up/down() with add/remove_cpu()
Change-Id: I06dc2189ee9199e705af8138b60941bba64d6375
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
2021-07-05 11:26:25 +08:00
Finley Xiao
fb6a8d62bb cpufreq: dt: Add support to adjust power scale
Change-Id: I2695bdc779dafc69f0b11d157fbc519c88984d57
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
2021-07-05 11:18:02 +08:00
Finley Xiao
a724f211e7 cpufreq: Add runtime initialised driver for rockchip platforms
The driver reads OTP value from SoC to provide the OPP framework
with required information. This is used to determine the voltage and
frequency value for each OPP of operating-points-v2 table when it is
parsed by the OPP framework.

Change-Id: Iec5a4ff05a4829fdbc3535f94e92759d4238623d
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
2021-07-05 11:03:52 +08:00
Viresh Kumar
c83090bafb UPSTREAM: cpufreq: dt: Don't (ab)use dev_pm_opp_get_opp_table() to create OPP table
Initially, the helper dev_pm_opp_get_opp_table() was supposed to be used
only for the OPP core's internal use (it tries to find an existing OPP
table and if it doesn't find one, then it allocates the OPP table).

Sometime back, the cpufreq-dt driver started using it to make sure all
the relevant resources required by the OPP core are available earlier
during initialization process to properly propagate -EPROBE_DEFER.

It worked but it also abused the API to create an OPP table, which
should be created with the help of other helpers provided by the OPP
core.

The OPP core will be updated in a later commit to limit the scope of
dev_pm_opp_get_opp_table() to only finding an existing OPP table and not
create one. This commit updates the cpufreq-dt driver before that
happens.

Now the cpufreq-dt driver creates the OPP and cpufreq tables for all the
CPUs from driver's init callback itself.

Change-Id: Icd477646eb0eefeb01266e21064824d1b5ed6b46
Tested-by: Marek Szyprowski <m.szyprowski@samsung.com>
Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
(cherry picked from commit 873c9851eb)
2021-07-05 10:24:23 +08:00
Finley Xiao
7f0e1711ed soc: rockchip: opp_select: Export rockchip_nvmem_cell_read_u8/u16()
Change-Id: I1c231afce31da9f42cd92839540d8dcb675778ce
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
2021-07-03 11:30:16 +08:00
Finley Xiao
01243dd90a soc: rockchip: opp_select: Remove non-essential conditions for getting pvtm
Change-Id: I929046fa5c36f9cbc01e30edaa68f9abdfccdfd6
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
2021-07-03 10:42:42 +08:00
Liang Chen
7628c13e4c soc: rockchip: opp_select: adjust opp-table by pvtm and mbist_vmin
1. support get pvtm from otp.
2. adjust opp-table by mbist_vmit which is get from otp.

Change-Id: Ie3703873880b65b2af03ae474065d541c7f9d605
Signed-off-by: Liang Chen <cl@rock-chips.com>
2021-07-03 10:42:20 +08:00
Wyon Bi
dd03e97b25 drm/panel: simple: Get panel-desc data from DT
Add the ability to parse panel-desc data from the devicetree if it's
not hard-coded data.

Change-Id: I474940282657c9aa03568b9f98916125784d9fcf
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
2021-07-02 19:55:06 +08:00
Felix Zeng
5ce712564b arm64: dts: rockchip: rk3568: rknpu: Add rknpu cru reset
Signed-off-by: Felix Zeng <felix.zeng@rock-chips.com>
Change-Id: Ibc546e80e6f82f0e907505a1eec1e9d37231646a
2021-07-02 19:44:07 +08:00
Felix Zeng
aae79df0f6 arm64: dts: rockchip: rk3568: rknpu: Add new rknpu compatible with rk3568 target
Signed-off-by: Felix Zeng <felix.zeng@rock-chips.com>
Change-Id: I150aa58dc640cea47d30f89d7fefe500031cd074
2021-07-02 19:44:07 +08:00
Liang Chen
754a02572a arm64: dts: rockchip: rk356x: adjust opp-table for correlation chips
1. limit vmin of cpu/gpu/npu/logic by mbist_vmin.
2. raise vdd_logic when npu run at 1.0GHz or venc run at 400MHz.
3. disable npu@1.0GHz and venc@400MHz by default.
4. reduce vdd_logic for the chips with big leakage.
5. adjust low-temp-adjust-volt table.

Change-Id: If7ce6f010422d20e2dfd643a6894fa7304e6372f
Signed-off-by: Liang Chen <cl@rock-chips.com>
2021-07-02 19:42:24 +08:00
Ding Wei
1d4f962b53 arm64: dts: rockchip: rk3568: rkvenc: remove advanced-rates for safety
Change-Id: Ie1c4a45c084a6bc98359868db54c6a333489cd45
Signed-off-by: Ding Wei <leo.ding@rock-chips.com>
2021-07-02 19:42:09 +08:00
Liang Chen
25a9bdac78 arm64: dts: rockchip: rk3568: adjust opp-talbe when low-temp
Change-Id: I21a6394f9c4473ca6d98f46c2d2a9527e2eaabd2
Signed-off-by: Liang Chen <cl@rock-chips.com>
2021-07-02 19:38:44 +08:00
Finley Xiao
9a20200344 nvmem: rockchip-efuse: Fix later provider initialization
Possibly, provider driver initialization is later than
consumer driver. Use function subsys_initcall to initialize
NVMEM provider early to ensure NVMEM consumer doesn't need
to -EPROBE_DEFER.

Change-Id: I817aa44c3b34d2fdf44148e6b9649ceed76d8f1f
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
2021-07-02 19:34:29 +08:00
Finley Xiao
01c1a395d6 nvmem: rockchip-otp: Fix later provider initialization
Possibly, provider driver initialization is later than
consumer driver. Use function subsys_initcall to initialize
NVMEM provider early to ensure NVMEM consumer doesn't need
to -EPROBE_DEFER.

Change-Id: Ibaea188390a54d55eca2aa3585cace7bb8f37bb3
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
2021-07-02 17:25:14 +08:00
Wyon Bi
620cc157a7 clk: rockchip: px30: Add CLK_SET_RATE_PARENT for clk_i2s0_tx_out_pre
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
Change-Id: I18e86d31ece992af568fca12c9af2b04f327dd67
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
2021-07-02 17:17:40 +08:00
Finley Xiao
969eda0685 clk: rockchip: px30: Add pll name for cpuclk
Change-Id: I4302071cfd29148fb33ba096f5f3bc2aeff1406e
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
2021-07-02 17:17:40 +08:00
Wyon Bi
45e8903744 clk: rockchip: px30: Add CLK_SET_RATE_PARENT for clk_i2s1_out_pre
Change-Id: Ie01e78ecf49cbbc3101c7ff0fafff11d3428b271
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
2021-07-02 17:17:40 +08:00
Sugar Zhang
2b1b3a5b70 clk: rockchip: px30: Export clk id for sclk_i2s0_tx/rx mux
Change-Id: I697d20fb0c69f9dcd76aaf2d18d666db2241360d
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
2021-07-02 17:17:40 +08:00
Finley Xiao
03fb4f4b0f clk: rockchip: px30: Add support to set parent rate for vopl dclk
Change-Id: I208471f938b1795273c4f33ac35b82d667a2b312
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
2021-07-02 17:17:40 +08:00
Finley Xiao
c6edde69b3 clk: rockchip: px30: Let npll only provide clock for vopl and gpu
As npll rate may be changed according to vopl dclk rate on px30.

Change-Id: I4abc042b49ee06436ba5d69dc8adfa9460da37f7
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
2021-07-02 17:17:40 +08:00
Finley Xiao
fdd1e215f5 clk: rockchip: px30: Remove npll from gpu parent clock on px30
NPLL should provide clock for vopl dclk on px30, and its rate will be
changed according to vopl dclk rate, so GPU can't use npll as parent
on px30.

Change-Id: Ib2c8c57020405bcd14070dcd7bc71cbfe18230e3
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
2021-07-02 17:17:40 +08:00
Simon Xue
f2edd39115 iio: adc: rockchip_saradc: adjust SARADC_MAX_CHANNELS to 8
Change-Id: Ie2f4b8df770255b642257b30ace51f886c3b526b
Signed-off-by: Simon Xue <xxm@rock-chips.com>
2021-07-02 14:26:10 +08:00
Wyon Bi
fd54e4d301 phy/rockchip: Add driver for Rockchip Naneng eDP Transmitter PHY
DPTPHYT22ULP is designed for chips that perform eDP/DP data
communication while operating at low power consumption.
The main link is a multi-gigabit transmitter macro which
enable speed up to 4.0Gbps data transmitter with optimized
power and die size, also it can be easily fabricated and
implemented in a video system. The AUX channel is a halfduplex,
bidirectional channel consisting of one differential pair,
supporting the bit rate of about 1Mbps.

Macro consists of multi-main link transmitter channels,
AUX channel, one PLL and bias-gen unit. The main link
transmitter performs dedicated P2S, clock generator,
driver with preemphasis and self-test. Each of the channels
can be turned off individually.

Change-Id: Idf58991ff1bdd4557c4cfadf2dc047e95eca7668
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
2021-07-02 14:13:07 +08:00
Tao Huang
346f10249a arm64: rockchip_defconfig: Disable CONFIG_RUNTIME_TESTING_MENU
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
Change-Id: Ieaa1ed1175b4872e275e7577c91966ffff3d3b0d
2021-07-02 14:12:49 +08:00
Geert Uytterhoeven
e0e8b7d674 UPSTREAM: pinctrl: PINCTRL_ROCKCHIP should depend on ARCH_ROCKCHIP
The Rockchip GPIO and pin control modules are only present on Rockchip
SoCs.  Hence add a dependency on ARCH_ROCKCHIP, to prevent asking the
user about this driver when configuring a kernel without Rockchip
platform support.

Note that before, the PINCTRL_ROCKCHIP symbol was not visible, and
automatically selected when needed.  By making it tristate and
user-selectable, it became visible for everyone.

Change-Id: Ibaa8fddc0f667711bd6fc82fe1865cf65720c1c3
Fixes: be786ac5a6 ("pinctrl: rockchip: make driver be tristate module")
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Reviewed-by: Heiko Stuebner <heiko@sntech.de>
Link: https://lore.kernel.org/r/20210316134059.2377081-1-geert+renesas@glider.be
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
(cherry picked from commit febb4ee23a)
2021-07-02 14:12:29 +08:00
Jianqun Xu
0dbff7b9e0 UPSTREAM: arm64: remove select PINCTRL_ROCKCHIP from ARCH_ROCKCHIP
Prepare to make pinctrl driver of rockchip to be module able, this patch
remove the select of PINCTRL_ROCKCHIP from ARCH_ROCKCHIP.

Change-Id: Ibc725c09c92e057b22a035b43b96c9e7c60d3f52
Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
Link: https://lore.kernel.org/r/20210305003907.1692515-2-jay.xu@rock-chips.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
(cherry picked from commit 25fda51ca3)
2021-07-02 14:12:29 +08:00
Yandong Lin
fb82ac8b70 arm64: dts: rockchip: rk3568: modify rkvdec compatible
Signed-off-by: Yandong Lin <yandong.lin@rock-chips.com>
Change-Id: I0c0d927bd4c995f2be4570a5c2128acbf7f6cc63
2021-07-01 20:49:36 +08:00
Ding Wei
bbb0cd20ba arm64: dts: rockchip: rk3568: vepu && jpegd: Disable auto freqence set
reason: In rk356x, due to the hardware, vepu and jpegd should
disable auto freqence.

Change-Id: I2da5b5a7fc3b86180aef28b378a7b651e31a6b7a
Signed-off-by: Ding Wei <leo.ding@rock-chips.com>
2021-07-01 20:48:13 +08:00
Ding Wei
45a2f849bd arm64: dts: rockchip: rk3568: Set rcb-min-with=512 on rkvdec2
Change-Id: I0735307ea023517c731ed33387f5f074b0362841
Signed-off-by: Ding Wei <leo.ding@rock-chips.com>
2021-07-01 20:47:43 +08:00
Lin Jinhan
904ca96524 arm64: dts: rockchip: rk3568: add crypto node
Change-Id: Icb7a7e01ec83ebe01f32224108c102a1c7bf2fdd
Signed-off-by: Lin Jinhan <troy.lin@rock-chips.com>
2021-07-01 20:46:11 +08:00
Yifeng Zhao
8a38d9f53b arm64: dts: rockchip: change naneng combphy ref clock to 100mhz for rk3568
When using 24MHz reference clock, some devices can't identify
the SATA PM chip, And the signal quality is not as good as 100MHz.
so change the reference clock to 100MHz.

Signed-off-by: Yifeng Zhao <yifeng.zhao@rock-chips.com>
Change-Id: If7d951a0b77d503f9faf1c1f88c78a9e07471e47
2021-07-01 20:45:44 +08:00
Cai YiWei
3d0af15013 arm64: dts: rockchip: rk3568: isp iommu v2
Fixes: 28f15a4887 ("arm64: dts: rockchip: rk3568: add isp node")
Change-Id: I1959b21216e539ad4dc482262496c99ccbc3db30
Signed-off-by: Cai YiWei <cyw@rock-chips.com>
2021-07-01 20:45:22 +08:00
Shawn Lin
dc141f807f mmc: core: Add a timeout value for flushing cache
In order to silent the warning below:

mmc0: unspecified timeout for CMD6 - use generic

Fixes: 4734c45258 ("mmc: core: don't check card status when flushing cache")
Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com>
Change-Id: I561fd8592c646a61d22b04e27a0fc0a6c9b01f4e
2021-07-01 16:21:35 +08:00
Jon Lin
3c6a5390ca arm64: dts: rockchip: rk3568: Set spi node to fall back point
Both rk3568' spi is compatible with rk3036's spi design.

Change-Id: I952beb57c151e77165db781bc17ec782b6bc62a4
Signed-off-by: Jon Lin <jon.lin@rock-chips.com>
2021-07-01 16:01:58 +08:00
Sandy Huang
8c8f462197 drm/rockchip: driver: fix sub_dev pointer error
the sub_dev will be update by list_for_each_entry() and return !NULL
error pointer when no found subdev;

Signed-off-by: Sandy Huang <hjc@rock-chips.com>
Change-Id: I8d7db3b66c6c57b986a42cac9ed6eca53b72611e
2021-07-01 14:29:01 +08:00
Tao Huang
89d6a276b6 arm64: rockchip_defconfig: merge s/android-5.10 android base config
https://android.googlesource.com/kernel/configs
commit 46f8bc810fbe ("Finalize min LTS version for S.")

android-base.config and android-base-conditional.xml:

-# CONFIG_RD_LZ4 is not set
+CONFIG_USERFAULTFD=y
+CONFIG_SHADOW_CALL_STACK=y
+CONFIG_XFRM_MIGRATE=y
+CONFIG_SONY_FF=y
+CONFIG_ANDROID_BINDERFS=y
+CONFIG_CRYPTO_CHACHA20POLY1305=y
+CONFIG_CRYPTO_XCBC=y
+CONFIG_KFENCE=y

from gki_defconfig:
+CONFIG_KFENCE_SAMPLE_INTERVAL=500
+CONFIG_KFENCE_NUM_OBJECTS=63

RD_LZ4:
Support future decompression of LZ4-compressed ramdisk images.

USERFAULTFD:
Patches for SELinux support and kernel page-fault restriction in
userfaultfd have been backported.
So from security perspective it should be safe to enable it in Android.

XFRM_MIGRATE:
To be able to update addresses of an IPsec SA, as required by
supporting MOBIKE

CHACHA20POLY1305 and XCBC:
To be able to use ChaCha20Poly1305 and AES-XCBC in IPsec

CONFIG_KFENCE_NUM_OBJECTS controls the constant memory overhead that
KFENCE introduces for its memory pool. By default it is 255 objects
(2Mb extra memory), but since concerns have been raised that low-memory
devices may not afford that, we are lowering the number of objects
to 63 (512Kb extra memory).

So far we haven't seen Android devices allocate more than 50 KFENCE
objects. Should the kernel exhaust the pool, KFENCE will stop allocating
new objects and fall back to SLAB/SLUB until one of the objects is
freed.

An immediate consequence of reducing the pool size is that a freed
KFENCE object will be reused 4x times faster, effectively reducing the
probability of detecting a use-after-free. Since KFENCE is a best-effort
error detection tool, not a use-after-free mitigation mechanism, we
believe this should not be problematic.

enable KFENCE by setting the sample interval to 500ms
It is still possible to disable KFENCE at boot time using
kfence.sample_interval=0.

Signed-off-by: Tao Huang <huangtao@rock-chips.com>
Change-Id: I061f3caf0d09adfd4e0c322853aeff5af8ba63a5
2021-07-01 10:25:15 +08:00
Tao Huang
6cd279bd4e arm64: rockchip_defconfig: Remove legacy IO schedulers
According to commit f382fb0bce ("block: remove legacy IO schedulers").

-# CONFIG_IOSCHED_DEADLINE is not set
-CONFIG_CFQ_GROUP_IOSCHED=y

Signed-off-by: Tao Huang <huangtao@rock-chips.com>
Change-Id: Ia20d8fe921b4ff0e4b8507ef665cae865704f717
2021-06-30 20:15:22 +08:00