Snap for 9406164 from 8fcd9b9c75
to android-mainline-keystone-qcom-release
Change-Id: Ic40fe44da7b692df7ac0abbc10d53e40eabacd33
This commit is contained in:
commit
3803dec066
@ -535,6 +535,7 @@ ForEachMacros:
|
||||
- 'perf_hpp_list__for_each_sort_list_safe'
|
||||
- 'perf_pmu__for_each_hybrid_pmu'
|
||||
- 'ping_portaddr_for_each_entry'
|
||||
- 'ping_portaddr_for_each_entry_rcu'
|
||||
- 'plist_for_each'
|
||||
- 'plist_for_each_continue'
|
||||
- 'plist_for_each_entry'
|
||||
|
7
.mailmap
7
.mailmap
@ -29,6 +29,7 @@ Alexandre Belloni <alexandre.belloni@bootlin.com> <alexandre.belloni@free-electr
|
||||
Alexei Starovoitov <ast@kernel.org> <alexei.starovoitov@gmail.com>
|
||||
Alexei Starovoitov <ast@kernel.org> <ast@fb.com>
|
||||
Alexei Starovoitov <ast@kernel.org> <ast@plumgrid.com>
|
||||
Alex Hung <alexhung@gmail.com> <alex.hung@canonical.com>
|
||||
Alex Shi <alexs@kernel.org> <alex.shi@intel.com>
|
||||
Alex Shi <alexs@kernel.org> <alex.shi@linaro.org>
|
||||
Alex Shi <alexs@kernel.org> <alex.shi@linux.alibaba.com>
|
||||
@ -286,6 +287,7 @@ Matthew Wilcox <willy@infradead.org> <willy@linux.intel.com>
|
||||
Matthew Wilcox <willy@infradead.org> <willy@parisc-linux.org>
|
||||
Matthias Fuchs <socketcan@esd.eu> <matthias.fuchs@esd.eu>
|
||||
Matthieu CASTET <castet.matthieu@free.fr>
|
||||
Matti Vaittinen <mazziesaccount@gmail.com> <matti.vaittinen@fi.rohmeurope.com>
|
||||
Matt Ranostay <matt.ranostay@konsulko.com> <matt@ranostay.consulting>
|
||||
Matt Ranostay <mranostay@gmail.com> Matthew Ranostay <mranostay@embeddedalley.com>
|
||||
Matt Ranostay <mranostay@gmail.com> <matt.ranostay@intel.com>
|
||||
@ -371,6 +373,8 @@ Ricardo Ribalda <ribalda@kernel.org> <ricardo.ribalda@gmail.com>
|
||||
Roman Gushchin <roman.gushchin@linux.dev> <guro@fb.com>
|
||||
Roman Gushchin <roman.gushchin@linux.dev> <guroan@gmail.com>
|
||||
Roman Gushchin <roman.gushchin@linux.dev> <klamm@yandex-team.ru>
|
||||
Muchun Song <muchun.song@linux.dev> <songmuchun@bytedance.com>
|
||||
Muchun Song <muchun.song@linux.dev> <smuchun@gmail.com>
|
||||
Ross Zwisler <zwisler@kernel.org> <ross.zwisler@linux.intel.com>
|
||||
Rudolf Marek <R.Marek@sh.cvut.cz>
|
||||
Rui Saraiva <rmps@joel.ist.utl.pt>
|
||||
@ -382,6 +386,7 @@ Santosh Shilimkar <santosh.shilimkar@oracle.org>
|
||||
Santosh Shilimkar <ssantosh@kernel.org>
|
||||
Sarangdhar Joshi <spjoshi@codeaurora.org>
|
||||
Sascha Hauer <s.hauer@pengutronix.de>
|
||||
Satya Priya <quic_c_skakit@quicinc.com> <skakit@codeaurora.org>
|
||||
S.Çağlar Onur <caglar@pardus.org.tr>
|
||||
Sean Christopherson <seanjc@google.com> <sean.j.christopherson@intel.com>
|
||||
Sean Nyekjaer <sean@geanix.com> <sean.nyekjaer@prevas.dk>
|
||||
@ -389,6 +394,7 @@ Sebastian Reichel <sre@kernel.org> <sebastian.reichel@collabora.co.uk>
|
||||
Sebastian Reichel <sre@kernel.org> <sre@debian.org>
|
||||
Sedat Dilek <sedat.dilek@gmail.com> <sedat.dilek@credativ.de>
|
||||
Seth Forshee <sforshee@kernel.org> <seth.forshee@canonical.com>
|
||||
Shannon Nelson <shannon.nelson@amd.com> <snelson@pensando.io>
|
||||
Shiraz Hashim <shiraz.linux.kernel@gmail.com> <shiraz.hashim@st.com>
|
||||
Shuah Khan <shuah@kernel.org> <shuahkhan@gmail.com>
|
||||
Shuah Khan <shuah@kernel.org> <shuah.khan@hp.com>
|
||||
@ -416,6 +422,7 @@ TripleX Chung <xxx.phy@gmail.com> <triplex@zh-kernel.org>
|
||||
TripleX Chung <xxx.phy@gmail.com> <zhongyu@18mail.cn>
|
||||
Tsuneo Yoshioka <Tsuneo.Yoshioka@f-secure.com>
|
||||
Tycho Andersen <tycho@tycho.pizza> <tycho@tycho.ws>
|
||||
Tzung-Bi Shih <tzungbi@kernel.org> <tzungbi@google.com>
|
||||
Uwe Kleine-König <ukleinek@informatik.uni-freiburg.de>
|
||||
Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
|
||||
Uwe Kleine-König <ukleinek@strlen.de>
|
||||
|
245
BUILD.bazel
245
BUILD.bazel
@ -1,59 +1,37 @@
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
# Copyright (C) 2021 The Android Open Source Project
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
load("//build/bazel_common_rules/dist:dist.bzl", "copy_to_dist_dir")
|
||||
load("//build/kernel/kleaf:common_kernels.bzl", "define_common_kernels", "define_db845c")
|
||||
load("//build/kernel/kleaf:kernel.bzl", "ddk_headers", "kernel_build", "kernel_images", "kernel_modules_install")
|
||||
load(":modules.bzl", "COMMON_GKI_MODULES_LIST")
|
||||
|
||||
package(
|
||||
default_visibility = [
|
||||
"//visibility:public",
|
||||
],
|
||||
)
|
||||
|
||||
load("//build/kernel/kleaf:common_kernels.bzl", "define_common_kernels", "define_db845c")
|
||||
load("//build/kernel/kleaf:kernel.bzl", "ddk_headers")
|
||||
|
||||
_common_gki_modules_list = [
|
||||
# keep sorted
|
||||
"drivers/block/zram/zram.ko",
|
||||
"drivers/net/can/dev/can-dev.ko",
|
||||
"drivers/net/can/slcan/slcan.ko",
|
||||
"drivers/net/can/vcan.ko",
|
||||
"drivers/usb/class/cdc-acm.ko",
|
||||
"drivers/usb/serial/ftdi_sio.ko",
|
||||
"drivers/usb/serial/usbserial.ko",
|
||||
"mm/zsmalloc.ko",
|
||||
"net/can/can-bcm.ko",
|
||||
"net/can/can-gw.ko",
|
||||
"net/can/can-raw.ko",
|
||||
"net/mac80211/mac80211.ko",
|
||||
"net/wireless/cfg80211.ko",
|
||||
]
|
||||
|
||||
define_common_kernels(target_configs = {
|
||||
"kernel_aarch64": {
|
||||
"module_implicit_outs": _common_gki_modules_list,
|
||||
"module_implicit_outs": COMMON_GKI_MODULES_LIST,
|
||||
},
|
||||
"kernel_aarch64_16k": {
|
||||
"module_implicit_outs": _common_gki_modules_list,
|
||||
"module_implicit_outs": COMMON_GKI_MODULES_LIST,
|
||||
},
|
||||
"kernel_aarch64_debug": {
|
||||
"module_implicit_outs": _common_gki_modules_list,
|
||||
"module_implicit_outs": COMMON_GKI_MODULES_LIST,
|
||||
},
|
||||
"kernel_riscv64": {
|
||||
"module_implicit_outs": COMMON_GKI_MODULES_LIST,
|
||||
},
|
||||
"kernel_x86_64": {
|
||||
"kmi_symbol_list_strict_mode": False,
|
||||
"module_implicit_outs": _common_gki_modules_list,
|
||||
"module_implicit_outs": COMMON_GKI_MODULES_LIST,
|
||||
},
|
||||
"kernel_x86_64_debug": {
|
||||
"kmi_symbol_list_strict_mode": False,
|
||||
"module_implicit_outs": _common_gki_modules_list,
|
||||
"module_implicit_outs": COMMON_GKI_MODULES_LIST,
|
||||
},
|
||||
})
|
||||
|
||||
@ -254,6 +232,131 @@ load(":consolidate.bzl", "define_consolidate")
|
||||
|
||||
define_consolidate()
|
||||
|
||||
# TODO(b/258259749): Convert rockpi4 to mixed build
|
||||
kernel_build(
|
||||
name = "rockpi4",
|
||||
outs = [
|
||||
"Image",
|
||||
"System.map",
|
||||
"modules.builtin",
|
||||
"modules.builtin.modinfo",
|
||||
"rk3399-rock-pi-4b.dtb",
|
||||
"vmlinux",
|
||||
"vmlinux.symvers",
|
||||
],
|
||||
build_config = "build.config.rockpi4",
|
||||
dtstree = "//common-modules/virtual-device:rockpi4_dts",
|
||||
module_outs = COMMON_GKI_MODULES_LIST + [
|
||||
# keep sorted
|
||||
"drivers/block/virtio_blk.ko",
|
||||
"drivers/char/hw_random/virtio-rng.ko",
|
||||
"drivers/clk/clk-rk808.ko",
|
||||
"drivers/cpufreq/cpufreq-dt.ko",
|
||||
"drivers/dma/pl330.ko",
|
||||
"drivers/gpu/drm/bridge/analogix/analogix_dp.ko",
|
||||
"drivers/gpu/drm/bridge/synopsys/dw-hdmi.ko",
|
||||
"drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.ko",
|
||||
"drivers/gpu/drm/display/drm_display_helper.ko",
|
||||
"drivers/gpu/drm/drm_dma_helper.ko",
|
||||
"drivers/gpu/drm/rockchip/rockchipdrm.ko",
|
||||
"drivers/i2c/busses/i2c-rk3x.ko",
|
||||
"drivers/iio/adc/rockchip_saradc.ko",
|
||||
"drivers/iio/buffer/industrialio-triggered-buffer.ko",
|
||||
"drivers/iio/buffer/kfifo_buf.ko",
|
||||
"drivers/mfd/rk808.ko",
|
||||
"drivers/mmc/core/pwrseq_simple.ko",
|
||||
"drivers/mmc/host/cqhci.ko",
|
||||
"drivers/mmc/host/dw_mmc.ko",
|
||||
"drivers/mmc/host/dw_mmc-pltfm.ko",
|
||||
"drivers/mmc/host/dw_mmc-rockchip.ko",
|
||||
"drivers/mmc/host/sdhci-of-arasan.ko",
|
||||
"drivers/net/ethernet/stmicro/stmmac/dwmac-rk.ko",
|
||||
"drivers/net/ethernet/stmicro/stmmac/stmmac.ko",
|
||||
"drivers/net/ethernet/stmicro/stmmac/stmmac-platform.ko",
|
||||
"drivers/net/net_failover.ko",
|
||||
"drivers/net/pcs/pcs_xpcs.ko",
|
||||
"drivers/net/virtio_net.ko",
|
||||
"drivers/pci/controller/pcie-rockchip-host.ko",
|
||||
"drivers/phy/rockchip/phy-rockchip-emmc.ko",
|
||||
"drivers/phy/rockchip/phy-rockchip-inno-usb2.ko",
|
||||
"drivers/phy/rockchip/phy-rockchip-pcie.ko",
|
||||
"drivers/phy/rockchip/phy-rockchip-typec.ko",
|
||||
"drivers/pwm/pwm-rockchip.ko",
|
||||
"drivers/regulator/fan53555.ko",
|
||||
"drivers/regulator/pwm-regulator.ko",
|
||||
"drivers/regulator/rk808-regulator.ko",
|
||||
"drivers/rtc/rtc-rk808.ko",
|
||||
"drivers/soc/rockchip/io-domain.ko",
|
||||
"drivers/thermal/rockchip_thermal.ko",
|
||||
"drivers/usb/host/ohci-hcd.ko",
|
||||
"drivers/usb/host/ohci-platform.ko",
|
||||
"drivers/virtio/virtio_pci.ko",
|
||||
"drivers/virtio/virtio_pci_legacy_dev.ko",
|
||||
"drivers/virtio/virtio_pci_modern_dev.ko",
|
||||
"drivers/watchdog/dw_wdt.ko",
|
||||
"net/core/failover.ko",
|
||||
],
|
||||
)
|
||||
|
||||
kernel_modules_install(
|
||||
name = "rockpi4_modules_install",
|
||||
kernel_build = "//common:rockpi4",
|
||||
)
|
||||
|
||||
kernel_images(
|
||||
name = "rockpi4_images",
|
||||
build_initramfs = True,
|
||||
kernel_build = "//common:rockpi4",
|
||||
kernel_modules_install = "//common:rockpi4_modules_install",
|
||||
)
|
||||
|
||||
copy_to_dist_dir(
|
||||
name = "rockpi4_dist",
|
||||
data = [
|
||||
":rockpi4",
|
||||
":rockpi4_images",
|
||||
":rockpi4_modules_install",
|
||||
],
|
||||
dist_dir = "out/rockpi4/dist",
|
||||
flat = True,
|
||||
)
|
||||
|
||||
# allmodconfig build tests.
|
||||
# These are build tests only, so:
|
||||
# - outs are intentionally set to empty to not copy anything to DIST_DIR
|
||||
# - --allow-undeclared-modules must be used so modules are not declared or copied.
|
||||
# - No dist target because these are build tests. We don't care about the artifacts.
|
||||
|
||||
# tools/bazel build --allow_undeclared_modules //common:kernel_aarch64_allmodconfig
|
||||
kernel_build(
|
||||
name = "kernel_aarch64_allmodconfig",
|
||||
# Hack to actually check the build.
|
||||
# Otherwise, Bazel thinks that there are no output files, and skip building.
|
||||
outs = [".config"],
|
||||
build_config = "build.config.allmodconfig.aarch64",
|
||||
visibility = ["//visibility:private"],
|
||||
)
|
||||
|
||||
# tools/bazel build --allow_undeclared_modules //common:kernel_x86_64_allmodconfig
|
||||
kernel_build(
|
||||
name = "kernel_x86_64_allmodconfig",
|
||||
# Hack to actually check the build.
|
||||
# Otherwise, Bazel thinks that there are no output files, and skip building.
|
||||
outs = [".config"],
|
||||
build_config = "build.config.allmodconfig.x86_64",
|
||||
visibility = ["//visibility:private"],
|
||||
)
|
||||
|
||||
# tools/bazel build --allow_undeclared_modules //common:kernel_arm_allmodconfig
|
||||
kernel_build(
|
||||
name = "kernel_arm_allmodconfig",
|
||||
# Hack to actually check the build.
|
||||
# Otherwise, Bazel thinks that there are no output files, and skip building.
|
||||
outs = [".config"],
|
||||
build_config = "build.config.allmodconfig.arm",
|
||||
visibility = ["//visibility:private"],
|
||||
)
|
||||
|
||||
# DDK Headers
|
||||
# All headers. These are the public targets for DDK modules to use.
|
||||
alias(
|
||||
@ -271,6 +374,24 @@ ddk_headers(
|
||||
visibility = ["//visibility:public"],
|
||||
)
|
||||
|
||||
ddk_headers(
|
||||
name = "all_headers_arm",
|
||||
hdrs = [":all_headers_allowlist_arm"] + select({
|
||||
"//build/kernel/kleaf:allow_ddk_unsafe_headers_set": [":all_headers_unsafe"],
|
||||
"//conditions:default": [],
|
||||
}),
|
||||
visibility = ["//visibility:public"],
|
||||
)
|
||||
|
||||
ddk_headers(
|
||||
name = "all_headers_riscv64",
|
||||
hdrs = [":all_headers_allowlist_riscv64"] + select({
|
||||
"//build/kernel/kleaf:allow_ddk_unsafe_headers_set": [":all_headers_unsafe"],
|
||||
"//conditions:default": [],
|
||||
}),
|
||||
visibility = ["//visibility:public"],
|
||||
)
|
||||
|
||||
ddk_headers(
|
||||
name = "all_headers_x86_64",
|
||||
hdrs = [":all_headers_allowlist_x86_64"] + select({
|
||||
@ -303,6 +424,42 @@ ddk_headers(
|
||||
visibility = ["//visibility:private"],
|
||||
)
|
||||
|
||||
ddk_headers(
|
||||
name = "all_headers_allowlist_arm",
|
||||
hdrs = [
|
||||
":all_headers_allowlist_arm_globs",
|
||||
":all_headers_allowlist_common_globs",
|
||||
],
|
||||
# The list of include directories where source files can #include headers
|
||||
# from. In other words, these are the `-I` option to the C compiler.
|
||||
# These are prepended to LINUXINCLUDE.
|
||||
linux_includes = [
|
||||
"arch/arm/include",
|
||||
"arch/arm/include/uapi",
|
||||
"include",
|
||||
"include/uapi",
|
||||
],
|
||||
visibility = ["//visibility:private"],
|
||||
)
|
||||
|
||||
ddk_headers(
|
||||
name = "all_headers_allowlist_riscv64",
|
||||
hdrs = [
|
||||
":all_headers_allowlist_common_globs",
|
||||
":all_headers_allowlist_riscv64_globs",
|
||||
],
|
||||
# The list of include directories where source files can #include headers
|
||||
# from. In other words, these are the `-I` option to the C compiler.
|
||||
# These are prepended to LINUXINCLUDE.
|
||||
linux_includes = [
|
||||
"arch/riscv/include",
|
||||
"arch/riscv/include/uapi",
|
||||
"include",
|
||||
"include/uapi",
|
||||
],
|
||||
visibility = ["//visibility:private"],
|
||||
)
|
||||
|
||||
ddk_headers(
|
||||
name = "all_headers_allowlist_x86_64",
|
||||
hdrs = [
|
||||
@ -334,6 +491,20 @@ filegroup(
|
||||
visibility = ["//visibility:private"],
|
||||
)
|
||||
|
||||
# globs() for arm only
|
||||
filegroup(
|
||||
name = "all_headers_allowlist_arm_globs",
|
||||
srcs = glob(["arch/arm/include/**/*.h"]),
|
||||
visibility = ["//visibility:private"],
|
||||
)
|
||||
|
||||
# globs() for riscv64 only
|
||||
filegroup(
|
||||
name = "all_headers_allowlist_riscv64_globs",
|
||||
srcs = glob(["arch/riscv/include/**/*.h"]),
|
||||
visibility = ["//visibility:private"],
|
||||
)
|
||||
|
||||
# globs() for x86 only
|
||||
filegroup(
|
||||
name = "all_headers_allowlist_x86_64_globs",
|
||||
|
4
CREDITS
4
CREDITS
@ -2452,6 +2452,10 @@ S: 482 Shadowgraph Dr.
|
||||
S: San Jose, CA 95110
|
||||
S: USA
|
||||
|
||||
N: Michal Marek
|
||||
E: michal.lkml@markovi.net
|
||||
D: Kbuild Maintainer 2009-2017
|
||||
|
||||
N: Martin Mares
|
||||
E: mj@ucw.cz
|
||||
W: http://www.ucw.cz/~mj/
|
||||
|
@ -6967,3 +6967,14 @@
|
||||
memory, and other data can't be written using
|
||||
xmon commands.
|
||||
off xmon is disabled.
|
||||
|
||||
amd_pstate= [X86]
|
||||
disable
|
||||
Do not enable amd_pstate as the default
|
||||
scaling driver for the supported processors
|
||||
passive
|
||||
Use amd_pstate as a scaling driver, driver requests a
|
||||
desired performance on this abstract scale and the power
|
||||
management firmware translates the requests into actual
|
||||
hardware states (core frequency, data fabric and memory
|
||||
clocks etc.)
|
||||
|
@ -283,23 +283,19 @@ efficiency frequency management method on AMD processors.
|
||||
Kernel Module Options for ``amd-pstate``
|
||||
=========================================
|
||||
|
||||
.. _shared_mem:
|
||||
Passive Mode
|
||||
------------
|
||||
|
||||
``shared_mem``
|
||||
Use a module param (shared_mem) to enable related processors manually with
|
||||
**amd_pstate.shared_mem=1**.
|
||||
Due to the performance issue on the processors with `Shared Memory Support
|
||||
<perf_cap_>`_, we disable it presently and will re-enable this by default
|
||||
once we address performance issue with this solution.
|
||||
``amd_pstate=passive``
|
||||
|
||||
To check whether the current processor is using `Full MSR Support <perf_cap_>`_
|
||||
or `Shared Memory Support <perf_cap_>`_ : ::
|
||||
|
||||
ray@hr-test1:~$ lscpu | grep cppc
|
||||
Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc cpuid extd_apicid aperfmperf rapl pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 x2apic movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_llc mwaitx cpb cat_l3 cdp_l3 hw_pstate ssbd mba ibrs ibpb stibp vmmcall fsgsbase bmi1 avx2 smep bmi2 erms invpcid cqm rdt_a rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec xgetbv1 xsaves cqm_llc cqm_occup_llc cqm_mbm_total cqm_mbm_local clzero irperf xsaveerptr rdpru wbnoinvd cppc arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic v_vmsave_vmload vgif v_spec_ctrl umip pku ospke vaes vpclmulqdq rdpid overflow_recov succor smca fsrm
|
||||
|
||||
If the CPU flags have ``cppc``, then this processor supports `Full MSR Support
|
||||
<perf_cap_>`_. Otherwise, it supports `Shared Memory Support <perf_cap_>`_.
|
||||
It will be enabled if the ``amd_pstate=passive`` is passed to the kernel in the command line.
|
||||
In this mode, ``amd_pstate`` driver software specifies a desired QoS target in the CPPC
|
||||
performance scale as a relative number. This can be expressed as percentage of nominal
|
||||
performance (infrastructure max). Below the nominal sustained performance level,
|
||||
desired performance expresses the average performance level of the processor subject
|
||||
to the Performance Reduction Tolerance register. Above the nominal performance level,
|
||||
processor must provide at least nominal performance requested and go higher if current
|
||||
operating conditions allow.
|
||||
|
||||
|
||||
``cpupower`` tool support for ``amd-pstate``
|
||||
|
@ -148,7 +148,7 @@ allOf:
|
||||
items:
|
||||
- const: oscclk
|
||||
- const: dout_clkcmu_fsys1_bus
|
||||
- const: dout_clkcmu_fsys1_mmc_card
|
||||
- const: gout_clkcmu_fsys1_mmc_card
|
||||
- const: dout_clkcmu_fsys1_usbdrd
|
||||
|
||||
- if:
|
||||
|
@ -62,13 +62,6 @@ properties:
|
||||
description:
|
||||
Inform the driver that last channel will be used to sensor battery.
|
||||
|
||||
aspeed,trim-data-valid:
|
||||
type: boolean
|
||||
description: |
|
||||
The ADC reference voltage can be calibrated to obtain the trimming
|
||||
data which will be stored in otp. This property informs the driver that
|
||||
the data store in the otp is valid.
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
|
@ -16,8 +16,11 @@ description:
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
items:
|
||||
oneOf:
|
||||
- const: goodix,gt7375p
|
||||
- items:
|
||||
- const: goodix,gt7986u
|
||||
- const: goodix,gt7375p
|
||||
|
||||
reg:
|
||||
enum:
|
||||
|
@ -24,7 +24,7 @@ properties:
|
||||
oneOf:
|
||||
- items:
|
||||
- enum:
|
||||
- qcom,sc7280-bwmon
|
||||
- qcom,sc7280-cpu-bwmon
|
||||
- qcom,sdm845-bwmon
|
||||
- const: qcom,msm8998-bwmon
|
||||
- const: qcom,msm8998-bwmon # BWMON v4
|
||||
|
@ -36,6 +36,9 @@ properties:
|
||||
resets:
|
||||
maxItems: 1
|
||||
|
||||
iommus:
|
||||
maxItems: 1
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
@ -43,6 +46,7 @@ required:
|
||||
- clocks
|
||||
- clock-names
|
||||
- resets
|
||||
- iommus
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
@ -59,6 +63,7 @@ examples:
|
||||
clocks = <&ccu CLK_BUS_VP9>, <&ccu CLK_VP9>;
|
||||
clock-names = "bus", "mod";
|
||||
resets = <&ccu RST_BUS_VP9>;
|
||||
iommus = <&iommu 5>;
|
||||
};
|
||||
|
||||
...
|
||||
|
@ -8,7 +8,7 @@ title: Audio codec controlled by ChromeOS EC
|
||||
|
||||
maintainers:
|
||||
- Cheng-Yi Chiang <cychiang@chromium.org>
|
||||
- Tzung-Bi Shih <tzungbi@google.com>
|
||||
- Tzung-Bi Shih <tzungbi@kernel.org>
|
||||
|
||||
description: |
|
||||
Google's ChromeOS EC codec is a digital mic codec provided by the
|
||||
|
@ -7,7 +7,7 @@ $schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
title: Realtek rt1015p codec devicetree bindings
|
||||
|
||||
maintainers:
|
||||
- Tzung-Bi Shih <tzungbi@google.com>
|
||||
- Tzung-Bi Shih <tzungbi@kernel.org>
|
||||
|
||||
description: |
|
||||
Rt1015p is a rt1015 variant which does not support I2C and
|
||||
|
@ -16,12 +16,11 @@ Parallel Port Devices
|
||||
16x50 UART Driver
|
||||
=================
|
||||
|
||||
.. kernel-doc:: drivers/tty/serial/serial_core.c
|
||||
:export:
|
||||
|
||||
.. kernel-doc:: drivers/tty/serial/8250/8250_core.c
|
||||
:export:
|
||||
|
||||
See serial/driver.rst for related APIs.
|
||||
|
||||
Pulse-Width Modulation (PWM)
|
||||
============================
|
||||
|
||||
|
42
Documentation/loongarch/booting.rst
Normal file
42
Documentation/loongarch/booting.rst
Normal file
@ -0,0 +1,42 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
=======================
|
||||
Booting Linux/LoongArch
|
||||
=======================
|
||||
|
||||
:Author: Yanteng Si <siyanteng@loongson.cn>
|
||||
:Date: 18 Nov 2022
|
||||
|
||||
Information passed from BootLoader to kernel
|
||||
============================================
|
||||
|
||||
LoongArch supports ACPI and FDT. The information that needs to be passed
|
||||
to the kernel includes the memmap, the initrd, the command line, optionally
|
||||
the ACPI/FDT tables, and so on.
|
||||
|
||||
The kernel is passed the following arguments on `kernel_entry` :
|
||||
|
||||
- a0 = efi_boot: `efi_boot` is a flag indicating whether
|
||||
this boot environment is fully UEFI-compliant.
|
||||
|
||||
- a1 = cmdline: `cmdline` is a pointer to the kernel command line.
|
||||
|
||||
- a2 = systemtable: `systemtable` points to the EFI system table.
|
||||
All pointers involved at this stage are in physical addresses.
|
||||
|
||||
Header of Linux/LoongArch kernel images
|
||||
=======================================
|
||||
|
||||
Linux/LoongArch kernel images are EFI images. Being PE files, they have
|
||||
a 64-byte header structured like::
|
||||
|
||||
u32 MZ_MAGIC /* "MZ", MS-DOS header */
|
||||
u32 res0 = 0 /* Reserved */
|
||||
u64 kernel_entry /* Kernel entry point */
|
||||
u64 _end - _text /* Kernel image effective size */
|
||||
u64 load_offset /* Kernel image load offset from start of RAM */
|
||||
u64 res1 = 0 /* Reserved */
|
||||
u64 res2 = 0 /* Reserved */
|
||||
u64 res3 = 0 /* Reserved */
|
||||
u32 LINUX_PE_MAGIC /* Magic number */
|
||||
u32 pe_header - _head /* Offset to the PE header */
|
@ -9,6 +9,7 @@ LoongArch Architecture
|
||||
:numbered:
|
||||
|
||||
introduction
|
||||
booting
|
||||
irq-chip-model
|
||||
|
||||
features
|
||||
|
@ -6,4 +6,4 @@ Generic Netlink
|
||||
|
||||
A wiki document on how to use Generic Netlink can be found here:
|
||||
|
||||
* http://www.linuxfoundation.org/collaborate/workgroups/networking/generic_netlink_howto
|
||||
* https://wiki.linuxfoundation.org/networking/generic_netlink_howto
|
||||
|
@ -51,7 +51,7 @@ the Technical Advisory Board (TAB) or other maintainers if you're
|
||||
uncertain how to handle situations that come up. It will not be
|
||||
considered a violation report unless you want it to be. If you are
|
||||
uncertain about approaching the TAB or any other maintainers, please
|
||||
reach out to our conflict mediator, Joanna Lee <joanna.lee@gesmer.com>.
|
||||
reach out to our conflict mediator, Joanna Lee <jlee@linuxfoundation.org>.
|
||||
|
||||
In the end, "be kind to each other" is really what the end goal is for
|
||||
everybody. We know everyone is human and we all fail at times, but the
|
||||
|
48
Documentation/translations/zh_CN/loongarch/booting.rst
Normal file
48
Documentation/translations/zh_CN/loongarch/booting.rst
Normal file
@ -0,0 +1,48 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
.. include:: ../disclaimer-zh_CN.rst
|
||||
|
||||
:Original: Documentation/loongarch/booting.rst
|
||||
|
||||
:翻译:
|
||||
|
||||
司延腾 Yanteng Si <siyanteng@loongson.cn>
|
||||
|
||||
====================
|
||||
启动 Linux/LoongArch
|
||||
====================
|
||||
|
||||
:作者: 司延腾 <siyanteng@loongson.cn>
|
||||
:日期: 2022年11月18日
|
||||
|
||||
BootLoader传递给内核的信息
|
||||
==========================
|
||||
|
||||
LoongArch支持ACPI和FDT启动,需要传递给内核的信息包括memmap、initrd、cmdline、可
|
||||
选的ACPI/FDT表等。
|
||||
|
||||
内核在 `kernel_entry` 入口处被传递以下参数:
|
||||
|
||||
- a0 = efi_boot: `efi_boot` 是一个标志,表示这个启动环境是否完全符合UEFI
|
||||
的要求。
|
||||
|
||||
- a1 = cmdline: `cmdline` 是一个指向内核命令行的指针。
|
||||
|
||||
- a2 = systemtable: `systemtable` 指向EFI的系统表,在这个阶段涉及的所有
|
||||
指针都是物理地址。
|
||||
|
||||
Linux/LoongArch内核镜像文件头
|
||||
=============================
|
||||
|
||||
内核镜像是EFI镜像。作为PE文件,它们有一个64字节的头部结构体,如下所示::
|
||||
|
||||
u32 MZ_MAGIC /* "MZ", MS-DOS 头 */
|
||||
u32 res0 = 0 /* 保留 */
|
||||
u64 kernel_entry /* 内核入口点 */
|
||||
u64 _end - _text /* 内核镜像有效大小 */
|
||||
u64 load_offset /* 加载内核镜像相对内存起始地址的偏移量 */
|
||||
u64 res1 = 0 /* 保留 */
|
||||
u64 res2 = 0 /* 保留 */
|
||||
u64 res3 = 0 /* 保留 */
|
||||
u32 LINUX_PE_MAGIC /* 魔术数 */
|
||||
u32 pe_header - _head /* 到PE头的偏移量 */
|
@ -14,6 +14,7 @@ LoongArch体系结构
|
||||
:numbered:
|
||||
|
||||
introduction
|
||||
booting
|
||||
irq-chip-model
|
||||
|
||||
features
|
||||
|
@ -70,8 +70,8 @@ LA64中每个寄存器为64位宽。 ``$r0`` 的内容总是固定为0,而其
|
||||
================= ================== =================== ==========
|
||||
|
||||
.. note::
|
||||
注意:在一些遗留代码中有时可能见到 ``$v0`` 和 ``$v1`` ,它们是
|
||||
``$a0`` 和 ``$a1`` 的别名,属于已经废弃的用法。
|
||||
注意:在一些遗留代码中有时可能见到 ``$fv0`` 和 ``$fv1`` ,它们是
|
||||
``$fa0`` 和 ``$fa1`` 的别名,属于已经废弃的用法。
|
||||
|
||||
|
||||
向量寄存器
|
||||
|
@ -7213,14 +7213,13 @@ veto the transition.
|
||||
:Parameters: args[0] is the maximum poll time in nanoseconds
|
||||
:Returns: 0 on success; -1 on error
|
||||
|
||||
This capability overrides the kvm module parameter halt_poll_ns for the
|
||||
target VM.
|
||||
KVM_CAP_HALT_POLL overrides the kvm.halt_poll_ns module parameter to set the
|
||||
maximum halt-polling time for all vCPUs in the target VM. This capability can
|
||||
be invoked at any time and any number of times to dynamically change the
|
||||
maximum halt-polling time.
|
||||
|
||||
VCPU polling allows a VCPU to poll for wakeup events instead of immediately
|
||||
scheduling during guest halts. The maximum time a VCPU can spend polling is
|
||||
controlled by the kvm module parameter halt_poll_ns. This capability allows
|
||||
the maximum halt time to specified on a per-VM basis, effectively overriding
|
||||
the module parameter for the target VM.
|
||||
See Documentation/virt/kvm/halt-polling.rst for more information on halt
|
||||
polling.
|
||||
|
||||
7.21 KVM_CAP_X86_USER_SPACE_MSR
|
||||
-------------------------------
|
||||
|
@ -119,6 +119,19 @@ These module parameters can be set from the debugfs files in:
|
||||
Note: that these module parameters are system wide values and are not able to
|
||||
be tuned on a per vm basis.
|
||||
|
||||
Any changes to these parameters will be picked up by new and existing vCPUs the
|
||||
next time they halt, with the notable exception of VMs using KVM_CAP_HALT_POLL
|
||||
(see next section).
|
||||
|
||||
KVM_CAP_HALT_POLL
|
||||
=================
|
||||
|
||||
KVM_CAP_HALT_POLL is a VM capability that allows userspace to override halt_poll_ns
|
||||
on a per-VM basis. VMs using KVM_CAP_HALT_POLL ignore halt_poll_ns completely (but
|
||||
still obey halt_poll_ns_grow, halt_poll_ns_grow_start, and halt_poll_ns_shrink).
|
||||
|
||||
See Documentation/virt/kvm/api.rst for more information on this capability.
|
||||
|
||||
Further Notes
|
||||
=============
|
||||
|
@ -17,4 +17,5 @@ KVM
|
||||
|
||||
locking
|
||||
vcpu-requests
|
||||
halt-polling
|
||||
review-checklist
|
||||
|
@ -10,7 +10,6 @@ KVM for x86 systems
|
||||
amd-memory-encryption
|
||||
cpuid
|
||||
errata
|
||||
halt-polling
|
||||
hypercalls
|
||||
mmu
|
||||
msr
|
||||
|
80
MAINTAINERS
80
MAINTAINERS
@ -2197,7 +2197,7 @@ M: Wei Xu <xuwei5@hisilicon.com>
|
||||
L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
|
||||
S: Supported
|
||||
W: http://www.hisilicon.com
|
||||
T: git git://github.com/hisilicon/linux-hisi.git
|
||||
T: git https://github.com/hisilicon/linux-hisi.git
|
||||
F: arch/arm/boot/dts/hi3*
|
||||
F: arch/arm/boot/dts/hip*
|
||||
F: arch/arm/boot/dts/hisi*
|
||||
@ -4809,7 +4809,7 @@ R: Jeff Layton <jlayton@kernel.org>
|
||||
L: ceph-devel@vger.kernel.org
|
||||
S: Supported
|
||||
W: http://ceph.com/
|
||||
T: git git://github.com/ceph/ceph-client.git
|
||||
T: git https://github.com/ceph/ceph-client.git
|
||||
F: include/linux/ceph/
|
||||
F: include/linux/crush/
|
||||
F: net/ceph/
|
||||
@ -4821,7 +4821,7 @@ R: Jeff Layton <jlayton@kernel.org>
|
||||
L: ceph-devel@vger.kernel.org
|
||||
S: Supported
|
||||
W: http://ceph.com/
|
||||
T: git git://github.com/ceph/ceph-client.git
|
||||
T: git https://github.com/ceph/ceph-client.git
|
||||
F: Documentation/filesystems/ceph.rst
|
||||
F: fs/ceph/
|
||||
|
||||
@ -4911,7 +4911,7 @@ F: drivers/platform/chrome/
|
||||
|
||||
CHROMEOS EC CODEC DRIVER
|
||||
M: Cheng-Yi Chiang <cychiang@chromium.org>
|
||||
M: Tzung-Bi Shih <tzungbi@google.com>
|
||||
M: Tzung-Bi Shih <tzungbi@kernel.org>
|
||||
R: Guenter Roeck <groeck@chromium.org>
|
||||
L: chrome-platform@lists.linux.dev
|
||||
S: Maintained
|
||||
@ -5299,7 +5299,7 @@ M: Johannes Weiner <hannes@cmpxchg.org>
|
||||
M: Michal Hocko <mhocko@kernel.org>
|
||||
M: Roman Gushchin <roman.gushchin@linux.dev>
|
||||
M: Shakeel Butt <shakeelb@google.com>
|
||||
R: Muchun Song <songmuchun@bytedance.com>
|
||||
R: Muchun Song <muchun.song@linux.dev>
|
||||
L: cgroups@vger.kernel.org
|
||||
L: linux-mm@kvack.org
|
||||
S: Maintained
|
||||
@ -5585,8 +5585,6 @@ F: drivers/scsi/cxgbi/cxgb3i
|
||||
|
||||
CXGB4 CRYPTO DRIVER (chcr)
|
||||
M: Ayush Sawal <ayush.sawal@chelsio.com>
|
||||
M: Vinay Kumar Yadav <vinay.yadav@chelsio.com>
|
||||
M: Rohit Maheshwari <rohitm@chelsio.com>
|
||||
L: linux-crypto@vger.kernel.org
|
||||
S: Supported
|
||||
W: http://www.chelsio.com
|
||||
@ -5594,8 +5592,6 @@ F: drivers/crypto/chelsio
|
||||
|
||||
CXGB4 INLINE CRYPTO DRIVER
|
||||
M: Ayush Sawal <ayush.sawal@chelsio.com>
|
||||
M: Vinay Kumar Yadav <vinay.yadav@chelsio.com>
|
||||
M: Rohit Maheshwari <rohitm@chelsio.com>
|
||||
L: netdev@vger.kernel.org
|
||||
S: Supported
|
||||
W: http://www.chelsio.com
|
||||
@ -9443,7 +9439,7 @@ F: drivers/net/ethernet/huawei/hinic/
|
||||
|
||||
HUGETLB SUBSYSTEM
|
||||
M: Mike Kravetz <mike.kravetz@oracle.com>
|
||||
M: Muchun Song <songmuchun@bytedance.com>
|
||||
M: Muchun Song <muchun.song@linux.dev>
|
||||
L: linux-mm@kvack.org
|
||||
S: Maintained
|
||||
F: Documentation/ABI/testing/sysfs-kernel-mm-hugepages
|
||||
@ -10294,7 +10290,7 @@ T: git https://github.com/intel/gvt-linux.git
|
||||
F: drivers/gpu/drm/i915/gvt/
|
||||
|
||||
INTEL HID EVENT DRIVER
|
||||
M: Alex Hung <alex.hung@canonical.com>
|
||||
M: Alex Hung <alexhung@gmail.com>
|
||||
L: platform-driver-x86@vger.kernel.org
|
||||
S: Maintained
|
||||
F: drivers/platform/x86/intel/hid.c
|
||||
@ -11042,6 +11038,7 @@ KCONFIG
|
||||
M: Masahiro Yamada <masahiroy@kernel.org>
|
||||
L: linux-kbuild@vger.kernel.org
|
||||
S: Maintained
|
||||
Q: https://patchwork.kernel.org/project/linux-kbuild/list/
|
||||
T: git git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild.git kconfig
|
||||
F: Documentation/kbuild/kconfig*
|
||||
F: scripts/Kconfig.include
|
||||
@ -11099,10 +11096,12 @@ F: fs/autofs/
|
||||
|
||||
KERNEL BUILD + files below scripts/ (unless maintained elsewhere)
|
||||
M: Masahiro Yamada <masahiroy@kernel.org>
|
||||
M: Michal Marek <michal.lkml@markovi.net>
|
||||
R: Nathan Chancellor <nathan@kernel.org>
|
||||
R: Nick Desaulniers <ndesaulniers@google.com>
|
||||
R: Nicolas Schier <nicolas@fjasle.eu>
|
||||
L: linux-kbuild@vger.kernel.org
|
||||
S: Maintained
|
||||
Q: https://patchwork.kernel.org/project/linux-kbuild/list/
|
||||
T: git git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild.git
|
||||
F: Documentation/kbuild/
|
||||
F: Makefile
|
||||
@ -13632,6 +13631,12 @@ S: Supported
|
||||
F: drivers/misc/atmel-ssc.c
|
||||
F: include/linux/atmel-ssc.h
|
||||
|
||||
MICROCHIP SOC DRIVERS
|
||||
M: Conor Dooley <conor@kernel.org>
|
||||
S: Supported
|
||||
T: git https://git.kernel.org/pub/scm/linux/kernel/git/conor/linux.git/
|
||||
F: drivers/soc/microchip/
|
||||
|
||||
MICROCHIP USB251XB DRIVER
|
||||
M: Richard Leitner <richard.leitner@skidata.com>
|
||||
L: linux-usb@vger.kernel.org
|
||||
@ -15950,6 +15955,7 @@ Q: https://patchwork.kernel.org/project/linux-pci/list/
|
||||
B: https://bugzilla.kernel.org
|
||||
C: irc://irc.oftc.net/linux-pci
|
||||
T: git git://git.kernel.org/pub/scm/linux/kernel/git/lpieralisi/pci.git
|
||||
F: Documentation/devicetree/bindings/pci/
|
||||
F: drivers/pci/controller/
|
||||
F: drivers/pci/pci-bridge-emul.c
|
||||
F: drivers/pci/pci-bridge-emul.h
|
||||
@ -16056,7 +16062,7 @@ F: Documentation/devicetree/bindings/pci/microchip*
|
||||
F: drivers/pci/controller/*microchip*
|
||||
|
||||
PCIE DRIVER FOR QUALCOMM MSM
|
||||
M: Stanimir Varbanov <svarbanov@mm-sol.com>
|
||||
M: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
|
||||
L: linux-pci@vger.kernel.org
|
||||
L: linux-arm-msm@vger.kernel.org
|
||||
S: Maintained
|
||||
@ -16146,7 +16152,8 @@ F: include/linux/peci-cpu.h
|
||||
F: include/linux/peci.h
|
||||
|
||||
PENSANDO ETHERNET DRIVERS
|
||||
M: Shannon Nelson <snelson@pensando.io>
|
||||
M: Shannon Nelson <shannon.nelson@amd.com>
|
||||
M: Brett Creeley <brett.creeley@amd.com>
|
||||
M: drivers@pensando.io
|
||||
L: netdev@vger.kernel.org
|
||||
S: Supported
|
||||
@ -17229,7 +17236,7 @@ R: Dongsheng Yang <dongsheng.yang@easystack.cn>
|
||||
L: ceph-devel@vger.kernel.org
|
||||
S: Supported
|
||||
W: http://ceph.com/
|
||||
T: git git://github.com/ceph/ceph-client.git
|
||||
T: git https://github.com/ceph/ceph-client.git
|
||||
F: Documentation/ABI/testing/sysfs-bus-rbd
|
||||
F: drivers/block/rbd.c
|
||||
F: drivers/block/rbd_types.h
|
||||
@ -17482,10 +17489,8 @@ S: Maintained
|
||||
F: drivers/net/wireless/realtek/rtw89/
|
||||
|
||||
REDPINE WIRELESS DRIVER
|
||||
M: Amitkumar Karwar <amitkarwar@gmail.com>
|
||||
M: Siva Rebbagondla <siva8118@gmail.com>
|
||||
L: linux-wireless@vger.kernel.org
|
||||
S: Maintained
|
||||
S: Orphan
|
||||
F: drivers/net/wireless/rsi/
|
||||
|
||||
REGISTER MAP ABSTRACTION
|
||||
@ -17730,7 +17735,7 @@ F: arch/riscv/
|
||||
N: riscv
|
||||
K: riscv
|
||||
|
||||
RISC-V/MICROCHIP POLARFIRE SOC SUPPORT
|
||||
RISC-V MICROCHIP FPGA SUPPORT
|
||||
M: Conor Dooley <conor.dooley@microchip.com>
|
||||
M: Daire McNamara <daire.mcnamara@microchip.com>
|
||||
L: linux-riscv@lists.infradead.org
|
||||
@ -17748,17 +17753,26 @@ F: Documentation/devicetree/bindings/usb/microchip,mpfs-musb.yaml
|
||||
F: arch/riscv/boot/dts/microchip/
|
||||
F: drivers/char/hw_random/mpfs-rng.c
|
||||
F: drivers/clk/microchip/clk-mpfs.c
|
||||
F: drivers/i2c/busses/i2c-microchip-core.c
|
||||
F: drivers/i2c/busses/i2c-microchip-corei2c.c
|
||||
F: drivers/mailbox/mailbox-mpfs.c
|
||||
F: drivers/pci/controller/pcie-microchip-host.c
|
||||
F: drivers/reset/reset-mpfs.c
|
||||
F: drivers/rtc/rtc-mpfs.c
|
||||
F: drivers/soc/microchip/
|
||||
F: drivers/soc/microchip/mpfs-sys-controller.c
|
||||
F: drivers/spi/spi-microchip-core-qspi.c
|
||||
F: drivers/spi/spi-microchip-core.c
|
||||
F: drivers/usb/musb/mpfs.c
|
||||
F: include/soc/microchip/mpfs.h
|
||||
|
||||
RISC-V MISC SOC SUPPORT
|
||||
M: Conor Dooley <conor@kernel.org>
|
||||
L: linux-riscv@lists.infradead.org
|
||||
S: Maintained
|
||||
Q: https://patchwork.kernel.org/project/linux-riscv/list/
|
||||
T: git https://git.kernel.org/pub/scm/linux/kernel/git/conor/linux.git/
|
||||
F: Documentation/devicetree/bindings/riscv/
|
||||
F: arch/riscv/boot/dts/
|
||||
|
||||
RNBD BLOCK DRIVERS
|
||||
M: Md. Haris Iqbal <haris.iqbal@ionos.com>
|
||||
M: Jack Wang <jinpu.wang@ionos.com>
|
||||
@ -17999,7 +18013,7 @@ L: linux-fbdev@vger.kernel.org
|
||||
S: Maintained
|
||||
F: drivers/video/fbdev/savage/
|
||||
|
||||
S390
|
||||
S390 ARCHITECTURE
|
||||
M: Heiko Carstens <hca@linux.ibm.com>
|
||||
M: Vasily Gorbik <gor@linux.ibm.com>
|
||||
M: Alexander Gordeev <agordeev@linux.ibm.com>
|
||||
@ -18054,6 +18068,15 @@ L: netdev@vger.kernel.org
|
||||
S: Supported
|
||||
F: drivers/s390/net/
|
||||
|
||||
S390 MM
|
||||
M: Alexander Gordeev <agordeev@linux.ibm.com>
|
||||
M: Gerald Schaefer <gerald.schaefer@linux.ibm.com>
|
||||
L: linux-s390@vger.kernel.org
|
||||
S: Supported
|
||||
T: git git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux.git
|
||||
F: arch/s390/include/asm/pgtable.h
|
||||
F: arch/s390/mm
|
||||
|
||||
S390 PCI SUBSYSTEM
|
||||
M: Niklas Schnelle <schnelle@linux.ibm.com>
|
||||
M: Gerald Schaefer <gerald.schaefer@linux.ibm.com>
|
||||
@ -18785,7 +18808,6 @@ M: Palmer Dabbelt <palmer@dabbelt.com>
|
||||
M: Paul Walmsley <paul.walmsley@sifive.com>
|
||||
L: linux-riscv@lists.infradead.org
|
||||
S: Supported
|
||||
T: git https://github.com/sifive/riscv-linux.git
|
||||
N: sifive
|
||||
K: [^@]sifive
|
||||
|
||||
@ -18804,6 +18826,13 @@ S: Maintained
|
||||
F: Documentation/devicetree/bindings/dma/sifive,fu540-c000-pdma.yaml
|
||||
F: drivers/dma/sf-pdma/
|
||||
|
||||
SIFIVE SOC DRIVERS
|
||||
M: Conor Dooley <conor@kernel.org>
|
||||
L: linux-riscv@lists.infradead.org
|
||||
S: Maintained
|
||||
T: git https://git.kernel.org/pub/scm/linux/kernel/git/conor/linux.git/
|
||||
F: drivers/soc/sifive/
|
||||
|
||||
SILEAD TOUCHSCREEN DRIVER
|
||||
M: Hans de Goede <hdegoede@redhat.com>
|
||||
L: linux-input@vger.kernel.org
|
||||
@ -19605,6 +19634,11 @@ M: Ion Badulescu <ionut@badula.org>
|
||||
S: Odd Fixes
|
||||
F: drivers/net/ethernet/adaptec/starfire*
|
||||
|
||||
STARFIVE DEVICETREES
|
||||
M: Emil Renner Berthing <kernel@esmil.dk>
|
||||
S: Maintained
|
||||
F: arch/riscv/boot/dts/starfive/
|
||||
|
||||
STARFIVE JH7100 CLOCK DRIVERS
|
||||
M: Emil Renner Berthing <kernel@esmil.dk>
|
||||
S: Maintained
|
||||
|
2
Makefile
2
Makefile
@ -2,7 +2,7 @@
|
||||
VERSION = 6
|
||||
PATCHLEVEL = 1
|
||||
SUBLEVEL = 0
|
||||
EXTRAVERSION = -rc5
|
||||
EXTRAVERSION =
|
||||
NAME = Hurr durr I'ma ninja sloth
|
||||
|
||||
# *DOCUMENTATION*
|
||||
|
@ -1,14 +1,49 @@
|
||||
drivers/block/zram/zram.ko
|
||||
drivers/bluetooth/btbcm.ko
|
||||
drivers/bluetooth/btqca.ko
|
||||
drivers/bluetooth/btsdio.ko
|
||||
drivers/bluetooth/hci_uart.ko
|
||||
drivers/net/can/dev/can-dev.ko
|
||||
drivers/net/can/slcan/slcan.ko
|
||||
drivers/net/can/vcan.ko
|
||||
drivers/net/ppp/bsd_comp.ko
|
||||
drivers/net/ppp/ppp_deflate.ko
|
||||
drivers/net/ppp/ppp_generic.ko
|
||||
drivers/net/ppp/ppp_mppe.ko
|
||||
drivers/net/ppp/pppox.ko
|
||||
drivers/net/ppp/pptp.ko
|
||||
drivers/net/slip/slhc.ko
|
||||
drivers/usb/class/cdc-acm.ko
|
||||
drivers/usb/serial/ftdi_sio.ko
|
||||
drivers/usb/serial/usbserial.ko
|
||||
lib/crypto/libarc4.ko
|
||||
mm/zsmalloc.ko
|
||||
net/6lowpan/6lowpan.ko
|
||||
net/6lowpan/nhc_dest.ko
|
||||
net/6lowpan/nhc_fragment.ko
|
||||
net/6lowpan/nhc_hop.ko
|
||||
net/6lowpan/nhc_ipv6.ko
|
||||
net/6lowpan/nhc_mobility.ko
|
||||
net/6lowpan/nhc_routing.ko
|
||||
net/6lowpan/nhc_udp.ko
|
||||
net/8021q/8021q.ko
|
||||
net/bluetooth/bluetooth.ko
|
||||
net/bluetooth/hidp/hidp.ko
|
||||
net/bluetooth/rfcomm/rfcomm.ko
|
||||
net/can/can.ko
|
||||
net/can/can-bcm.ko
|
||||
net/can/can-gw.ko
|
||||
net/can/can-raw.ko
|
||||
net/ieee802154/6lowpan/ieee802154_6lowpan.ko
|
||||
net/ieee802154/ieee802154.ko
|
||||
net/ieee802154/ieee802154_socket.ko
|
||||
net/l2tp/l2tp_core.ko
|
||||
net/l2tp/l2tp_ppp.ko
|
||||
net/mac80211/mac80211.ko
|
||||
net/mac802154/mac802154.ko
|
||||
net/nfc/nfc.ko
|
||||
net/rfkill/rfkill.ko
|
||||
net/tipc/diag.ko
|
||||
net/tipc/tipc.ko
|
||||
net/wireless/cfg80211.ko
|
||||
|
||||
|
@ -12,22 +12,20 @@ / {
|
||||
compatible = "phytec,am335x-pcm-953", "phytec,am335x-phycore-som", "ti,am33xx";
|
||||
|
||||
/* Power */
|
||||
regulators {
|
||||
vcc3v3: fixedregulator@1 {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "vcc3v3";
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-boot-on;
|
||||
};
|
||||
vcc3v3: fixedregulator1 {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "vcc3v3";
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-boot-on;
|
||||
};
|
||||
|
||||
vcc1v8: fixedregulator@2 {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "vcc1v8";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
regulator-boot-on;
|
||||
};
|
||||
vcc1v8: fixedregulator2 {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "vcc1v8";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
regulator-boot-on;
|
||||
};
|
||||
|
||||
/* User IO */
|
||||
|
@ -666,7 +666,7 @@ usb1: gadget@fffb0000 {
|
||||
compatible = "atmel,at91rm9200-udc";
|
||||
reg = <0xfffb0000 0x4000>;
|
||||
interrupts = <11 IRQ_TYPE_LEVEL_HIGH 2>;
|
||||
clocks = <&pmc PMC_TYPE_PERIPHERAL 11>, <&pmc PMC_TYPE_SYSTEM 2>;
|
||||
clocks = <&pmc PMC_TYPE_PERIPHERAL 11>, <&pmc PMC_TYPE_SYSTEM 1>;
|
||||
clock-names = "pclk", "hclk";
|
||||
status = "disabled";
|
||||
};
|
||||
|
@ -39,6 +39,13 @@ pinctrl_pck0_as_mck: pck0_as_mck {
|
||||
|
||||
};
|
||||
|
||||
usb1 {
|
||||
pinctrl_usb1_vbus_gpio: usb1_vbus_gpio {
|
||||
atmel,pins =
|
||||
<AT91_PIOC 5 AT91_PERIPH_GPIO AT91_PINCTRL_DEGLITCH>; /* PC5 GPIO */
|
||||
};
|
||||
};
|
||||
|
||||
mmc0_slot1 {
|
||||
pinctrl_board_mmc0_slot1: mmc0_slot1-board {
|
||||
atmel,pins =
|
||||
@ -84,6 +91,8 @@ macb0: ethernet@fffc4000 {
|
||||
};
|
||||
|
||||
usb1: gadget@fffa4000 {
|
||||
pinctrl-0 = <&pinctrl_usb1_vbus_gpio>;
|
||||
pinctrl-names = "default";
|
||||
atmel,vbus-gpio = <&pioC 5 GPIO_ACTIVE_HIGH>;
|
||||
status = "okay";
|
||||
};
|
||||
|
@ -364,8 +364,8 @@ wifi {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_wifi>;
|
||||
interrupts-extended = <&gpio1 30 IRQ_TYPE_LEVEL_HIGH>;
|
||||
ref-clock-frequency = "38400000";
|
||||
tcxo-clock-frequency = "19200000";
|
||||
ref-clock-frequency = <38400000>;
|
||||
tcxo-clock-frequency = <19200000>;
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -69,6 +69,12 @@ can0_b_pins: can0-b-pins {
|
||||
pins = "GPIO_35", "GPIO_36";
|
||||
function = "can0_b";
|
||||
};
|
||||
|
||||
sgpio_a_pins: sgpio-a-pins {
|
||||
/* SCK, D0, D1, LD */
|
||||
pins = "GPIO_32", "GPIO_33", "GPIO_34", "GPIO_35";
|
||||
function = "sgpio_a";
|
||||
};
|
||||
};
|
||||
|
||||
&can0 {
|
||||
@ -118,6 +124,20 @@ &serdes {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&sgpio {
|
||||
pinctrl-0 = <&sgpio_a_pins>;
|
||||
pinctrl-names = "default";
|
||||
microchip,sgpio-port-ranges = <0 3>, <8 11>;
|
||||
status = "okay";
|
||||
|
||||
gpio@0 {
|
||||
ngpios = <64>;
|
||||
};
|
||||
gpio@1 {
|
||||
ngpios = <64>;
|
||||
};
|
||||
};
|
||||
|
||||
&switch {
|
||||
status = "okay";
|
||||
};
|
||||
|
@ -35,11 +35,10 @@ phy0: ethernet-phy@0 {
|
||||
&i2c1 {
|
||||
status = "okay";
|
||||
|
||||
hym8563: hym8563@51 {
|
||||
hym8563: rtc@51 {
|
||||
compatible = "haoyu,hym8563";
|
||||
reg = <0x51>;
|
||||
#clock-cells = <0>;
|
||||
clock-frequency = <32768>;
|
||||
clock-output-names = "xin32k";
|
||||
};
|
||||
};
|
||||
|
@ -32,7 +32,7 @@ adc-keys {
|
||||
keyup-threshold-microvolt = <2500000>;
|
||||
poll-interval = <100>;
|
||||
|
||||
recovery {
|
||||
button-recovery {
|
||||
label = "recovery";
|
||||
linux,code = <KEY_VENDOR>;
|
||||
press-threshold-microvolt = <0>;
|
||||
|
@ -71,7 +71,7 @@ spdif_out: spdif-out {
|
||||
#sound-dai-cells = <0>;
|
||||
};
|
||||
|
||||
ir_recv: gpio-ir-receiver {
|
||||
ir_recv: ir-receiver {
|
||||
compatible = "gpio-ir-receiver";
|
||||
gpios = <&gpio0 RK_PB2 GPIO_ACTIVE_LOW>;
|
||||
pinctrl-names = "default";
|
||||
|
@ -379,7 +379,7 @@ lcdc1_vsync: lcdc1-vsync {
|
||||
rockchip,pins = <2 RK_PD3 1 &pcfg_pull_none>;
|
||||
};
|
||||
|
||||
lcdc1_rgb24: ldcd1-rgb24 {
|
||||
lcdc1_rgb24: lcdc1-rgb24 {
|
||||
rockchip,pins = <2 RK_PA0 1 &pcfg_pull_none>,
|
||||
<2 RK_PA1 1 &pcfg_pull_none>,
|
||||
<2 RK_PA2 1 &pcfg_pull_none>,
|
||||
@ -607,7 +607,6 @@ &emac {
|
||||
|
||||
&global_timer {
|
||||
interrupts = <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_EDGE_RISING)>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
&local_timer {
|
||||
|
@ -54,7 +54,7 @@ vdd_gpu: syr828@41 {
|
||||
vin-supply = <&vcc_sys>;
|
||||
};
|
||||
|
||||
hym8563@51 {
|
||||
rtc@51 {
|
||||
compatible = "haoyu,hym8563";
|
||||
reg = <0x51>;
|
||||
|
||||
|
@ -28,19 +28,19 @@ button-down {
|
||||
press-threshold-microvolt = <300000>;
|
||||
};
|
||||
|
||||
menu {
|
||||
button-menu {
|
||||
label = "Menu";
|
||||
linux,code = <KEY_MENU>;
|
||||
press-threshold-microvolt = <640000>;
|
||||
};
|
||||
|
||||
esc {
|
||||
button-esc {
|
||||
label = "Esc";
|
||||
linux,code = <KEY_ESC>;
|
||||
press-threshold-microvolt = <1000000>;
|
||||
};
|
||||
|
||||
home {
|
||||
button-home {
|
||||
label = "Home";
|
||||
linux,code = <KEY_HOME>;
|
||||
press-threshold-microvolt = <1300000>;
|
||||
|
@ -233,11 +233,10 @@ vdd_gpu: syr828@41 {
|
||||
vin-supply = <&vcc_sys>;
|
||||
};
|
||||
|
||||
hym8563: hym8563@51 {
|
||||
hym8563: rtc@51 {
|
||||
compatible = "haoyu,hym8563";
|
||||
reg = <0x51>;
|
||||
#clock-cells = <0>;
|
||||
clock-frequency = <32768>;
|
||||
clock-output-names = "xin32k";
|
||||
interrupt-parent = <&gpio7>;
|
||||
interrupts = <RK_PA4 IRQ_TYPE_EDGE_FALLING>;
|
||||
|
@ -162,11 +162,10 @@ vdd_gpu: syr828@41 {
|
||||
vin-supply = <&vcc_sys>;
|
||||
};
|
||||
|
||||
hym8563: hym8563@51 {
|
||||
hym8563: rtc@51 {
|
||||
compatible = "haoyu,hym8563";
|
||||
reg = <0x51>;
|
||||
#clock-cells = <0>;
|
||||
clock-frequency = <32768>;
|
||||
clock-output-names = "xin32k";
|
||||
};
|
||||
|
||||
|
@ -165,11 +165,10 @@ &hdmi {
|
||||
};
|
||||
|
||||
&i2c0 {
|
||||
hym8563: hym8563@51 {
|
||||
hym8563: rtc@51 {
|
||||
compatible = "haoyu,hym8563";
|
||||
reg = <0x51>;
|
||||
#clock-cells = <0>;
|
||||
clock-frequency = <32768>;
|
||||
clock-output-names = "xin32k";
|
||||
interrupt-parent = <&gpio0>;
|
||||
interrupts = <RK_PA4 IRQ_TYPE_EDGE_FALLING>;
|
||||
|
@ -241,7 +241,6 @@ hym8563: rtc@51 {
|
||||
interrupt-parent = <&gpio5>;
|
||||
interrupts = <RK_PC3 IRQ_TYPE_LEVEL_LOW>;
|
||||
#clock-cells = <0>;
|
||||
clock-frequency = <32768>;
|
||||
clock-output-names = "hym8563";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&hym8563_int>;
|
||||
|
@ -76,6 +76,13 @@ global_timer: global-timer@1013c200 {
|
||||
reg = <0x1013c200 0x20>;
|
||||
interrupts = <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_EDGE_RISING)>;
|
||||
clocks = <&cru CORE_PERI>;
|
||||
status = "disabled";
|
||||
/* The clock source and the sched_clock provided by the arm_global_timer
|
||||
* on Rockchip rk3066a/rk3188 are quite unstable because their rates
|
||||
* depend on the CPU frequency.
|
||||
* Keep the arm_global_timer disabled in order to have the
|
||||
* DW_APB_TIMER (rk3066a) or ROCKCHIP_TIMER (rk3188) selected by default.
|
||||
*/
|
||||
};
|
||||
|
||||
local_timer: local-timer@1013c600 {
|
||||
|
@ -261,7 +261,7 @@
|
||||
#define PIN_PB2__FLEXCOM6_IO0 PINMUX_PIN(PIN_PB2, 2, 1)
|
||||
#define PIN_PB2__ADTRG PINMUX_PIN(PIN_PB2, 3, 1)
|
||||
#define PIN_PB2__A20 PINMUX_PIN(PIN_PB2, 4, 1)
|
||||
#define PIN_PB2__FLEXCOM11_IO0 PINMUX_PIN(PIN_PB2, 6, 3)
|
||||
#define PIN_PB2__FLEXCOM11_IO1 PINMUX_PIN(PIN_PB2, 6, 3)
|
||||
#define PIN_PB3 35
|
||||
#define PIN_PB3__GPIO PINMUX_PIN(PIN_PB3, 0, 0)
|
||||
#define PIN_PB3__RF1 PINMUX_PIN(PIN_PB3, 1, 1)
|
||||
|
@ -17,7 +17,7 @@ extern unsigned long perf_misc_flags(struct pt_regs *regs);
|
||||
|
||||
#define perf_arch_fetch_caller_regs(regs, __ip) { \
|
||||
(regs)->ARM_pc = (__ip); \
|
||||
(regs)->ARM_fp = (unsigned long) __builtin_frame_address(0); \
|
||||
frame_pointer((regs)) = (unsigned long) __builtin_frame_address(0); \
|
||||
(regs)->ARM_sp = current_stack_pointer; \
|
||||
(regs)->ARM_cpsr = SVC_MODE; \
|
||||
}
|
||||
|
@ -44,12 +44,6 @@
|
||||
|
||||
typedef pte_t *pte_addr_t;
|
||||
|
||||
/*
|
||||
* ZERO_PAGE is a global shared page that is always zero: used
|
||||
* for zero-mapped memory areas etc..
|
||||
*/
|
||||
#define ZERO_PAGE(vaddr) (virt_to_page(0))
|
||||
|
||||
/*
|
||||
* Mark the prot value as uncacheable and unbufferable.
|
||||
*/
|
||||
|
@ -10,6 +10,15 @@
|
||||
#include <linux/const.h>
|
||||
#include <asm/proc-fns.h>
|
||||
|
||||
#ifndef __ASSEMBLY__
|
||||
/*
|
||||
* ZERO_PAGE is a global shared page that is always zero: used
|
||||
* for zero-mapped memory areas etc..
|
||||
*/
|
||||
extern struct page *empty_zero_page;
|
||||
#define ZERO_PAGE(vaddr) (empty_zero_page)
|
||||
#endif
|
||||
|
||||
#ifndef CONFIG_MMU
|
||||
|
||||
#include <asm-generic/pgtable-nopud.h>
|
||||
@ -139,13 +148,6 @@ extern pgprot_t phys_mem_access_prot(struct file *file, unsigned long pfn,
|
||||
*/
|
||||
|
||||
#ifndef __ASSEMBLY__
|
||||
/*
|
||||
* ZERO_PAGE is a global shared page that is always zero: used
|
||||
* for zero-mapped memory areas etc..
|
||||
*/
|
||||
extern struct page *empty_zero_page;
|
||||
#define ZERO_PAGE(vaddr) (empty_zero_page)
|
||||
|
||||
|
||||
extern pgd_t swapper_pg_dir[PTRS_PER_PGD];
|
||||
|
||||
|
@ -169,10 +169,15 @@ sr_ena_2:
|
||||
cmp tmp1, #UDDRC_STAT_SELFREF_TYPE_SW
|
||||
bne sr_ena_2
|
||||
|
||||
/* Put DDR PHY's DLL in bypass mode for non-backup modes. */
|
||||
/* Disable DX DLLs for non-backup modes. */
|
||||
cmp r7, #AT91_PM_BACKUP
|
||||
beq sr_ena_3
|
||||
|
||||
/* Do not soft reset the AC DLL. */
|
||||
ldr tmp1, [r3, DDR3PHY_ACDLLCR]
|
||||
bic tmp1, tmp1, DDR3PHY_ACDLLCR_DLLSRST
|
||||
str tmp1, [r3, DDR3PHY_ACDLLCR]
|
||||
|
||||
/* Disable DX DLLs. */
|
||||
ldr tmp1, [r3, #DDR3PHY_DX0DLLCR]
|
||||
orr tmp1, tmp1, #DDR3PHY_DXDLLCR_DLLDIS
|
||||
|
@ -26,7 +26,7 @@ static void sama5_l2c310_write_sec(unsigned long val, unsigned reg)
|
||||
static void __init sama5_secure_cache_init(void)
|
||||
{
|
||||
sam_secure_init();
|
||||
if (sam_linux_is_optee_available())
|
||||
if (IS_ENABLED(CONFIG_OUTER_CACHE) && sam_linux_is_optee_available())
|
||||
outer_cache.write_sec = sama5_l2c310_write_sec;
|
||||
}
|
||||
|
||||
|
@ -393,8 +393,10 @@ static void __init mxs_machine_init(void)
|
||||
|
||||
root = of_find_node_by_path("/");
|
||||
ret = of_property_read_string(root, "model", &soc_dev_attr->machine);
|
||||
if (ret)
|
||||
if (ret) {
|
||||
kfree(soc_dev_attr);
|
||||
return;
|
||||
}
|
||||
|
||||
soc_dev_attr->family = "Freescale MXS Family";
|
||||
soc_dev_attr->soc_id = mxs_get_soc_id();
|
||||
|
@ -105,6 +105,19 @@ static inline bool is_write_fault(unsigned int fsr)
|
||||
return (fsr & FSR_WRITE) && !(fsr & FSR_CM);
|
||||
}
|
||||
|
||||
static inline bool is_translation_fault(unsigned int fsr)
|
||||
{
|
||||
int fs = fsr_fs(fsr);
|
||||
#ifdef CONFIG_ARM_LPAE
|
||||
if ((fs & FS_MMU_NOLL_MASK) == FS_TRANS_NOLL)
|
||||
return true;
|
||||
#else
|
||||
if (fs == FS_L1_TRANS || fs == FS_L2_TRANS)
|
||||
return true;
|
||||
#endif
|
||||
return false;
|
||||
}
|
||||
|
||||
static void die_kernel_fault(const char *msg, struct mm_struct *mm,
|
||||
unsigned long addr, unsigned int fsr,
|
||||
struct pt_regs *regs)
|
||||
@ -140,7 +153,8 @@ __do_kernel_fault(struct mm_struct *mm, unsigned long addr, unsigned int fsr,
|
||||
if (addr < PAGE_SIZE) {
|
||||
msg = "NULL pointer dereference";
|
||||
} else {
|
||||
if (kfence_handle_page_fault(addr, is_write_fault(fsr), regs))
|
||||
if (is_translation_fault(fsr) &&
|
||||
kfence_handle_page_fault(addr, is_write_fault(fsr), regs))
|
||||
return;
|
||||
|
||||
msg = "paging request";
|
||||
@ -208,7 +222,7 @@ static inline bool is_permission_fault(unsigned int fsr)
|
||||
{
|
||||
int fs = fsr_fs(fsr);
|
||||
#ifdef CONFIG_ARM_LPAE
|
||||
if ((fs & FS_PERM_NOLL_MASK) == FS_PERM_NOLL)
|
||||
if ((fs & FS_MMU_NOLL_MASK) == FS_PERM_NOLL)
|
||||
return true;
|
||||
#else
|
||||
if (fs == FS_L1_PERM || fs == FS_L2_PERM)
|
||||
|
@ -14,8 +14,9 @@
|
||||
|
||||
#ifdef CONFIG_ARM_LPAE
|
||||
#define FSR_FS_AEA 17
|
||||
#define FS_TRANS_NOLL 0x4
|
||||
#define FS_PERM_NOLL 0xC
|
||||
#define FS_PERM_NOLL_MASK 0x3C
|
||||
#define FS_MMU_NOLL_MASK 0x3C
|
||||
|
||||
static inline int fsr_fs(unsigned int fsr)
|
||||
{
|
||||
@ -23,8 +24,10 @@ static inline int fsr_fs(unsigned int fsr)
|
||||
}
|
||||
#else
|
||||
#define FSR_FS_AEA 22
|
||||
#define FS_L1_PERM 0xD
|
||||
#define FS_L2_PERM 0xF
|
||||
#define FS_L1_TRANS 0x5
|
||||
#define FS_L2_TRANS 0x7
|
||||
#define FS_L1_PERM 0xD
|
||||
#define FS_L2_PERM 0xF
|
||||
|
||||
static inline int fsr_fs(unsigned int fsr)
|
||||
{
|
||||
|
@ -26,6 +26,13 @@
|
||||
|
||||
unsigned long vectors_base;
|
||||
|
||||
/*
|
||||
* empty_zero_page is a special page that is used for
|
||||
* zero-initialized data and COW.
|
||||
*/
|
||||
struct page *empty_zero_page;
|
||||
EXPORT_SYMBOL(empty_zero_page);
|
||||
|
||||
#ifdef CONFIG_ARM_MPU
|
||||
struct mpu_rgn_info mpu_rgn_info;
|
||||
#endif
|
||||
@ -148,9 +155,21 @@ void __init adjust_lowmem_bounds(void)
|
||||
*/
|
||||
void __init paging_init(const struct machine_desc *mdesc)
|
||||
{
|
||||
void *zero_page;
|
||||
|
||||
early_trap_init((void *)vectors_base);
|
||||
mpu_setup();
|
||||
|
||||
/* allocate the zero page. */
|
||||
zero_page = memblock_alloc(PAGE_SIZE, PAGE_SIZE);
|
||||
if (!zero_page)
|
||||
panic("%s: Failed to allocate %lu bytes align=0x%lx\n",
|
||||
__func__, PAGE_SIZE, PAGE_SIZE);
|
||||
|
||||
bootmem_init();
|
||||
|
||||
empty_zero_page = virt_to_page(zero_page);
|
||||
flush_dcache_page(empty_zero_page);
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -161,6 +161,7 @@ video-codec-g2@1c00000 {
|
||||
clocks = <&ccu CLK_BUS_VP9>, <&ccu CLK_VP9>;
|
||||
clock-names = "bus", "mod";
|
||||
resets = <&ccu RST_BUS_VP9>;
|
||||
iommus = <&iommu 5>;
|
||||
};
|
||||
|
||||
video-codec@1c0e000 {
|
||||
|
@ -34,11 +34,25 @@ reg_usdhc2_vmmc: regulator-vmmc {
|
||||
off-on-delay-us = <12000>;
|
||||
};
|
||||
|
||||
extcon_usbotg1: extcon-usbotg1 {
|
||||
compatible = "linux,extcon-usb-gpio";
|
||||
connector {
|
||||
compatible = "gpio-usb-b-connector", "usb-b-connector";
|
||||
type = "micro";
|
||||
label = "X19";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_usb1_extcon>;
|
||||
id-gpio = <&gpio1 10 GPIO_ACTIVE_HIGH>;
|
||||
pinctrl-0 = <&pinctrl_usb1_connector>;
|
||||
id-gpios = <&gpio1 10 GPIO_ACTIVE_HIGH>;
|
||||
|
||||
ports {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
port@0 {
|
||||
reg = <0>;
|
||||
usb_dr_connector: endpoint {
|
||||
remote-endpoint = <&usb1_drd_sw>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
@ -105,13 +119,19 @@ &usbotg1 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_usbotg1>;
|
||||
dr_mode = "otg";
|
||||
extcon = <&extcon_usbotg1>;
|
||||
srp-disable;
|
||||
hnp-disable;
|
||||
adp-disable;
|
||||
power-active-high;
|
||||
over-current-active-low;
|
||||
usb-role-switch;
|
||||
status = "okay";
|
||||
|
||||
port {
|
||||
usb1_drd_sw: endpoint {
|
||||
remote-endpoint = <&usb_dr_connector>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&usbotg2 {
|
||||
@ -231,7 +251,7 @@ pinctrl_usbotg1: usbotg1grp {
|
||||
<MX8MM_IOMUXC_GPIO1_IO13_USB1_OTG_OC 0x84>;
|
||||
};
|
||||
|
||||
pinctrl_usb1_extcon: usb1-extcongrp {
|
||||
pinctrl_usb1_connector: usb1-connectorgrp {
|
||||
fsl,pins = <MX8MM_IOMUXC_GPIO1_IO10_GPIO1_IO10 0x1c0>;
|
||||
};
|
||||
|
||||
|
@ -1244,10 +1244,10 @@ dma_apbh: dma-controller@33000000 {
|
||||
clocks = <&clk IMX8MM_CLK_NAND_USDHC_BUS_RAWNAND_CLK>;
|
||||
};
|
||||
|
||||
gpmi: nand-controller@33002000{
|
||||
gpmi: nand-controller@33002000 {
|
||||
compatible = "fsl,imx8mm-gpmi-nand", "fsl,imx7d-gpmi-nand";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <0x33002000 0x2000>, <0x33004000 0x4000>;
|
||||
reg-names = "gpmi-nand", "bch";
|
||||
interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
|
||||
|
@ -1102,7 +1102,7 @@ dma_apbh: dma-controller@33000000 {
|
||||
gpmi: nand-controller@33002000 {
|
||||
compatible = "fsl,imx8mn-gpmi-nand", "fsl,imx7d-gpmi-nand";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <0x33002000 0x2000>, <0x33004000 0x4000>;
|
||||
reg-names = "gpmi-nand", "bch";
|
||||
interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
|
||||
|
@ -544,14 +544,14 @@ MX8MP_IOMUXC_SPDIF_TX__I2C5_SCL 0x400001c2
|
||||
|
||||
pinctrl_pcie0: pcie0grp {
|
||||
fsl,pins = <
|
||||
MX8MP_IOMUXC_I2C4_SCL__PCIE_CLKREQ_B 0x61 /* open drain, pull up */
|
||||
MX8MP_IOMUXC_SD1_DATA5__GPIO2_IO07 0x41
|
||||
MX8MP_IOMUXC_I2C4_SCL__PCIE_CLKREQ_B 0x60 /* open drain, pull up */
|
||||
MX8MP_IOMUXC_SD1_DATA5__GPIO2_IO07 0x40
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_pcie0_reg: pcie0reggrp {
|
||||
fsl,pins = <
|
||||
MX8MP_IOMUXC_SD1_DATA4__GPIO2_IO06 0x41
|
||||
MX8MP_IOMUXC_SD1_DATA4__GPIO2_IO06 0x40
|
||||
>;
|
||||
};
|
||||
|
||||
|
0
arch/arm64/boot/dts/freescale/imx93-pinfunc.h
Executable file → Normal file
0
arch/arm64/boot/dts/freescale/imx93-pinfunc.h
Executable file → Normal file
@ -668,7 +668,7 @@ watchdog: watchdog@b017000 {
|
||||
|
||||
apcs_glb: mailbox@b111000 {
|
||||
compatible = "qcom,ipq8074-apcs-apps-global";
|
||||
reg = <0x0b111000 0x6000>;
|
||||
reg = <0x0b111000 0x1000>;
|
||||
|
||||
#clock-cells = <1>;
|
||||
#mbox-cells = <1>;
|
||||
|
@ -3504,7 +3504,7 @@ frame@98c0000 {
|
||||
};
|
||||
|
||||
saw3: syscon@9a10000 {
|
||||
compatible = "qcom,tcsr-msm8996", "syscon";
|
||||
compatible = "syscon";
|
||||
reg = <0x09a10000 0x1000>;
|
||||
};
|
||||
|
||||
|
@ -43,7 +43,6 @@ vreg_s4a_1p8: smps4 {
|
||||
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-allow-set-load;
|
||||
|
||||
vin-supply = <&vreg_3p3>;
|
||||
};
|
||||
@ -137,6 +136,9 @@ vreg_l5a_0p88: ldo5 {
|
||||
regulator-max-microvolt = <880000>;
|
||||
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||||
regulator-allow-set-load;
|
||||
regulator-allowed-modes =
|
||||
<RPMH_REGULATOR_MODE_LPM
|
||||
RPMH_REGULATOR_MODE_HPM>;
|
||||
};
|
||||
|
||||
vreg_l7a_1p8: ldo7 {
|
||||
@ -152,6 +154,9 @@ vreg_l10a_2p96: ldo10 {
|
||||
regulator-max-microvolt = <2960000>;
|
||||
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||||
regulator-allow-set-load;
|
||||
regulator-allowed-modes =
|
||||
<RPMH_REGULATOR_MODE_LPM
|
||||
RPMH_REGULATOR_MODE_HPM>;
|
||||
};
|
||||
|
||||
vreg_l11a_0p8: ldo11 {
|
||||
@ -258,6 +263,9 @@ vreg_l5c_1p2: ldo5 {
|
||||
regulator-max-microvolt = <1200000>;
|
||||
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||||
regulator-allow-set-load;
|
||||
regulator-allowed-modes =
|
||||
<RPMH_REGULATOR_MODE_LPM
|
||||
RPMH_REGULATOR_MODE_HPM>;
|
||||
};
|
||||
|
||||
vreg_l7c_1p8: ldo7 {
|
||||
@ -273,6 +281,9 @@ vreg_l8c_1p2: ldo8 {
|
||||
regulator-max-microvolt = <1200000>;
|
||||
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||||
regulator-allow-set-load;
|
||||
regulator-allowed-modes =
|
||||
<RPMH_REGULATOR_MODE_LPM
|
||||
RPMH_REGULATOR_MODE_HPM>;
|
||||
};
|
||||
|
||||
vreg_l10c_3p3: ldo10 {
|
||||
|
@ -83,6 +83,9 @@ vreg_l3c: ldo3 {
|
||||
regulator-max-microvolt = <1200000>;
|
||||
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||||
regulator-allow-set-load;
|
||||
regulator-allowed-modes =
|
||||
<RPMH_REGULATOR_MODE_LPM
|
||||
RPMH_REGULATOR_MODE_HPM>;
|
||||
};
|
||||
|
||||
vreg_l4c: ldo4 {
|
||||
@ -98,6 +101,9 @@ vreg_l6c: ldo6 {
|
||||
regulator-max-microvolt = <1200000>;
|
||||
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||||
regulator-allow-set-load;
|
||||
regulator-allowed-modes =
|
||||
<RPMH_REGULATOR_MODE_LPM
|
||||
RPMH_REGULATOR_MODE_HPM>;
|
||||
};
|
||||
|
||||
vreg_l7c: ldo7 {
|
||||
@ -113,6 +119,9 @@ vreg_l10c: ldo10 {
|
||||
regulator-max-microvolt = <2504000>;
|
||||
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||||
regulator-allow-set-load;
|
||||
regulator-allowed-modes =
|
||||
<RPMH_REGULATOR_MODE_LPM
|
||||
RPMH_REGULATOR_MODE_HPM>;
|
||||
};
|
||||
|
||||
vreg_l17c: ldo17 {
|
||||
@ -121,6 +130,9 @@ vreg_l17c: ldo17 {
|
||||
regulator-max-microvolt = <2504000>;
|
||||
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||||
regulator-allow-set-load;
|
||||
regulator-allowed-modes =
|
||||
<RPMH_REGULATOR_MODE_LPM
|
||||
RPMH_REGULATOR_MODE_HPM>;
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -2296,7 +2296,8 @@ swr1: soundwire@3230000 {
|
||||
|
||||
lpass_audiocc: clock-controller@3300000 {
|
||||
compatible = "qcom,sc7280-lpassaudiocc";
|
||||
reg = <0 0x03300000 0 0x30000>;
|
||||
reg = <0 0x03300000 0 0x30000>,
|
||||
<0 0x032a9000 0 0x1000>;
|
||||
clocks = <&rpmhcc RPMH_CXO_CLK>,
|
||||
<&lpass_aon LPASS_AON_CC_MAIN_RCG_CLK_SRC>;
|
||||
clock-names = "bi_tcxo", "lpass_aon_cc_main_rcg_clk_src";
|
||||
|
@ -124,6 +124,9 @@ vreg_l7c: ldo7 {
|
||||
regulator-max-microvolt = <2504000>;
|
||||
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||||
regulator-allow-set-load;
|
||||
regulator-allowed-modes =
|
||||
<RPMH_REGULATOR_MODE_LPM
|
||||
RPMH_REGULATOR_MODE_HPM>;
|
||||
};
|
||||
|
||||
vreg_l13c: ldo13 {
|
||||
@ -146,6 +149,9 @@ vreg_l3d: ldo3 {
|
||||
regulator-max-microvolt = <1200000>;
|
||||
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||||
regulator-allow-set-load;
|
||||
regulator-allowed-modes =
|
||||
<RPMH_REGULATOR_MODE_LPM
|
||||
RPMH_REGULATOR_MODE_HPM>;
|
||||
};
|
||||
|
||||
vreg_l4d: ldo4 {
|
||||
|
@ -885,13 +885,13 @@ ufs_mem_hc: ufs@1d84000 {
|
||||
|
||||
ufs_mem_phy: phy@1d87000 {
|
||||
compatible = "qcom,sc8280xp-qmp-ufs-phy";
|
||||
reg = <0 0x01d87000 0 0xe10>;
|
||||
reg = <0 0x01d87000 0 0x1c8>;
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
ranges;
|
||||
clock-names = "ref",
|
||||
"ref_aux";
|
||||
clocks = <&rpmhcc RPMH_CXO_CLK>,
|
||||
clocks = <&gcc GCC_UFS_REF_CLKREF_CLK>,
|
||||
<&gcc GCC_UFS_PHY_PHY_AUX_CLK>;
|
||||
|
||||
resets = <&ufs_mem_hc 0>;
|
||||
@ -953,13 +953,13 @@ ufs_card_hc: ufs@1da4000 {
|
||||
|
||||
ufs_card_phy: phy@1da7000 {
|
||||
compatible = "qcom,sc8280xp-qmp-ufs-phy";
|
||||
reg = <0 0x01da7000 0 0xe10>;
|
||||
reg = <0 0x01da7000 0 0x1c8>;
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
ranges;
|
||||
clock-names = "ref",
|
||||
"ref_aux";
|
||||
clocks = <&gcc GCC_UFS_1_CARD_CLKREF_CLK>,
|
||||
clocks = <&gcc GCC_UFS_REF_CLKREF_CLK>,
|
||||
<&gcc GCC_UFS_CARD_PHY_AUX_CLK>;
|
||||
|
||||
resets = <&ufs_card_hc 0>;
|
||||
@ -1181,26 +1181,16 @@ usb_0_qmpphy: phy-wrapper@88ec000 {
|
||||
usb_0_ssphy: usb3-phy@88eb400 {
|
||||
reg = <0 0x088eb400 0 0x100>,
|
||||
<0 0x088eb600 0 0x3ec>,
|
||||
<0 0x088ec400 0 0x1f0>,
|
||||
<0 0x088ec400 0 0x364>,
|
||||
<0 0x088eba00 0 0x100>,
|
||||
<0 0x088ebc00 0 0x3ec>,
|
||||
<0 0x088ec700 0 0x64>;
|
||||
<0 0x088ec200 0 0x18>;
|
||||
#phy-cells = <0>;
|
||||
#clock-cells = <0>;
|
||||
clocks = <&gcc GCC_USB3_PRIM_PHY_PIPE_CLK>;
|
||||
clock-names = "pipe0";
|
||||
clock-output-names = "usb0_phy_pipe_clk_src";
|
||||
};
|
||||
|
||||
usb_0_dpphy: dp-phy@88ed200 {
|
||||
reg = <0 0x088ed200 0 0x200>,
|
||||
<0 0x088ed400 0 0x200>,
|
||||
<0 0x088eda00 0 0x200>,
|
||||
<0 0x088ea600 0 0x200>,
|
||||
<0 0x088ea800 0 0x200>;
|
||||
#clock-cells = <1>;
|
||||
#phy-cells = <0>;
|
||||
};
|
||||
};
|
||||
|
||||
usb_1_hsphy: phy@8902000 {
|
||||
@ -1242,8 +1232,8 @@ usb_1_qmpphy: phy-wrapper@8904000 {
|
||||
|
||||
usb_1_ssphy: usb3-phy@8903400 {
|
||||
reg = <0 0x08903400 0 0x100>,
|
||||
<0 0x08903c00 0 0x3ec>,
|
||||
<0 0x08904400 0 0x1f0>,
|
||||
<0 0x08903600 0 0x3ec>,
|
||||
<0 0x08904400 0 0x364>,
|
||||
<0 0x08903a00 0 0x100>,
|
||||
<0 0x08903c00 0 0x3ec>,
|
||||
<0 0x08904200 0 0x18>;
|
||||
@ -1253,16 +1243,6 @@ usb_1_ssphy: usb3-phy@8903400 {
|
||||
clock-names = "pipe0";
|
||||
clock-output-names = "usb1_phy_pipe_clk_src";
|
||||
};
|
||||
|
||||
usb_1_dpphy: dp-phy@8904200 {
|
||||
reg = <0 0x08904200 0 0x200>,
|
||||
<0 0x08904400 0 0x200>,
|
||||
<0 0x08904a00 0 0x200>,
|
||||
<0 0x08904600 0 0x200>,
|
||||
<0 0x08904800 0 0x200>;
|
||||
#clock-cells = <1>;
|
||||
#phy-cells = <0>;
|
||||
};
|
||||
};
|
||||
|
||||
system-cache-controller@9200000 {
|
||||
|
@ -348,6 +348,9 @@ vreg_l6c_2p9: ldo6 {
|
||||
regulator-max-microvolt = <2960000>;
|
||||
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||||
regulator-allow-set-load;
|
||||
regulator-allowed-modes =
|
||||
<RPMH_REGULATOR_MODE_LPM
|
||||
RPMH_REGULATOR_MODE_HPM>;
|
||||
};
|
||||
|
||||
vreg_l7c_3p0: ldo7 {
|
||||
@ -367,6 +370,9 @@ vreg_l9c_2p9: ldo9 {
|
||||
regulator-max-microvolt = <2960000>;
|
||||
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||||
regulator-allow-set-load;
|
||||
regulator-allowed-modes =
|
||||
<RPMH_REGULATOR_MODE_LPM
|
||||
RPMH_REGULATOR_MODE_HPM>;
|
||||
};
|
||||
|
||||
vreg_l10c_3p3: ldo10 {
|
||||
|
@ -317,6 +317,9 @@ vreg_l6c_2p9: ldo6 {
|
||||
regulator-max-microvolt = <2960000>;
|
||||
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||||
regulator-allow-set-load;
|
||||
regulator-allowed-modes =
|
||||
<RPMH_REGULATOR_MODE_LPM
|
||||
RPMH_REGULATOR_MODE_HPM>;
|
||||
};
|
||||
|
||||
vreg_l7c_2p85: ldo7 {
|
||||
@ -339,6 +342,9 @@ vreg_l9c_2p9: ldo9 {
|
||||
regulator-max-microvolt = <2960000>;
|
||||
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||||
regulator-allow-set-load;
|
||||
regulator-allowed-modes =
|
||||
<RPMH_REGULATOR_MODE_LPM
|
||||
RPMH_REGULATOR_MODE_HPM>;
|
||||
};
|
||||
|
||||
vreg_l10c_3p3: ldo10 {
|
||||
|
@ -334,6 +334,7 @@ CLUSTER_SLEEP_0: cluster-sleep-0 {
|
||||
exit-latency-us = <6562>;
|
||||
min-residency-us = <9987>;
|
||||
local-timer-stop;
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
@ -107,6 +107,9 @@ vreg_l5b_0p88: ldo5 {
|
||||
regulator-max-microvolt = <888000>;
|
||||
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||||
regulator-allow-set-load;
|
||||
regulator-allowed-modes =
|
||||
<RPMH_REGULATOR_MODE_LPM
|
||||
RPMH_REGULATOR_MODE_HPM>;
|
||||
};
|
||||
|
||||
vreg_l6b_1p2: ldo6 {
|
||||
@ -115,6 +118,9 @@ vreg_l6b_1p2: ldo6 {
|
||||
regulator-max-microvolt = <1208000>;
|
||||
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||||
regulator-allow-set-load;
|
||||
regulator-allowed-modes =
|
||||
<RPMH_REGULATOR_MODE_LPM
|
||||
RPMH_REGULATOR_MODE_HPM>;
|
||||
};
|
||||
|
||||
vreg_l7b_2p96: ldo7 {
|
||||
@ -123,6 +129,9 @@ vreg_l7b_2p96: ldo7 {
|
||||
regulator-max-microvolt = <2504000>;
|
||||
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||||
regulator-allow-set-load;
|
||||
regulator-allowed-modes =
|
||||
<RPMH_REGULATOR_MODE_LPM
|
||||
RPMH_REGULATOR_MODE_HPM>;
|
||||
};
|
||||
|
||||
vreg_l9b_1p2: ldo9 {
|
||||
@ -131,6 +140,9 @@ vreg_l9b_1p2: ldo9 {
|
||||
regulator-max-microvolt = <1200000>;
|
||||
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||||
regulator-allow-set-load;
|
||||
regulator-allowed-modes =
|
||||
<RPMH_REGULATOR_MODE_LPM
|
||||
RPMH_REGULATOR_MODE_HPM>;
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -30,31 +30,31 @@ adc-keys {
|
||||
keyup-threshold-microvolt = <1800000>;
|
||||
poll-interval = <100>;
|
||||
|
||||
esc-key {
|
||||
button-esc {
|
||||
label = "esc";
|
||||
linux,code = <KEY_ESC>;
|
||||
press-threshold-microvolt = <1310000>;
|
||||
};
|
||||
|
||||
home-key {
|
||||
button-home {
|
||||
label = "home";
|
||||
linux,code = <KEY_HOME>;
|
||||
press-threshold-microvolt = <624000>;
|
||||
};
|
||||
|
||||
menu-key {
|
||||
button-menu {
|
||||
label = "menu";
|
||||
linux,code = <KEY_MENU>;
|
||||
press-threshold-microvolt = <987000>;
|
||||
};
|
||||
|
||||
vol-down-key {
|
||||
button-down {
|
||||
label = "volume down";
|
||||
linux,code = <KEY_VOLUMEDOWN>;
|
||||
press-threshold-microvolt = <300000>;
|
||||
};
|
||||
|
||||
vol-up-key {
|
||||
button-up {
|
||||
label = "volume up";
|
||||
linux,code = <KEY_VOLUMEUP>;
|
||||
press-threshold-microvolt = <17000>;
|
||||
|
@ -23,7 +23,7 @@ adc-keys0 {
|
||||
poll-interval = <100>;
|
||||
keyup-threshold-microvolt = <1800000>;
|
||||
|
||||
func-key {
|
||||
button-func {
|
||||
linux,code = <KEY_FN>;
|
||||
label = "function";
|
||||
press-threshold-microvolt = <18000>;
|
||||
@ -37,31 +37,31 @@ adc-keys1 {
|
||||
poll-interval = <100>;
|
||||
keyup-threshold-microvolt = <1800000>;
|
||||
|
||||
esc-key {
|
||||
button-esc {
|
||||
linux,code = <KEY_MICMUTE>;
|
||||
label = "micmute";
|
||||
press-threshold-microvolt = <1130000>;
|
||||
};
|
||||
|
||||
home-key {
|
||||
button-home {
|
||||
linux,code = <KEY_MODE>;
|
||||
label = "mode";
|
||||
press-threshold-microvolt = <901000>;
|
||||
};
|
||||
|
||||
menu-key {
|
||||
button-menu {
|
||||
linux,code = <KEY_PLAY>;
|
||||
label = "play";
|
||||
press-threshold-microvolt = <624000>;
|
||||
};
|
||||
|
||||
vol-down-key {
|
||||
button-down {
|
||||
linux,code = <KEY_VOLUMEDOWN>;
|
||||
label = "volume down";
|
||||
press-threshold-microvolt = <300000>;
|
||||
};
|
||||
|
||||
vol-up-key {
|
||||
button-up {
|
||||
linux,code = <KEY_VOLUMEUP>;
|
||||
label = "volume up";
|
||||
press-threshold-microvolt = <18000>;
|
||||
|
@ -19,7 +19,7 @@ chosen {
|
||||
stdout-path = "serial2:1500000n8";
|
||||
};
|
||||
|
||||
ir_rx {
|
||||
ir-receiver {
|
||||
compatible = "gpio-ir-receiver";
|
||||
gpios = <&gpio0 RK_PC0 GPIO_ACTIVE_HIGH>;
|
||||
pinctrl-names = "default";
|
||||
|
@ -25,7 +25,7 @@ adc-keys {
|
||||
keyup-threshold-microvolt = <1800000>;
|
||||
poll-interval = <100>;
|
||||
|
||||
recovery {
|
||||
button-recovery {
|
||||
label = "recovery";
|
||||
linux,code = <KEY_VENDOR>;
|
||||
press-threshold-microvolt = <17000>;
|
||||
|
@ -208,11 +208,10 @@ vdd_cpu: syr827@40 {
|
||||
vin-supply = <&vcc_sys>;
|
||||
};
|
||||
|
||||
hym8563: hym8563@51 {
|
||||
hym8563: rtc@51 {
|
||||
compatible = "haoyu,hym8563";
|
||||
reg = <0x51>;
|
||||
#clock-cells = <0>;
|
||||
clock-frequency = <32768>;
|
||||
clock-output-names = "xin32k";
|
||||
/* rtc_int is not connected */
|
||||
};
|
||||
|
@ -192,11 +192,10 @@ vdd_cpu: syr827@40 {
|
||||
vin-supply = <&vcc_sys>;
|
||||
};
|
||||
|
||||
hym8563: hym8563@51 {
|
||||
hym8563: rtc@51 {
|
||||
compatible = "haoyu,hym8563";
|
||||
reg = <0x51>;
|
||||
#clock-cells = <0>;
|
||||
clock-frequency = <32768>;
|
||||
clock-output-names = "xin32k";
|
||||
/* rtc_int is not connected */
|
||||
};
|
||||
|
@ -734,10 +734,6 @@ qca_bt: bluetooth@1 {
|
||||
};
|
||||
|
||||
/* PINCTRL OVERRIDES */
|
||||
&ec_ap_int_l {
|
||||
rockchip,pins = <1 RK_PC2 RK_FUNC_GPIO &pcfg_pull_up>;
|
||||
};
|
||||
|
||||
&ap_fw_wp {
|
||||
rockchip,pins = <0 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||
};
|
||||
|
@ -123,7 +123,7 @@ adc-keys {
|
||||
keyup-threshold-microvolt = <1800000>;
|
||||
poll-interval = <100>;
|
||||
|
||||
recovery {
|
||||
button-recovery {
|
||||
label = "Recovery";
|
||||
linux,code = <KEY_VENDOR>;
|
||||
press-threshold-microvolt = <18000>;
|
||||
|
@ -39,7 +39,7 @@ adc-keys {
|
||||
keyup-threshold-microvolt = <1800000>;
|
||||
poll-interval = <100>;
|
||||
|
||||
recovery {
|
||||
button-recovery {
|
||||
label = "Recovery";
|
||||
linux,code = <KEY_VENDOR>;
|
||||
press-threshold-microvolt = <18000>;
|
||||
|
@ -19,7 +19,7 @@ adc-keys {
|
||||
keyup-threshold-microvolt = <1500000>;
|
||||
poll-interval = <100>;
|
||||
|
||||
recovery {
|
||||
button-recovery {
|
||||
label = "Recovery";
|
||||
linux,code = <KEY_VENDOR>;
|
||||
press-threshold-microvolt = <18000>;
|
||||
|
@ -167,6 +167,7 @@ &cpu_l3 {
|
||||
};
|
||||
|
||||
&emmc_phy {
|
||||
rockchip,enable-strobe-pulldown;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
|
@ -52,13 +52,13 @@ button-down {
|
||||
press-threshold-microvolt = <300000>;
|
||||
};
|
||||
|
||||
back {
|
||||
button-back {
|
||||
label = "Back";
|
||||
linux,code = <KEY_BACK>;
|
||||
press-threshold-microvolt = <985000>;
|
||||
};
|
||||
|
||||
menu {
|
||||
button-menu {
|
||||
label = "Menu";
|
||||
linux,code = <KEY_MENU>;
|
||||
press-threshold-microvolt = <1314000>;
|
||||
|
@ -207,7 +207,7 @@ &sdmmc {
|
||||
cap-sd-highspeed;
|
||||
cd-gpios = <&gpio0 RK_PA7 GPIO_ACTIVE_LOW>;
|
||||
disable-wp;
|
||||
max-frequency = <150000000>;
|
||||
max-frequency = <40000000>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_cd &sdmmc_bus4>;
|
||||
vmmc-supply = <&vcc3v3_baseboard>;
|
||||
|
@ -98,13 +98,12 @@ &fusb0 {
|
||||
};
|
||||
|
||||
&i2c0 {
|
||||
hym8563: hym8563@51 {
|
||||
hym8563: rtc@51 {
|
||||
compatible = "haoyu,hym8563";
|
||||
reg = <0x51>;
|
||||
interrupt-parent = <&gpio0>;
|
||||
interrupts = <RK_PA5 IRQ_TYPE_EDGE_FALLING>;
|
||||
#clock-cells = <0>;
|
||||
clock-frequency = <32768>;
|
||||
clock-output-names = "xin32k";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&hym8563_int>;
|
||||
|
@ -41,7 +41,7 @@ adc-keys {
|
||||
keyup-threshold-microvolt = <1500000>;
|
||||
poll-interval = <100>;
|
||||
|
||||
recovery {
|
||||
button-recovery {
|
||||
label = "Recovery";
|
||||
linux,code = <KEY_VENDOR>;
|
||||
press-threshold-microvolt = <18000>;
|
||||
|
@ -509,7 +509,6 @@ i2s0_p0_0: endpoint {
|
||||
&i2s1 {
|
||||
rockchip,playback-channels = <2>;
|
||||
rockchip,capture-channels = <2>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&i2s2 {
|
||||
|
@ -33,13 +33,13 @@ button-down {
|
||||
press-threshold-microvolt = <300000>;
|
||||
};
|
||||
|
||||
back {
|
||||
button-back {
|
||||
label = "Back";
|
||||
linux,code = <KEY_BACK>;
|
||||
press-threshold-microvolt = <985000>;
|
||||
};
|
||||
|
||||
menu {
|
||||
button-menu {
|
||||
label = "Menu";
|
||||
linux,code = <KEY_MENU>;
|
||||
press-threshold-microvolt = <1314000>;
|
||||
|
@ -297,11 +297,10 @@ &i2c2 {
|
||||
clock-frequency = <400000>;
|
||||
status = "okay";
|
||||
|
||||
hym8563: hym8563@51 {
|
||||
hym8563: rtc@51 {
|
||||
compatible = "haoyu,hym8563";
|
||||
reg = <0x51>;
|
||||
#clock-cells = <0>;
|
||||
clock-frequency = <32768>;
|
||||
clock-output-names = "hym8563";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&hym8563_int>;
|
||||
|
@ -23,7 +23,7 @@ adc-keys {
|
||||
io-channel-names = "buttons";
|
||||
keyup-threshold-microvolt = <1750000>;
|
||||
|
||||
recovery {
|
||||
button-recovery {
|
||||
label = "recovery";
|
||||
linux,code = <KEY_VENDOR>;
|
||||
press-threshold-microvolt = <0>;
|
||||
|
@ -740,7 +740,7 @@ &uart0 {
|
||||
|
||||
&uart1 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart1m0_xfer &uart1m0_ctsn>;
|
||||
pinctrl-0 = <&uart1m0_xfer &uart1m0_ctsn &uart1m0_rtsn>;
|
||||
status = "okay";
|
||||
uart-has-rtscts;
|
||||
|
||||
@ -748,13 +748,14 @@ bluetooth {
|
||||
compatible = "brcm,bcm43438-bt";
|
||||
clocks = <&rk817 1>;
|
||||
clock-names = "lpo";
|
||||
device-wakeup-gpios = <&gpio2 RK_PC1 GPIO_ACTIVE_HIGH>;
|
||||
host-wakeup-gpios = <&gpio2 RK_PC0 GPIO_ACTIVE_HIGH>;
|
||||
host-wakeup-gpios = <&gpio2 RK_PC1 GPIO_ACTIVE_HIGH>;
|
||||
device-wakeup-gpios = <&gpio2 RK_PC0 GPIO_ACTIVE_HIGH>;
|
||||
shutdown-gpios = <&gpio2 RK_PB7 GPIO_ACTIVE_HIGH>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&bt_host_wake_l &bt_wake_l &bt_enable_h>;
|
||||
vbat-supply = <&vcc_sys>;
|
||||
vddio-supply = <&vcca1v8_pmu>;
|
||||
max-speed = <3000000>;
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -246,7 +246,7 @@ rk809: pmic@20 {
|
||||
compatible = "rockchip,rk809";
|
||||
reg = <0x20>;
|
||||
interrupt-parent = <&gpio0>;
|
||||
interrupts = <RK_PA7 IRQ_TYPE_LEVEL_LOW>;
|
||||
interrupts = <RK_PA3 IRQ_TYPE_LEVEL_LOW>;
|
||||
assigned-clocks = <&cru I2S1_MCLKOUT_TX>;
|
||||
assigned-clock-parents = <&cru CLK_I2S1_8CH_TX>;
|
||||
clock-names = "mclk";
|
||||
|
@ -142,7 +142,7 @@ &gmac1 {
|
||||
assigned-clocks = <&cru SCLK_GMAC1_RX_TX>, <&cru SCLK_GMAC1_RGMII_SPEED>, <&cru SCLK_GMAC1>;
|
||||
assigned-clock-parents = <&cru SCLK_GMAC1_RGMII_SPEED>, <&cru SCLK_GMAC1>, <&gmac1_clkin>;
|
||||
clock_in_out = "input";
|
||||
phy-mode = "rgmii-id";
|
||||
phy-mode = "rgmii";
|
||||
phy-supply = <&vcc_3v3>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&gmac1m0_miim
|
||||
@ -432,11 +432,7 @@ &i2c2 {
|
||||
|
||||
&i2c3 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c3m1_xfer>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&i2c5 {
|
||||
pinctrl-0 = <&i2c3m0_xfer>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
|
@ -500,7 +500,6 @@ hym8563: rtc@51 {
|
||||
interrupt-parent = <&gpio0>;
|
||||
interrupts = <RK_PD3 IRQ_TYPE_EDGE_FALLING>;
|
||||
#clock-cells = <0>;
|
||||
clock-frequency = <32768>;
|
||||
clock-output-names = "rtcic_32kout";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&hym8563_int>;
|
||||
|
@ -509,7 +509,6 @@ hym8563: rtc@51 {
|
||||
interrupt-parent = <&gpio0>;
|
||||
interrupts = <RK_PD3 IRQ_TYPE_LEVEL_LOW>;
|
||||
#clock-cells = <0>;
|
||||
clock-frequency = <32768>;
|
||||
clock-output-names = "rtcic_32kout";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&hym8563_int>;
|
||||
|
@ -3,8 +3,7 @@
|
||||
# CONFIG_BITFIELD_KUNIT is not set
|
||||
# CONFIG_BITS_TEST is not set
|
||||
CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC=y
|
||||
CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=1
|
||||
CONFIG_CMDLINE="kasan.stacktrace=off stack_depot_disable=off page_owner=on no_hash_pointers panic_on_taint=0x20"
|
||||
CONFIG_CMDLINE="console=ttyMSM0,115200n8 kasan.stacktrace=off stack_depot_disable=off page_owner=on no_hash_pointers panic_on_taint=0x20"
|
||||
CONFIG_DEBUG_KMEMLEAK=y
|
||||
# CONFIG_DEBUG_KMEMLEAK_AUTO_SCAN is not set
|
||||
CONFIG_DEBUG_KMEMLEAK_DEFAULT_OFF=y
|
||||
@ -55,7 +54,6 @@ CONFIG_TASKS_RUDE_RCU=y
|
||||
# CONFIG_TEST_BPF is not set
|
||||
# CONFIG_TEST_FIRMWARE is not set
|
||||
# CONFIG_TEST_FREE_PAGES is not set
|
||||
# CONFIG_TEST_HASH is not set
|
||||
# CONFIG_TEST_HEXDUMP is not set
|
||||
# CONFIG_TEST_IDA is not set
|
||||
# CONFIG_TEST_KMOD is not set
|
||||
@ -65,7 +63,6 @@ CONFIG_TASKS_RUDE_RCU=y
|
||||
# CONFIG_TEST_MEMCAT_P is not set
|
||||
# CONFIG_TEST_MEMINIT is not set
|
||||
# CONFIG_TEST_MIN_HEAP is not set
|
||||
# CONFIG_TEST_OVERFLOW is not set
|
||||
# CONFIG_TEST_PRINTF is not set
|
||||
# CONFIG_TEST_RHASHTABLE is not set
|
||||
# CONFIG_TEST_SORT is not set
|
||||
|
@ -174,6 +174,7 @@ CONFIG_NETFILTER_XT_MATCH_ESP=y
|
||||
CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=y
|
||||
CONFIG_NETFILTER_XT_MATCH_HELPER=y
|
||||
CONFIG_NETFILTER_XT_MATCH_IPRANGE=y
|
||||
CONFIG_NETFILTER_XT_MATCH_L2TP=y
|
||||
CONFIG_NETFILTER_XT_MATCH_LENGTH=y
|
||||
CONFIG_NETFILTER_XT_MATCH_LIMIT=y
|
||||
CONFIG_NETFILTER_XT_MATCH_MAC=y
|
||||
@ -212,14 +213,14 @@ CONFIG_IP6_NF_FILTER=y
|
||||
CONFIG_IP6_NF_TARGET_REJECT=y
|
||||
CONFIG_IP6_NF_MANGLE=y
|
||||
CONFIG_IP6_NF_RAW=y
|
||||
CONFIG_TIPC=y
|
||||
CONFIG_L2TP=y
|
||||
CONFIG_TIPC=m
|
||||
CONFIG_L2TP=m
|
||||
CONFIG_BRIDGE=y
|
||||
CONFIG_VLAN_8021Q=y
|
||||
CONFIG_6LOWPAN=y
|
||||
CONFIG_IEEE802154=y
|
||||
CONFIG_IEEE802154_6LOWPAN=y
|
||||
CONFIG_MAC802154=y
|
||||
CONFIG_VLAN_8021Q=m
|
||||
CONFIG_6LOWPAN=m
|
||||
CONFIG_IEEE802154=m
|
||||
CONFIG_IEEE802154_6LOWPAN=m
|
||||
CONFIG_MAC802154=m
|
||||
CONFIG_NET_SCHED=y
|
||||
CONFIG_NET_SCH_HTB=y
|
||||
CONFIG_NET_SCH_PRIO=y
|
||||
@ -253,16 +254,13 @@ CONFIG_NET_ACT_SKBEDIT=y
|
||||
CONFIG_NET_ACT_BPF=y
|
||||
CONFIG_VSOCKETS=y
|
||||
CONFIG_CGROUP_NET_PRIO=y
|
||||
CONFIG_CAN=y
|
||||
CONFIG_CAN_RAW=m
|
||||
CONFIG_CAN_BCM=m
|
||||
CONFIG_CAN_GW=m
|
||||
CONFIG_BT=y
|
||||
CONFIG_BT_RFCOMM=y
|
||||
CONFIG_CAN=m
|
||||
CONFIG_BT=m
|
||||
CONFIG_BT_RFCOMM=m
|
||||
CONFIG_BT_RFCOMM_TTY=y
|
||||
CONFIG_BT_HIDP=y
|
||||
CONFIG_BT_HCIBTSDIO=y
|
||||
CONFIG_BT_HCIUART=y
|
||||
CONFIG_BT_HIDP=m
|
||||
CONFIG_BT_HCIBTSDIO=m
|
||||
CONFIG_BT_HCIUART=m
|
||||
CONFIG_BT_HCIUART_LL=y
|
||||
CONFIG_BT_HCIUART_BCM=y
|
||||
CONFIG_BT_HCIUART_QCA=y
|
||||
@ -271,8 +269,8 @@ CONFIG_NL80211_TESTMODE=y
|
||||
# CONFIG_CFG80211_DEFAULT_PS is not set
|
||||
# CONFIG_CFG80211_CRDA_SUPPORT is not set
|
||||
CONFIG_MAC80211=m
|
||||
CONFIG_RFKILL=y
|
||||
CONFIG_NFC=y
|
||||
CONFIG_RFKILL=m
|
||||
CONFIG_NFC=m
|
||||
CONFIG_PCI=y
|
||||
CONFIG_PCIEPORTBUS=y
|
||||
CONFIG_PCIEAER=y
|
||||
@ -317,15 +315,14 @@ CONFIG_IFB=y
|
||||
CONFIG_MACSEC=y
|
||||
CONFIG_TUN=y
|
||||
CONFIG_VETH=y
|
||||
CONFIG_CAN_DEV=m
|
||||
CONFIG_CAN_VCAN=m
|
||||
CONFIG_CAN_SLCAN=m
|
||||
CONFIG_PPP=y
|
||||
CONFIG_PPP_BSDCOMP=y
|
||||
CONFIG_PPP_DEFLATE=y
|
||||
CONFIG_PPP_MPPE=y
|
||||
CONFIG_PPTP=y
|
||||
CONFIG_PPPOL2TP=y
|
||||
CONFIG_PPP=m
|
||||
CONFIG_PPP_BSDCOMP=m
|
||||
CONFIG_PPP_DEFLATE=m
|
||||
CONFIG_PPP_MPPE=m
|
||||
CONFIG_PPTP=m
|
||||
CONFIG_PPPOL2TP=m
|
||||
CONFIG_USB_RTL8150=y
|
||||
CONFIG_USB_RTL8152=y
|
||||
CONFIG_USB_USBNET=y
|
||||
@ -495,6 +492,7 @@ CONFIG_USB_CONFIGFS_F_AUDIO_SRC=y
|
||||
CONFIG_USB_CONFIGFS_F_UAC2=y
|
||||
CONFIG_USB_CONFIGFS_F_MIDI=y
|
||||
CONFIG_USB_CONFIGFS_F_HID=y
|
||||
CONFIG_USB_CONFIGFS_F_UVC=y
|
||||
CONFIG_TYPEC=y
|
||||
CONFIG_TYPEC_TCPM=y
|
||||
CONFIG_TYPEC_TCPCI=y
|
||||
@ -639,11 +637,14 @@ CONFIG_STATIC_USERMODEHELPER=y
|
||||
CONFIG_STATIC_USERMODEHELPER_PATH=""
|
||||
CONFIG_SECURITY_SELINUX=y
|
||||
CONFIG_INIT_ON_ALLOC_DEFAULT_ON=y
|
||||
CONFIG_CRYPTO_ECDH=y
|
||||
CONFIG_CRYPTO_DES=y
|
||||
CONFIG_CRYPTO_ADIANTUM=y
|
||||
CONFIG_CRYPTO_HCTR2=y
|
||||
CONFIG_CRYPTO_CHACHA20POLY1305=y
|
||||
CONFIG_CRYPTO_CCM=y
|
||||
CONFIG_CRYPTO_BLAKE2B=y
|
||||
CONFIG_CRYPTO_CMAC=y
|
||||
CONFIG_CRYPTO_MD5=y
|
||||
CONFIG_CRYPTO_XCBC=y
|
||||
CONFIG_CRYPTO_LZO=y
|
||||
@ -655,6 +656,7 @@ CONFIG_CRYPTO_SHA512_ARM64_CE=y
|
||||
CONFIG_CRYPTO_POLYVAL_ARM64_CE=y
|
||||
CONFIG_CRYPTO_AES_ARM64_CE_BLK=y
|
||||
CONFIG_TRACE_MMIO_ACCESS=y
|
||||
CONFIG_CRC_CCITT=y
|
||||
CONFIG_XZ_DEC=y
|
||||
CONFIG_DMA_CMA=y
|
||||
CONFIG_PRINTK_TIME=y
|
||||
|
@ -14,16 +14,8 @@
|
||||
|
||||
#ifdef CONFIG_EFI
|
||||
extern void efi_init(void);
|
||||
|
||||
bool efi_runtime_fixup_exception(struct pt_regs *regs, const char *msg);
|
||||
#else
|
||||
#define efi_init()
|
||||
|
||||
static inline
|
||||
bool efi_runtime_fixup_exception(struct pt_regs *regs, const char *msg)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
#endif
|
||||
|
||||
int efi_create_mapping(struct mm_struct *mm, efi_memory_desc_t *md);
|
||||
|
@ -863,12 +863,12 @@ static inline bool pte_user_accessible_page(pte_t pte)
|
||||
|
||||
static inline bool pmd_user_accessible_page(pmd_t pmd)
|
||||
{
|
||||
return pmd_present(pmd) && (pmd_user(pmd) || pmd_user_exec(pmd));
|
||||
return pmd_leaf(pmd) && (pmd_user(pmd) || pmd_user_exec(pmd));
|
||||
}
|
||||
|
||||
static inline bool pud_user_accessible_page(pud_t pud)
|
||||
{
|
||||
return pud_present(pud) && pud_user(pud);
|
||||
return pud_leaf(pud) && pud_user(pud);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
@ -6,7 +6,7 @@
|
||||
#include <linux/linkage.h>
|
||||
|
||||
SYM_FUNC_START(__efi_rt_asm_wrapper)
|
||||
stp x29, x30, [sp, #-112]!
|
||||
stp x29, x30, [sp, #-32]!
|
||||
mov x29, sp
|
||||
|
||||
/*
|
||||
@ -16,20 +16,6 @@ SYM_FUNC_START(__efi_rt_asm_wrapper)
|
||||
*/
|
||||
stp x1, x18, [sp, #16]
|
||||
|
||||
/*
|
||||
* Preserve all callee saved registers and record the stack pointer
|
||||
* value in a per-CPU variable so we can recover from synchronous
|
||||
* exceptions occurring while running the firmware routines.
|
||||
*/
|
||||
stp x19, x20, [sp, #32]
|
||||
stp x21, x22, [sp, #48]
|
||||
stp x23, x24, [sp, #64]
|
||||
stp x25, x26, [sp, #80]
|
||||
stp x27, x28, [sp, #96]
|
||||
|
||||
adr_this_cpu x8, __efi_rt_asm_recover_sp, x9
|
||||
str x29, [x8]
|
||||
|
||||
/*
|
||||
* We are lucky enough that no EFI runtime services take more than
|
||||
* 5 arguments, so all are passed in registers rather than via the
|
||||
@ -45,7 +31,7 @@ SYM_FUNC_START(__efi_rt_asm_wrapper)
|
||||
|
||||
ldp x1, x2, [sp, #16]
|
||||
cmp x2, x18
|
||||
ldp x29, x30, [sp], #112
|
||||
ldp x29, x30, [sp], #32
|
||||
b.ne 0f
|
||||
ret
|
||||
0:
|
||||
@ -59,18 +45,3 @@ SYM_FUNC_START(__efi_rt_asm_wrapper)
|
||||
mov x18, x2
|
||||
b efi_handle_corrupted_x18 // tail call
|
||||
SYM_FUNC_END(__efi_rt_asm_wrapper)
|
||||
|
||||
SYM_FUNC_START(__efi_rt_asm_recover)
|
||||
ldr_this_cpu x8, __efi_rt_asm_recover_sp, x9
|
||||
mov sp, x8
|
||||
|
||||
ldp x0, x18, [sp, #16]
|
||||
ldp x19, x20, [sp, #32]
|
||||
ldp x21, x22, [sp, #48]
|
||||
ldp x23, x24, [sp, #64]
|
||||
ldp x25, x26, [sp, #80]
|
||||
ldp x27, x28, [sp, #96]
|
||||
ldp x29, x30, [sp], #112
|
||||
|
||||
b efi_handle_runtime_exception
|
||||
SYM_FUNC_END(__efi_rt_asm_recover)
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user