Merge "Merge keystone/android14-6.1-keystone-qcom-release.6.1.68+ (e8309f0) into qcom-6.1"

This commit is contained in:
qctecmdr 2024-05-15 02:08:15 -07:00 committed by Gerrit - the friendly Code Review server
commit 26484fb2d3
1606 changed files with 32806 additions and 13200 deletions

View File

@ -99,16 +99,22 @@ filegroup(
name = "aarch64_additional_kmi_symbol_lists",
srcs = [
# keep sorted
"android/abi_gki_aarch64_asr",
"android/abi_gki_aarch64_asus",
"android/abi_gki_aarch64_db845c",
"android/abi_gki_aarch64_exynos",
"android/abi_gki_aarch64_exynosauto",
"android/abi_gki_aarch64_fips140",
"android/abi_gki_aarch64_galaxy",
"android/abi_gki_aarch64_honda",
"android/abi_gki_aarch64_honor",
"android/abi_gki_aarch64_imx",
"android/abi_gki_aarch64_meizu",
"android/abi_gki_aarch64_moto",
"android/abi_gki_aarch64_mtk",
"android/abi_gki_aarch64_nothing",
"android/abi_gki_aarch64_oplus",
"android/abi_gki_aarch64_pasa",
"android/abi_gki_aarch64_pixel",
"android/abi_gki_aarch64_qcom",
"android/abi_gki_aarch64_rockchip",
@ -198,6 +204,34 @@ copy_to_dist_dir(
log = "info",
)
kernel_build(
name = "kernel_aarch64_microdroid_16k",
srcs = ["//common:kernel_aarch64_sources"],
outs = [
"Image",
"System.map",
"modules.builtin",
"modules.builtin.modinfo",
"vmlinux",
"vmlinux.symvers",
],
build_config = "build.config.microdroid.aarch64",
make_goals = [
"Image",
],
page_size = "16k",
)
copy_to_dist_dir(
name = "kernel_aarch64_microdroid_16k_dist",
data = [
":kernel_aarch64_microdroid_16k",
],
dist_dir = "out/kernel_aarch64_microdroid_16k/dist",
flat = True,
log = "info",
)
# Microdroid is not a real device. The kernel image is built with special
# configs to reduce the size. Hence, not using mixed build.
kernel_build(
@ -690,9 +724,16 @@ kernel_build(
outs = [],
base_kernel = ":kernel_aarch64",
build_config = "build.config.gki.aarch64.fips140",
kmi_symbol_list = "android/abi_gki_aarch64_fips140",
module_outs = ["crypto/fips140.ko"],
)
kernel_abi(
name = "fips140_abi",
kernel_build = ":fips140",
kmi_symbol_list_add_only = True,
)
copy_to_dist_dir(
name = "fips140_dist",
data = [

View File

@ -6,3 +6,12 @@ Description:
OP-TEE bus provides reference to registered drivers under this directory. The <uuid>
matches Trusted Application (TA) driver and corresponding TA in secure OS. Drivers
are free to create needed API under optee-ta-<uuid> directory.
What: /sys/bus/tee/devices/optee-ta-<uuid>/need_supplicant
Date: November 2023
KernelVersion: 6.7
Contact: op-tee@lists.trustedfirmware.org
Description:
Allows to distinguish whether an OP-TEE based TA/device requires user-space
tee-supplicant to function properly or not. This attribute will be present for
devices which depend on tee-supplicant to be running.

View File

@ -686,29 +686,30 @@ Description: Support configuring fault injection type, should be
enabled with fault_injection option, fault type value
is shown below, it supports single or combined type.
=================== ===========
Type_Name Type_Value
=================== ===========
FAULT_KMALLOC 0x000000001
FAULT_KVMALLOC 0x000000002
FAULT_PAGE_ALLOC 0x000000004
FAULT_PAGE_GET 0x000000008
FAULT_ALLOC_BIO 0x000000010 (obsolete)
FAULT_ALLOC_NID 0x000000020
FAULT_ORPHAN 0x000000040
FAULT_BLOCK 0x000000080
FAULT_DIR_DEPTH 0x000000100
FAULT_EVICT_INODE 0x000000200
FAULT_TRUNCATE 0x000000400
FAULT_READ_IO 0x000000800
FAULT_CHECKPOINT 0x000001000
FAULT_DISCARD 0x000002000
FAULT_WRITE_IO 0x000004000
FAULT_SLAB_ALLOC 0x000008000
FAULT_DQUOT_INIT 0x000010000
FAULT_LOCK_OP 0x000020000
FAULT_BLKADDR 0x000040000
=================== ===========
=========================== ===========
Type_Name Type_Value
=========================== ===========
FAULT_KMALLOC 0x000000001
FAULT_KVMALLOC 0x000000002
FAULT_PAGE_ALLOC 0x000000004
FAULT_PAGE_GET 0x000000008
FAULT_ALLOC_BIO 0x000000010 (obsolete)
FAULT_ALLOC_NID 0x000000020
FAULT_ORPHAN 0x000000040
FAULT_BLOCK 0x000000080
FAULT_DIR_DEPTH 0x000000100
FAULT_EVICT_INODE 0x000000200
FAULT_TRUNCATE 0x000000400
FAULT_READ_IO 0x000000800
FAULT_CHECKPOINT 0x000001000
FAULT_DISCARD 0x000002000
FAULT_WRITE_IO 0x000004000
FAULT_SLAB_ALLOC 0x000008000
FAULT_DQUOT_INIT 0x000010000
FAULT_LOCK_OP 0x000020000
FAULT_BLKADDR_VALIDITY 0x000040000
FAULT_BLKADDR_CONSISTENCE 0x000080000
=========================== ===========
What: /sys/fs/f2fs/<disk>/discard_io_aware_gran
Date: January 2023

View File

@ -4882,6 +4882,11 @@
rcu_node tree with an eye towards determining
why a new grace period has not yet started.
rcutree.enable_rcu_lazy= [KNL]
To save power, batch RCU callbacks and flush after
delay, memory pressure or callback list growing too
big.
rcuscale.gp_async= [KNL]
Measure performance of asynchronous
grace-period primitives such as call_rcu().
@ -5130,6 +5135,21 @@
rcutorture.verbose= [KNL]
Enable additional printk() statements.
rcupdate.rcu_boot_end_delay= [KNL]
Minimum time in milliseconds from the start of boot
that must elapse before the boot sequence can be marked
complete from RCU's perspective, after which RCU's
behavior becomes more relaxed. The default value is also
configurable via CONFIG_RCU_BOOT_END_DELAY.
Userspace can also mark the boot as completed
sooner by writing the time in milliseconds, say once
userspace considers the system as booted, to:
/sys/module/rcupdate/parameters/rcu_boot_end_delay
Or even just writing a value of 0 to this sysfs node.
The sysfs node can also be used to extend the delay
to be larger than the default, assuming the marking
of boot complete has not yet occurred.
rcupdate.rcu_cpu_stall_ftrace_dump= [KNL]
Dump ftrace buffer after reporting RCU CPU
stall warning.
@ -5708,6 +5728,13 @@
This feature may be more efficiently disabled
using the csdlock_debug- kernel parameter.
smp.panic_on_ipistall= [KNL]
If a csd_lock_timeout extends for more than
the specified number of milliseconds, panic the
system. By default, let CSD-lock acquisition
take as long as they take. Specifying 300,000
for this value provides a 5-minute timeout.
smsc-ircc2.nopnp [HW] Don't use PNP to discover SMC devices
smsc-ircc2.ircc_cfg= [HW] Device configuration I/O port
smsc-ircc2.ircc_sir= [HW] SIR base I/O port

View File

@ -217,3 +217,7 @@ stable kernels.
+----------------+-----------------+-----------------+-----------------------------+
| Fujitsu | A64FX | E#010001 | FUJITSU_ERRATUM_010001 |
+----------------+-----------------+-----------------+-----------------------------+
+----------------+-----------------+-----------------+-----------------------------+
| ASR | ASR8601 | #8601001 | N/A |
+----------------+-----------------+-----------------+-----------------------------+

View File

@ -81,6 +81,9 @@ section.
Sometimes it is necessary to ensure the next call to store to a maple tree does
not allocate memory, please see :ref:`maple-tree-advanced-api` for this use case.
You can use mtree_dup() to duplicate an entire maple tree. It is a more
efficient way than inserting all elements one by one into a new tree.
Finally, you can remove all entries from a maple tree by calling
mtree_destroy(). If the maple tree entries are pointers, you may wish to free
the entries first.
@ -112,6 +115,7 @@ Takes ma_lock internally:
* mtree_insert()
* mtree_insert_range()
* mtree_erase()
* mtree_dup()
* mtree_destroy()
* mt_set_in_rcu()
* mt_clear_in_rcu()

View File

@ -184,29 +184,30 @@ fault_type=%d Support configuring fault injection type, should be
enabled with fault_injection option, fault type value
is shown below, it supports single or combined type.
=================== ===========
Type_Name Type_Value
=================== ===========
FAULT_KMALLOC 0x000000001
FAULT_KVMALLOC 0x000000002
FAULT_PAGE_ALLOC 0x000000004
FAULT_PAGE_GET 0x000000008
FAULT_ALLOC_BIO 0x000000010 (obsolete)
FAULT_ALLOC_NID 0x000000020
FAULT_ORPHAN 0x000000040
FAULT_BLOCK 0x000000080
FAULT_DIR_DEPTH 0x000000100
FAULT_EVICT_INODE 0x000000200
FAULT_TRUNCATE 0x000000400
FAULT_READ_IO 0x000000800
FAULT_CHECKPOINT 0x000001000
FAULT_DISCARD 0x000002000
FAULT_WRITE_IO 0x000004000
FAULT_SLAB_ALLOC 0x000008000
FAULT_DQUOT_INIT 0x000010000
FAULT_LOCK_OP 0x000020000
FAULT_BLKADDR 0x000040000
=================== ===========
=========================== ===========
Type_Name Type_Value
=========================== ===========
FAULT_KMALLOC 0x000000001
FAULT_KVMALLOC 0x000000002
FAULT_PAGE_ALLOC 0x000000004
FAULT_PAGE_GET 0x000000008
FAULT_ALLOC_BIO 0x000000010 (obsolete)
FAULT_ALLOC_NID 0x000000020
FAULT_ORPHAN 0x000000040
FAULT_BLOCK 0x000000080
FAULT_DIR_DEPTH 0x000000100
FAULT_EVICT_INODE 0x000000200
FAULT_TRUNCATE 0x000000400
FAULT_READ_IO 0x000000800
FAULT_CHECKPOINT 0x000001000
FAULT_DISCARD 0x000002000
FAULT_WRITE_IO 0x000004000
FAULT_SLAB_ALLOC 0x000008000
FAULT_DQUOT_INIT 0x000010000
FAULT_LOCK_OP 0x000020000
FAULT_BLKADDR_VALIDITY 0x000040000
FAULT_BLKADDR_CONSISTENCE 0x000080000
=========================== ===========
mode=%s Control block allocation mode which supports "adaptive"
and "lfs". In "lfs" mode, there should be no random
writes towards main area.

View File

@ -2148,6 +2148,14 @@ accept_ra_min_hop_limit - INTEGER
Default: 1
accept_ra_min_lft - INTEGER
Minimum acceptable lifetime value in Router Advertisement.
RA sections with a lifetime less than this value shall be
ignored. Zero lifetimes stay unaffected.
Default: 0
accept_ra_pinfo - BOOLEAN
Learn Prefix Information in Router Advertisement.

View File

@ -37,11 +37,11 @@ along with a description:
the return value. General error numbers (-ENOMEM, -EINVAL)
are not detailed, but errors with specific meanings are.
The guest ioctl should be issued on a file descriptor of the /dev/sev-guest device.
The ioctl accepts struct snp_user_guest_request. The input and output structure is
specified through the req_data and resp_data field respectively. If the ioctl fails
to execute due to a firmware error, then fw_err code will be set otherwise the
fw_err will be set to 0x00000000000000ff.
The guest ioctl should be issued on a file descriptor of the /dev/sev-guest
device. The ioctl accepts struct snp_user_guest_request. The input and
output structure is specified through the req_data and resp_data field
respectively. If the ioctl fails to execute due to a firmware error, then
the fw_error code will be set, otherwise fw_error will be set to -1.
The firmware checks that the message sequence counter is one greater than
the guests message sequence counter. If guest driver fails to increment message
@ -57,8 +57,14 @@ counter (e.g. counter overflow), then -EIO will be returned.
__u64 req_data;
__u64 resp_data;
/* firmware error code on failure (see psp-sev.h) */
__u64 fw_err;
/* bits[63:32]: VMM error code, bits[31:0] firmware error code (see psp-sev.h) */
union {
__u64 exitinfo2;
struct {
__u32 fw_error;
__u32 vmm_error;
};
};
};
2.1 SNP_GET_REPORT

View File

@ -1,7 +1,7 @@
# SPDX-License-Identifier: GPL-2.0
VERSION = 6
PATCHLEVEL = 1
SUBLEVEL = 57
SUBLEVEL = 68
EXTRAVERSION =
NAME = Curry Ramen

View File

@ -1,2 +1,2 @@
6dd1f54e29ea4c4ec0c508ab8a7b78991e2ca25b
android14-6.1-2023-12_r2
5b80c8852557d24c2771da11044933210a92f543
android14-6.1-2024-03_r7

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,43 @@
[abi_symbol_list]
# required by asr5803.ko
sdhci_enable_sdio_irq
# required by asr_serial.ko
uart_get_divisor
uart_handle_cts_change
uart_handle_dcd_change
uart_insert_char
# required by ehci-asr-ci.ko
ehci_init_driver
ehci_setup
# required by phy-asr-ci-usb2.ko
usb_add_phy_dev
usb_remove_phy
# required by pvrsrvkm.ko
call_rcu
devm_devfreq_remove_device
dev_pm_opp_remove
dma_fence_array_ops
dma_fence_enable_sw_signaling
idr_replace
kthread_freezable_should_stop
rcu_barrier
# required by sdhci_asr.ko
sdhci_resume_host
sdhci_send_tuning
sdhci_set_clock
sdhci_set_uhs_signaling
sdhci_suspend_host
# required by vh_sched.ko
__traceiter_android_vh_map_util_freq
__tracepoint_android_vh_map_util_freq
# required by asr_drm.ko
clk_set_rate_exclusive
clk_rate_exclusive_put

View File

@ -773,6 +773,7 @@
sysfs_emit
sysfs_remove_link
system_power_efficient_wq
system_unbound_wq
system_wq
tasklet_init
tasklet_kill

View File

@ -1,9 +1,11 @@
[abi_symbol_list]
# commonly used symbols
alloc_chrdev_region
__alloc_pages
__alloc_percpu
alloc_workqueue
alt_cb_patch_nops
anon_inode_getfile
__arch_copy_from_user
__arch_copy_to_user
arm64_use_ng_mappings
@ -13,6 +15,7 @@
atomic_notifier_chain_unregister
__bitmap_and
bitmap_find_free_region
bitmap_parselist
bitmap_release_region
__bitmap_weight
blocking_notifier_call_chain
@ -22,26 +25,26 @@
bpf_trace_run2
bpf_trace_run3
bpf_trace_run4
bpf_trace_run5
bpf_trace_run6
call_rcu
cancel_delayed_work
cancel_delayed_work_sync
cancel_work_sync
cdev_add
cdev_del
cdev_init
__check_object_size
__class_create
class_destroy
__class_register
class_unregister
clk_disable
clk_enable
clk_get
__clk_get_hw
clk_get_rate
clk_hw_get_parent
__clk_is_enabled
clk_prepare
clk_register
clk_register_clkdev
clk_register_fixed_factor
clk_register_fixed_rate
clk_set_rate
clk_unprepare
cma_alloc
@ -58,6 +61,7 @@
cpu_pm_register_notifier
__cpu_possible_mask
crc32_le
_ctype
debugfs_create_dir
debugfs_create_file
debugfs_create_u32
@ -90,6 +94,7 @@
_dev_info
devm_add_action
devm_clk_get
devm_clk_get_optional
devm_free_irq
devm_gen_pool_create
devm_gpiod_get
@ -121,6 +126,8 @@
devm_snd_soc_register_component
devm_thermal_of_zone_register
_dev_notice
dev_pm_opp_put
_dev_printk
devres_add
__devres_alloc_node
dev_set_name
@ -146,6 +153,7 @@
dma_fence_release
dma_fence_remove_callback
dma_fence_signal
dma_fence_signal_locked
dma_fence_wait_timeout
dma_free_attrs
dma_heap_buffer_alloc
@ -233,7 +241,6 @@
drm_kms_helper_poll_init
drmm_mode_config_init
drm_mode_config_cleanup
drm_mode_copy
drm_mode_create
drm_mode_duplicate
drm_mode_object_put
@ -252,14 +259,18 @@
drm_release
drm_vblank_init
dump_stack
dw_pcie_ep_init
dw_pcie_host_init
dw_pcie_own_conf_map_bus
dw_pcie_read
dw_pcie_read_dbi
dw_pcie_setup_rc
dw_pcie_write
dw_pcie_write_dbi
enable_irq
fd_install
_find_first_bit
_find_first_zero_bit
_find_next_bit
finish_wait
flush_delayed_work
@ -289,7 +300,6 @@
gpiod_set_raw_value
gpiod_set_value_cansleep
gpio_free
gpio_request
gpio_request_one
gpio_to_desc
handle_edge_irq
@ -315,7 +325,10 @@
__init_waitqueue_head
iomem_resource
iommu_get_domain_for_dev
iommu_map
iommu_map_sg
iommu_register_device_fault_handler
iommu_unmap
iommu_unregister_device_fault_handler
ioremap_prot
iounmap
@ -392,7 +405,9 @@
loops_per_jiffy
mdiobus_read
mdiobus_write
memchr_inv
memcpy
__memcpy_fromio
memdup_user
mem_section
memset
@ -403,6 +418,7 @@
mipi_dsi_device_unregister
mipi_dsi_driver_register_full
mipi_dsi_driver_unregister
misc_deregister
misc_register
mod_timer
module_layout
@ -419,13 +435,12 @@
netdev_warn
noop_llseek
nr_cpu_ids
nsecs_to_jiffies
ns_to_timespec64
__num_online_cpus
of_address_to_resource
of_alias_get_id
of_clk_add_provider
of_clk_get
of_clk_src_onecell_get
of_count_phandle_with_args
of_device_get_match_data
of_device_is_available
@ -467,10 +482,15 @@
oops_in_progress
panic
panic_notifier_list
param_ops_bool
param_ops_int
param_ops_string
param_ops_uint
pcie_get_mps
pci_epc_mem_alloc_addr
pci_epc_mem_free_addr
pci_epc_set_bar
pci_epc_unmap_addr
pcie_set_mps
pci_find_bus
pci_generic_config_read
@ -504,6 +524,7 @@
platform_get_irq_optional
platform_get_resource
platform_get_resource_byname
__pm_relax
__pm_runtime_disable
pm_runtime_enable
pm_runtime_forbid
@ -515,7 +536,9 @@
__pm_runtime_set_status
__pm_runtime_suspend
__pm_runtime_use_autosuspend
__pm_stay_awake
pm_wakeup_dev_event
pm_wakeup_ws_event
preempt_schedule
preempt_schedule_notrace
prepare_to_wait_event
@ -538,6 +561,7 @@
_raw_spin_unlock_irqrestore
_raw_write_lock_irqsave
_raw_write_unlock_irqrestore
rb_next
rcu_barrier
rdev_get_drvdata
rdev_get_id
@ -545,8 +569,10 @@
regcache_mark_dirty
regcache_sync
__register_chrdev
register_chrdev_region
register_console
register_pm_notifier
register_reboot_notifier
register_syscore_ops
regmap_read
regmap_update_bits_base
@ -575,6 +601,7 @@
seq_puts
seq_read
set_cpus_allowed_ptr
set_normalized_timespec64
sg_alloc_table
sg_free_table
sg_init_table
@ -585,6 +612,7 @@
simple_attr_write
simple_open
simple_read_from_buffer
simple_strtoul
simple_write_to_buffer
single_open
single_release
@ -627,6 +655,7 @@
strstr
__sw_hweight32
sync_file_create
synchronize_irq
syscon_regmap_lookup_by_phandle
sysfs_create_file_ns
sysfs_create_group
@ -647,6 +676,8 @@
ttm_bo_mmap_obj
__udelay
__unregister_chrdev
unregister_chrdev_region
unregister_pm_notifier
up
up_write
__usecs_to_jiffies
@ -684,13 +715,17 @@
video_unregister_device
vmalloc
vmap
vscnprintf
vsnprintf
vunmap
vzalloc
wait_for_completion
wait_for_completion_interruptible_timeout
wait_for_completion_timeout
__wake_up
wake_up_process
wakeup_source_register
wakeup_source_unregister
__warn_printk
ww_mutex_lock
ww_mutex_unlock
@ -706,15 +741,25 @@
cec_transmit_done_ts
cec_unregister_adapter
drm_bridge_hpd_notify
drm_mode_copy
hdmi_avi_infoframe_init
hdmi_avi_infoframe_pack
i2c_new_ancillary_device
regmap_bulk_write
regmap_register_patch
# required by clk_exynosauto.ko
__clk_get_hw
clk_hw_get_parent
clk_register
clk_register_clkdev
clk_register_fixed_factor
clk_register_fixed_rate
of_clk_add_provider
of_clk_src_onecell_get
# required by cmupmucal.ko
debugfs_create_x32
of_find_node_by_type
# required by dmatest.ko
__dma_request_channel
@ -726,7 +771,6 @@
mempool_free_slab
param_get_bool
param_get_string
param_ops_bool
param_set_bool
param_set_copystring
set_freezable
@ -735,7 +779,6 @@
# required by drm_display_helper.ko
devm_backlight_device_register
_dev_printk
drm_atomic_get_connector_state
drm_atomic_get_crtc_state
drm_atomic_get_new_private_obj_state
@ -751,7 +794,6 @@
drm_edid_get_monitor_name
drm_modeset_lock_single_interruptible
__drm_printfn_debug
memchr_inv
__sw_hweight8
system_long_wq
@ -777,6 +819,7 @@
nr_irqs
proc_create
register_die_notifier
register_module_notifier
register_restart_handler
return_address
rtc_time64_to_tm
@ -838,9 +881,7 @@
platform_device_alloc
platform_device_del
platform_device_put
__pm_relax
pm_runtime_allow
__pm_stay_awake
typec_register_partner
typec_register_port
typec_set_data_role
@ -848,14 +889,10 @@
typec_set_pwr_role
typec_unregister_partner
typec_unregister_port
unregister_pm_notifier
usb_gadget_set_state
usb_otg_state_string
wakeup_source_register
wakeup_source_unregister
# required by exynos-acme.ko
bitmap_parselist
__cpu_active_mask
cpufreq_cpu_get
cpufreq_cpu_get_raw
@ -874,9 +911,6 @@
get_cpu_device
system_state
# required by exynos-adv-tracer-s2d.ko
simple_strtoul
# required by exynos-chipid_v2.ko
of_find_node_opts_by_path
soc_device_register
@ -888,7 +922,6 @@
__cpu_present_mask
# required by exynos-debug-test.ko
_ctype
remove_cpu
smp_call_function
smp_call_function_single
@ -967,6 +1000,7 @@
drm_mode_config_helper_resume
drm_mode_config_helper_suspend
drm_mode_config_reset
drm_mode_object_find
drm_mode_object_get
drm_of_component_match_add
drm_of_crtc_port_mask
@ -1010,15 +1044,13 @@
platform_find_device_by_driver
seq_hex_dump
seq_release
synchronize_irq
vmalloc_to_page
# required by exynos_mfc.ko
clk_put
dma_buf_begin_cpu_access_partial
dma_buf_end_cpu_access_partial
hex_dump_to_buffer
iommu_map
iommu_map_sg
iommu_unmap
__sw_hweight64
_totalram_pages
@ -1056,10 +1088,12 @@
strncasecmp
thermal_cdev_update
# required by exyswd-rng.ko
devm_hwrng_register
# required by gpu-sched.ko
mod_delayed_work_on
sched_set_fifo_low
wait_for_completion
__xa_alloc
xa_destroy
xa_erase
@ -1075,8 +1109,6 @@
hrtimer_try_to_cancel
# required by hwmon.ko
__class_register
class_unregister
device_property_read_string
devres_free
devres_release
@ -1096,8 +1128,6 @@
i2c_smbus_xfer
i2c_transfer_buffer_flags
i2c_verify_client
register_chrdev_region
unregister_chrdev_region
# required by lontium-lt9611.ko
drm_hdmi_avi_infoframe_from_display_mode
@ -1105,6 +1135,28 @@
regmap_multi_reg_write
regulator_set_load
# required by npu.ko
__bitmap_clear
__bitmap_set
cdev_alloc
console_printk
cpuidle_pause_and_lock
cpuidle_resume_and_unlock
devm_clk_put
dev_pm_opp_find_freq_ceil
dev_pm_opp_find_freq_floor
dma_fence_free
fget
_find_next_zero_bit
firmware_request_nowarn
__kfifo_in
__kfifo_out
of_irq_parse_one
rb_erase
rb_insert_color
strrchr
sysfs_remove_file_ns
# required by panel-samsung-dummy.ko
drm_panel_add
drm_panel_init
@ -1113,13 +1165,16 @@
# required by panic-fingerprint.ko
stack_trace_save
# required by pcie-exynos-dw-ep.ko
pci_epc_map_addr
# required by pcs_xpcs.ko
mdiobus_modify_changed
phylink_mii_c22_pcs_decode_state
phylink_mii_c22_pcs_encode_advertisement
# required by phy-exynosauto-usbdrd-super.ko
__clk_is_enabled
gpio_request
# required by pinctrl-samsung-core.ko
device_get_next_child_node
@ -1190,7 +1245,6 @@
# required by rtc-s2vps02.ko
devm_rtc_device_register
pm_wakeup_ws_event
rtc_update_irq
rtc_valid_tm
@ -1198,6 +1252,12 @@
__devm_irq_alloc_descs
handle_nested_irq
# required by s3c2410_wdt.ko
watchdog_init_timeout
watchdog_register_device
watchdog_set_restart_priority
watchdog_unregister_device
# required by sam-is.ko
down
down_trylock
@ -1206,9 +1266,9 @@
kernel_neon_end
kobject_del
kthread_flush_worker
pfn_is_map_memory
pm_relax
pm_stay_awake
register_reboot_notifier
regulator_get_optional
regulator_get_voltage
regulator_is_enabled
@ -1216,7 +1276,6 @@
regulator_set_voltage
unregister_reboot_notifier
vb2_mmap
vscnprintf
# required by samsung-bridge-dummy.ko
drm_atomic_helper_bridge_propagate_bus_fmt
@ -1232,7 +1291,6 @@
# required by samsung_dma_heap.ko
adjust_managed_page_count
anon_inode_getfile
deferred_free
dma_buf_get_flags
dmabuf_page_pool_alloc
@ -1246,7 +1304,6 @@
dma_heap_get_name
is_dma_buf_file
iterate_fd
misc_deregister
remap_pfn_range
__sg_page_iter_next
__sg_page_iter_start
@ -1274,8 +1331,11 @@
# required by scaler.ko
clk_set_parent
devm_get_free_pages
dma_fence_default_wait
dma_heap_buffer_free
flush_signals
kill_pid
sync_file_get_fence
v4l2_ctrl_handler_free
v4l2_ctrl_handler_init_class
@ -1310,14 +1370,14 @@
backlight_device_unregister
__bitmap_andnot
__bitmap_xor
bpf_trace_run5
bpf_trace_run9
capable
devfreq_recommended_opp
devfreq_resume_device
devfreq_suspend_device
__devm_drm_dev_alloc
devm_iounmap
dev_pm_opp_get_voltage
dev_pm_opp_put
dev_pm_qos_update_request
dma_buf_dynamic_attach
dma_buf_move_notify
@ -1328,7 +1388,6 @@
dma_fence_chain_walk
dma_fence_get_status
dma_fence_get_stub
dma_fence_signal_locked
dma_fence_wait_any_timeout
dma_get_required_mask
dma_resv_add_fence
@ -1393,7 +1452,6 @@
drm_syncobj_get_handle
drm_syncobj_replace_fence
__fdget
_find_first_zero_bit
__folio_put
__get_task_comm
handle_simple_irq
@ -1410,12 +1468,10 @@
jiffies64_to_msecs
jiffies_to_usecs
kobject_put
__memcpy_fromio
__memcpy_toio
memremap
memunmap
mmu_notifier_synchronize
nsecs_to_jiffies
page_pinner_inited
__page_pinner_put_page
param_ops_charp
@ -1453,12 +1509,10 @@
__rb_erase_color
rb_first_postorder
__rb_insert_augmented
rb_next
rb_next_postorder
__rcu_read_lock
__rcu_read_unlock
seq_write
set_normalized_timespec64
sg_alloc_table_from_pages_segment
si_meminfo
sysfs_create_files
@ -1525,12 +1579,13 @@
snd_soc_jack_report
# required by snd-soc-samsung-abox-core.ko
__devm_regmap_init
devm_ioremap_wc
__devm_regmap_init_mmio_clk
__devm_request_region
dma_mmap_attrs
irq_set_affinity
kthread_bind
of_property_match_string
__platform_register_drivers
platform_unregister_drivers
pm_runtime_no_callbacks
@ -1547,10 +1602,10 @@
snd_soc_dapm_mux_update_power
snd_soc_dapm_new_control
snd_soc_dapm_new_controls
snd_soc_new_compress
snd_soc_set_runtime_hwparams
snd_soc_unregister_component
stpcpy
__tasklet_hi_schedule
# required by snd-soc-tas6424.ko
regcache_cache_only
@ -1579,7 +1634,6 @@
stream_open
# required by stmmac-platform.ko
devm_clk_get_optional
of_get_mac_address
of_phy_is_fixed_link
@ -1727,14 +1781,20 @@
xsk_uses_need_wakeup
# required by sxgmac.ko
alloc_chrdev_region
cdev_add
gpiod_direction_output
gpiod_set_value
# required by ufs-exynosauto-core.ko
__crypto_memneq
devm_blk_crypto_profile_init
dmam_free_coherent
scsi_dma_unmap
scsi_done
__traceiter_android_vh_ufs_fill_prdt
__traceiter_android_vh_ufs_prepare_command
__tracepoint_android_vh_ufs_fill_prdt
__tracepoint_android_vh_ufs_prepare_command
trace_print_symbols_seq
ufshcd_auto_hibern8_update
ufshcd_config_pwr_mode
ufshcd_dme_get_attr
@ -1753,10 +1813,8 @@
console_suspend_enabled
current_work
default_wake_function
__devm_regmap_init
dma_buf_fd
dw_pcie_ep_init
dw_pcie_read_dbi
dw_pcie_write_dbi
irq_create_of_mapping
irq_dispose_mapping
irq_find_matching_fwspec
@ -1769,21 +1827,16 @@
kthread_complete_and_exit
nonseekable_open
of_clk_del_provider
of_find_node_by_type
of_irq_find_parent
pci_disable_device
pci_disable_msi
pci_enable_device
pci_epc_map_addr
pci_epc_mem_alloc_addr
pci_epc_mem_free_addr
pci_epc_set_bar
pci_epc_unmap_addr
pci_ioremap_wc_bar
pci_num_vf
__pci_register_driver
pci_request_regions
pci_unregister_driver
pfn_is_map_memory
__platform_driver_probe
pm_power_off
proc_create_data
@ -1795,9 +1848,8 @@
strnstr
sysfs_create_bin_file
sysfs_remove_bin_file
__tasklet_hi_schedule
__task_pid_nr_ns
thermal_of_zone_register
thermal_of_zone_unregister
vprintk
watchdog_register_device
watchdog_unregister_device

View File

@ -0,0 +1,145 @@
[abi_symbol_list]
# commonly used symbols
module_layout
__put_task_struct
# required by fips140.ko
aead_register_instance
ahash_register_instance
arch_timer_read_counter
bcmp
complete_all
completion_done
cpu_have_feature
crypto_aead_decrypt
crypto_aead_encrypt
crypto_aead_setauthsize
crypto_aead_setkey
crypto_ahash_finup
crypto_ahash_setkey
crypto_alg_list
crypto_alg_sem
crypto_alloc_aead
crypto_alloc_base
crypto_alloc_rng
crypto_alloc_shash
crypto_alloc_skcipher
crypto_attr_alg_name
crypto_check_attr_type
crypto_cipher_encrypt_one
crypto_cipher_setkey
crypto_destroy_tfm
crypto_drop_spawn
crypto_get_default_null_skcipher
crypto_grab_aead
crypto_grab_ahash
crypto_grab_shash
crypto_grab_skcipher
crypto_grab_spawn
crypto_inst_setname
crypto_put_default_null_skcipher
crypto_register_aead
crypto_register_aeads
crypto_register_ahash
crypto_register_ahashes
crypto_register_alg
crypto_register_algs
crypto_register_rng
crypto_register_rngs
crypto_register_shash
crypto_register_shashes
crypto_register_skcipher
crypto_register_skciphers
crypto_register_template
crypto_register_templates
crypto_remove_spawns
crypto_req_done
crypto_rng_reset
crypto_shash_alg_has_setkey
crypto_shash_digest
crypto_shash_final
crypto_shash_finup
crypto_shash_setkey
crypto_shash_tfm_digest
crypto_shash_update
crypto_skcipher_decrypt
crypto_skcipher_encrypt
crypto_skcipher_setkey
crypto_spawn_tfm
crypto_spawn_tfm2
crypto_unregister_aead
crypto_unregister_alg
crypto_unregister_rng
crypto_unregister_rngs
crypto_unregister_shash
crypto_unregister_shashes
crypto_unregister_skciphers
crypto_unregister_template
crypto_unregister_templates
down_write
fortify_panic
fpsimd_context_busy
get_random_bytes
__init_swait_queue_head
irq_stat
jiffies
kasan_flag_enabled
kernel_neon_begin
kernel_neon_end
kfree
kfree_sensitive
__kmalloc
kmalloc_caches
kmalloc_trace
kmemdup
ktime_get
__list_add_valid
__list_del_entry_valid
memcpy
memset
__mutex_init
mutex_lock
mutex_unlock
panic
preempt_schedule
preempt_schedule_notrace
_printk
___ratelimit
_raw_spin_lock
_raw_spin_unlock
refcount_warn_saturate
rng_is_initialized
scatterwalk_ffwd
scatterwalk_map_and_copy
sg_init_one
sg_init_table
sg_next
shash_free_singlespawn_instance
shash_register_instance
skcipher_alloc_instance_simple
skcipher_register_instance
skcipher_walk_aead_decrypt
skcipher_walk_aead_encrypt
skcipher_walk_done
skcipher_walk_virt
snprintf
__stack_chk_fail
strcmp
strlcat
strlen
strncmp
strnlen
strscpy
__traceiter_android_vh_aes_decrypt
__traceiter_android_vh_aes_encrypt
__traceiter_android_vh_aes_expandkey
__traceiter_android_vh_sha256
__tracepoint_android_vh_aes_decrypt
__tracepoint_android_vh_aes_encrypt
__tracepoint_android_vh_aes_expandkey
__tracepoint_android_vh_sha256
tracepoint_probe_register
up_write
wait_for_completion
xa_load
xa_store

View File

@ -274,6 +274,8 @@
sched_clock
sched_show_task
scnprintf
scsi_device_quiesce
scsi_device_resume
seq_hex_dump
seq_lseek
seq_printf

View File

@ -0,0 +1,91 @@
[abi_symbol_list]
# commonly used by custom vendor modules
__bitmap_subset
devres_find
input_device_enabled
pvclock_gtod_register_notifier
refcount_dec_if_one
# commonly required by ledtrig-heartbeat.ko modules
avenrun
# commonly required by ledtrig-*.ko modules
led_blink_set_oneshot
led_set_brightness_nosleep
led_stop_software_blink
# required by cls_flower.ko module
flow_rule_alloc
idr_get_next_ul
radix_tree_tagged
skb_flow_dissect_ct
skb_flow_dissect_hash
skb_flow_dissect_meta
skb_flow_dissect_tunnel_info
skb_flow_dissector_init
tc_setup_cb_call
tc_setup_cb_destroy
tc_setup_cb_reoffload
tc_setup_cb_add
tcf_exts_num_actions
tcf_exts_terse_dump
# required by act_vlan.ko module
jiffies_to_clock_t
skb_eth_push
skb_eth_pop
__skb_vlan_pop
skb_vlan_push
skb_vlan_pop
tcf_action_check_ctrlact
tcf_action_set_ctrlact
tcf_action_update_stats
tcf_chain_put_by_act
tcf_generic_walker
tcf_idr_check_alloc
tcf_idr_cleanup
tcf_idr_create_from_flags
tcf_idr_release
tcf_idr_search
tcf_idrinfo_destroy
tcf_register_action
tcf_unregister_action
# required by ebtables.ko module
__audit_log_nfcfg
audit_enabled
nf_register_sockopt
nf_unregister_sockopt
vmalloc_node
xt_check_match
xt_check_target
xt_compat_add_offset
xt_compat_calc_jump
xt_compat_flush_offsets
xt_compat_init_offsets
xt_compat_lock
xt_compat_match_offset
xt_compat_target_offset
xt_compat_unlock
xt_data_to_user
xt_find_match
xt_request_find_match
xt_request_find_target
# required by ebt_arpreply.ko module
arp_send
# required by ebt_log.ko module
nf_log_packet
sysctl_nf_log_all_netns
# required by xt_LOG.ko module
nf_log_buf_add
nf_log_buf_close
nf_log_buf_open
nf_log_register
nf_log_set
nf_log_unregister
nf_log_unset
nf_logger_find_get
nf_logger_put

View File

@ -1025,6 +1025,7 @@
iio_trigger_poll_chained
iio_trigger_register
iio_trigger_unregister
iio_trigger_using_own
import_iovec
in4_pton
inet_csk_get_port
@ -2252,6 +2253,14 @@
usb_udc_vbus_handler
__usecs_to_jiffies
usleep_range_state
__v4l2_async_nf_add_fwnode
v4l2_async_nf_cleanup
v4l2_async_nf_init
v4l2_async_nf_register
v4l2_async_nf_unregister
v4l2_async_register_subdev
v4l2_async_register_subdev_sensor
v4l2_async_unregister_subdev
v4l2_ctrl_auto_cluster
v4l2_ctrl_handler_free
v4l2_ctrl_handler_init_class
@ -2288,6 +2297,9 @@
v4l2_fh_init
v4l2_fh_open
__v4l2_find_nearest_size
v4l2_fwnode_device_parse
v4l2_fwnode_endpoint_alloc_parse
v4l2_fwnode_endpoint_parse
v4l2_get_link_freq
v4l2_g_parm_cap
v4l2_i2c_subdev_init

View File

@ -0,0 +1,3 @@
[abi_symbol_list]
__traceiter_android_vh_tune_mmap_readaround
__tracepoint_android_vh_tune_mmap_readaround

View File

@ -152,6 +152,8 @@
clk_bulk_put
clk_bulk_put_all
clk_bulk_unprepare
clkdev_add
clkdev_drop
clk_disable
clk_divider_ops
clk_enable
@ -169,6 +171,7 @@
clk_hw_get_rate
clk_hw_is_enabled
clk_hw_is_prepared
clk_hw_register
clk_hw_round_rate
clk_hw_set_parent
__clk_is_enabled
@ -186,6 +189,7 @@
clk_set_parent
clk_set_rate
clk_unprepare
clk_unregister
clockevents_config_and_register
clocks_calc_mult_shift
clocksource_mmio_init
@ -359,6 +363,7 @@
dev_close_many
dev_coredumpv
dev_driver_string
_dev_emerg
_dev_err
dev_err_probe
dev_fetch_sw_netstats
@ -471,8 +476,10 @@
dev_mc_unsync
devm_devfreq_add_device
devm_devfreq_register_notifier
devm_devfreq_register_opp_notifier
devm_devfreq_remove_device
devm_devfreq_unregister_notifier
devm_devfreq_unregister_opp_notifier
devm_extcon_dev_allocate
devm_extcon_dev_register
devm_extcon_register_notifier
@ -676,6 +683,7 @@
dma_resv_iter_first_unlocked
dma_resv_iter_next_unlocked
dma_resv_reserve_fences
dma_resv_wait_timeout
dma_run_dependencies
dma_set_coherent_mask
dma_set_mask
@ -825,6 +833,7 @@
drm_kms_helper_poll_disable
drm_kms_helper_poll_enable
drm_kms_helper_poll_fini
drm_kms_helper_poll_init
drmm_mode_config_init
drm_mode_config_cleanup
drm_mode_config_reset
@ -878,6 +887,7 @@
dst_cache_set_ip4
dst_cache_set_ip6
dst_release
dummy_irq_chip
dump_stack
efi
em_cpu_get
@ -908,6 +918,7 @@
extcon_get_edev_by_phandle
extcon_get_state
extcon_set_state_sync
fasync_helper
__fdget
fd_install
fget
@ -928,6 +939,8 @@
find_vpid
finish_wait
firmware_request_nowarn
fixed_phy_register
fixed_phy_unregister
flush_dcache_page
flush_delayed_fput
flush_delayed_work
@ -989,11 +1002,16 @@
generic_file_llseek
generic_handle_domain_irq
generic_handle_irq
generic_handle_irq_safe
genlmsg_multicast_allns
genlmsg_put
genl_register_family
genl_unregister_family
__genphy_config_aneg
genphy_read_status
genphy_resume
genphy_soft_reset
genphy_suspend
gen_pool_add_owner
gen_pool_alloc_algo_owner
gen_pool_avail
@ -1054,6 +1072,7 @@
gpiod_direction_input
gpiod_direction_output
gpiod_direction_output_raw
gpiod_get_optional
gpiod_get_raw_value
gpiod_get_value
gpiod_get_value_cansleep
@ -1257,6 +1276,9 @@
irq_create_of_mapping
irq_dispose_mapping
__irq_domain_add
__irq_domain_alloc_fwnode
irq_domain_create_simple
irq_domain_free_fwnode
irq_domain_free_irqs_common
irq_domain_get_irq_data
irq_domain_remove
@ -1328,6 +1350,7 @@
kfree_skb_list_reason
kfree_skb_partial
kfree_skb_reason
kill_fasync
kimage_vaddr
kimage_voffset
__kmalloc
@ -1395,6 +1418,7 @@
kthread_unpark
kthread_worker_fn
ktime_get
ktime_get_coarse_ts64
ktime_get_coarse_with_offset
ktime_get_mono_fast_ns
ktime_get_raw
@ -1451,8 +1475,12 @@
mdiobus_alloc_size
mdiobus_free
mdiobus_get_phy
__mdiobus_read
mdiobus_read
__mdiobus_register
mdiobus_unregister
__mdiobus_write
mdiobus_write
media_create_ancillary_link
media_create_intf_link
media_create_pad_link
@ -1716,6 +1744,7 @@
of_machine_is_compatible
of_match_device
of_match_node
__of_mdiobus_register
of_n_addr_cells
of_n_size_cells
__of_parse_phandle_with_args
@ -1858,9 +1887,14 @@
phy_connect_direct
phy_disconnect
phy_do_ioctl_running
phy_drivers_register
phy_drivers_unregister
phy_error
phy_ethtool_get_eee
phy_ethtool_get_link_ksettings
phy_ethtool_get_wol
phy_ethtool_ksettings_get
phy_ethtool_ksettings_set
phy_ethtool_nway_reset
phy_ethtool_set_eee
phy_ethtool_set_link_ksettings
@ -1868,8 +1902,10 @@
phy_exit
phy_find_first
phy_get
phy_get_pause
phy_init
phy_init_eee
phy_init_hw
phylink_connect_phy
phylink_create
phylink_destroy
@ -1886,13 +1922,20 @@
phy_power_on
phy_print_status
phy_put
phy_read_mmd
phy_register_fixup_for_uid
phy_remove_link_mode
phy_restore_page
phy_save_page
phy_set_mode_ext
phy_start
phy_start_aneg
phy_stop
phy_support_asym_pause
phy_suspend
phy_trigger_machine
phy_unregister_fixup_for_uid
phy_write_mmd
pick_migrate_task
pid_task
pinconf_generic_parse_dt_config
@ -1926,6 +1969,7 @@
__platform_driver_register
platform_driver_unregister
platform_find_device_by_driver
platform_get_ethdev_address
platform_get_irq
platform_get_irq_byname
platform_get_irq_byname_optional
@ -2122,9 +2166,12 @@
regmap_field_read
regmap_field_update_bits_base
regmap_irq_get_domain
regmap_multi_reg_write
regmap_raw_read
regmap_raw_write
regmap_read
regmap_register_patch
regmap_test_bits
regmap_update_bits_base
regmap_write
regulator_bulk_disable
@ -2170,6 +2217,7 @@
remove_proc_entry
remove_proc_subtree
remove_wait_queue
report_iommu_fault
request_firmware
request_firmware_direct
request_firmware_nowait
@ -2445,19 +2493,25 @@
snd_soc_dapm_get_pin_switch
snd_soc_dapm_get_volsw
snd_soc_dapm_info_pin_switch
snd_soc_dapm_kcontrol_widget
snd_soc_dapm_new_controls
snd_soc_dapm_new_widgets
snd_soc_dapm_put_enum_double
snd_soc_dapm_put_pin_switch
snd_soc_dapm_put_volsw
snd_soc_dapm_sync
snd_soc_dpcm_get_substream
snd_soc_get_enum_double
snd_soc_get_volsw
snd_soc_info_enum_double
snd_soc_info_volsw
snd_soc_jack_report
snd_soc_new_compress
snd_soc_of_get_dai_link_codecs
snd_soc_of_parse_audio_routing
snd_soc_pm_ops
snd_soc_poweroff
snd_soc_put_enum_double
snd_soc_put_volsw
snd_soc_register_component
snd_soc_resume
@ -2630,6 +2684,7 @@
thermal_zone_get_zone_by_name
thread_group_cputime_adjusted
tick_nohz_get_sleep_length
time64_to_tm
timecounter_init
timecounter_read
timer_of_init
@ -3036,6 +3091,7 @@
usb_autopm_get_interface_no_resume
usb_autopm_put_interface
usb_autopm_put_interface_async
usb_check_bulk_endpoints
usb_clear_halt
usb_composite_probe
usb_composite_unregister
@ -3122,10 +3178,12 @@
usb_role_string
usb_role_switch_get
usb_role_switch_get_drvdata
usb_role_switch_put
usb_role_switch_register
usb_role_switch_set_role
usb_role_switch_unregister
usb_root_hub_lost_power
usb_scuttle_anchored_urbs
usb_set_interface
usb_show_dynids
usb_speed_string
@ -3141,6 +3199,13 @@
uuid_gen
uuid_null
uuid_parse
v4l2_async_nf_cleanup
v4l2_async_nf_init
v4l2_async_nf_parse_fwnode_endpoints
v4l2_async_nf_register
v4l2_async_nf_unregister
v4l2_async_register_subdev
v4l2_async_unregister_subdev
v4l2_compat_ioctl32
v4l2_ctrl_find
v4l2_ctrl_g_ctrl
@ -3177,6 +3242,7 @@
v4l2_fh_open
__v4l2_find_nearest_size
v4l2_format_info
v4l2_fwnode_endpoint_parse
v4l2_i2c_subdev_init
v4l2_m2m_buf_copy_metadata
v4l2_m2m_buf_queue
@ -3190,7 +3256,9 @@
v4l2_m2m_get_vq
v4l2_m2m_init
v4l2_m2m_ioctl_create_bufs
v4l2_m2m_ioctl_decoder_cmd
v4l2_m2m_ioctl_dqbuf
v4l2_m2m_ioctl_encoder_cmd
v4l2_m2m_ioctl_expbuf
v4l2_m2m_ioctl_prepare_buf
v4l2_m2m_ioctl_qbuf
@ -3198,7 +3266,10 @@
v4l2_m2m_ioctl_reqbufs
v4l2_m2m_ioctl_streamoff
v4l2_m2m_ioctl_streamon
v4l2_m2m_ioctl_try_decoder_cmd
v4l2_m2m_ioctl_try_encoder_cmd
v4l2_m2m_job_finish
v4l2_m2m_last_buffer_done
v4l2_m2m_next_buf
v4l2_m2m_qbuf
v4l2_m2m_register_media_controller

View File

@ -0,0 +1,226 @@
[abi_symbol_list]
# commonly used symbols
module_layout
__put_task_struct
# required by ntfs3.ko
__alloc_pages
alt_cb_patch_nops
__arch_copy_from_user
__arch_copy_to_user
arm64_use_ng_mappings
balance_dirty_pages_ratelimited
bcmp
__bh_read
bh_uptodate_or_lock
bio_add_page
bio_alloc_bioset
bio_chain
bio_put
__bitmap_clear
__bitmap_set
__bitmap_weight
blkdev_issue_discard
blk_finish_plug
blk_start_plug
__blockdev_direct_IO
block_dirty_folio
block_invalidate_folio
block_truncate_page
block_write_begin
block_write_end
block_write_full_page
__bread_gfp
__brelse
call_rcu
capable
clean_bdev_aliases
clear_inode
clear_nlink
copy_page_from_iter_atomic
cpu_hwcaps
create_empty_buffers
current_time
current_umask
dentry_path_raw
d_find_alias
d_instantiate
discard_new_inode
d_make_root
d_obtain_alias
down_read
down_write
down_write_trylock
dput
drop_nlink
d_splice_alias
end_buffer_read_sync
fault_in_iov_iter_readable
fiemap_fill_next_extent
fiemap_prep
filemap_fdatawait_range
filemap_fdatawrite
filemap_fdatawrite_range
filemap_write_and_wait_range
file_remove_privs
file_update_time
_find_next_bit
_find_next_zero_bit
flush_dcache_page
__folio_lock
__folio_put
fs_bio_set
fscrypt_file_open
fs_param_is_string
fs_param_is_u32
__fs_parse
generic_block_bmap
generic_fh_to_dentry
generic_fh_to_parent
generic_file_fsync
generic_file_llseek
generic_file_mmap
generic_file_open
generic_file_read_iter
generic_file_splice_read
__generic_file_write_iter
generic_fillattr
generic_permission
generic_read_dir
generic_write_checks
generic_write_end
generic_writepages
__getblk_gfp
get_random_u32
get_tree_bdev
gic_nonsecure_priorities
grab_cache_page_write_begin
hex_asc
iget5_locked
iget_failed
ihold
ilookup
inc_nlink
__init_rwsem
init_special_inode
inode_dio_wait
inode_get_bytes
inode_init_once
inode_init_owner
inode_needs_sync
inode_newsize_ok
inode_nohighmem
inode_set_bytes
inode_to_bdi
insert_inode_locked
invalidate_bdev
invalidate_inode_buffers
iov_iter_revert
iov_iter_zero
iput
is_bad_inode
iter_file_splice_write
kasan_flag_enabled
kfree
kfree_link
kill_block_super
__kmalloc
kmalloc_caches
kmalloc_trace
kmem_cache_alloc
kmem_cache_alloc_lru
kmem_cache_create
kmem_cache_destroy
kmem_cache_free
kmemdup
kvfree
kvmalloc_node
load_nls
load_nls_default
__lock_buffer
lockref_get
logfc
make_bad_inode
mark_buffer_dirty
__mark_inode_dirty
memcpy
memmove
memset
mpage_readahead
mpage_read_folio
mpage_writepages
__mutex_init
mutex_lock
mutex_trylock
mutex_unlock
names_cachep
new_inode
overflowgid
overflowuid
pagecache_get_page
page_pinner_inited
__page_pinner_put_page
posix_acl_chmod
preempt_schedule
_printk
___ratelimit
_raw_spin_lock
_raw_spin_unlock
rb_erase
rb_first
rb_insert_color
rb_last
rb_next
rb_prev
rcu_barrier
read_cache_page
register_filesystem
sb_set_blocksize
seq_printf
seq_puts
setattr_copy
setattr_prepare
set_bh_page
set_nlink
set_page_dirty
snprintf
__stack_chk_fail
strcmp
strlen
submit_bh
submit_bio
submit_bio_wait
sync_blockdev
sync_blockdev_nowait
sync_dirty_buffer
sync_filesystem
sync_inode_metadata
sync_mapping_buffers
truncate_inode_pages_final
truncate_pagecache
truncate_setsize
unload_nls
unlock_buffer
unlock_new_inode
unlock_page
unregister_filesystem
up_read
up_write
utf16s_to_utf8s
utf8_to_utf32
vfs_fsync_range
vmap
vm_zone_stat
vunmap
__wait_on_buffer
__warn_printk
write_inode_now
# required by mount_state.ko
get_fs_type
iterate_supers_type
# required by thermal_core_skip_irq.ko
__traceiter_android_vh_thermal_pm_notify_suspend
__tracepoint_android_vh_thermal_pm_notify_suspend
tracepoint_probe_register

View File

@ -53,6 +53,8 @@
mmc_wait_for_cmd
__mod_lruvec_state
__mod_zone_page_state
neigh_xmit
netif_receive_skb_core
nf_ct_attach
nf_ct_delete
nf_register_net_hook
@ -79,6 +81,7 @@
root_mem_cgroup
rtc_read_alarm
rtc_set_alarm
__rtnl_link_register
__rtnl_link_unregister
sdio_memcpy_fromio
sdio_memcpy_toio
@ -123,7 +126,10 @@
__traceiter_android_vh_record_rwsem_lock_starttime
__traceiter_android_vh_alter_mutex_list_add
__traceiter_android_vh_binder_free_proc
__traceiter_android_vh_binder_has_special_work_ilocked
__traceiter_android_vh_binder_has_work_ilocked
__traceiter_android_vh_binder_ioctl_end
__traceiter_android_vh_binder_looper_exited
__traceiter_android_vh_binder_looper_state_registered
__traceiter_android_vh_binder_new_ref
__traceiter_android_vh_binder_del_ref
@ -134,9 +140,12 @@
__traceiter_android_vh_binder_proc_transaction_finish
__traceiter_android_vh_binder_read_done
__traceiter_android_vh_binder_select_worklist_ilocked
__traceiter_android_vh_binder_select_special_worklist
__traceiter_android_vh_binder_spawn_new_thread
__traceiter_android_vh_binder_thread_read
__traceiter_android_vh_binder_thread_release
__traceiter_android_vh_binder_wait_for_work
__traceiter_android_vh_binder_detect_low_async_space
__traceiter_android_vh_cgroup_set_task
__traceiter_android_vh_check_folio_look_around_ref
__traceiter_android_vh_dup_task_struct
@ -158,6 +167,7 @@
__traceiter_android_vh_dm_bufio_shrink_scan_bypass
__traceiter_android_vh_mutex_unlock_slowpath
__traceiter_android_vh_rtmutex_waiter_prio
__traceiter_android_vh_rt_mutex_steal
__traceiter_android_vh_rwsem_can_spin_on_owner
__traceiter_android_vh_rwsem_opt_spin_finish
__traceiter_android_vh_rwsem_opt_spin_start
@ -202,13 +212,18 @@
__traceiter_android_vh_free_oem_binder_struct
__traceiter_android_vh_binder_special_task
__traceiter_android_vh_binder_free_buf
__traceiter_android_vh_binder_buffer_release
__traceiter_android_vh_copy_process
__tracepoint_android_rvh_post_init_entity_util_avg
__tracepoint_android_rvh_rtmutex_force_update
__tracepoint_android_vh_account_process_tick_gran
__tracepoint_android_vh_account_task_time
__tracepoint_android_vh_alter_mutex_list_add
__tracepoint_android_vh_binder_free_proc
__tracepoint_android_vh_binder_has_special_work_ilocked
__tracepoint_android_vh_binder_has_work_ilocked
__tracepoint_android_vh_binder_ioctl_end
__tracepoint_android_vh_binder_looper_exited
__tracepoint_android_vh_binder_looper_state_registered
__tracepoint_android_vh_binder_new_ref
__tracepoint_android_vh_binder_del_ref
@ -219,9 +234,12 @@
__tracepoint_android_vh_binder_proc_transaction_finish
__tracepoint_android_vh_binder_read_done
__tracepoint_android_vh_binder_select_worklist_ilocked
__tracepoint_android_vh_binder_select_special_worklist
__tracepoint_android_vh_binder_spawn_new_thread
__tracepoint_android_vh_binder_thread_read
__tracepoint_android_vh_binder_thread_release
__tracepoint_android_vh_binder_wait_for_work
__tracepoint_android_vh_binder_detect_low_async_space
__tracepoint_android_vh_cgroup_set_task
__tracepoint_android_vh_check_folio_look_around_ref
__tracepoint_android_vh_do_futex
@ -258,6 +276,7 @@
__tracepoint_android_vh_record_rtmutex_lock_starttime
__tracepoint_android_vh_record_rwsem_lock_starttime
__tracepoint_android_vh_rtmutex_waiter_prio
__tracepoint_android_vh_rt_mutex_steal
__tracepoint_android_vh_rwsem_can_spin_on_owner
__tracepoint_android_vh_rwsem_opt_spin_finish
__tracepoint_android_vh_rwsem_opt_spin_start
@ -302,6 +321,8 @@
__tracepoint_android_vh_free_oem_binder_struct
__tracepoint_android_vh_binder_special_task
__tracepoint_android_vh_binder_free_buf
__tracepoint_android_vh_binder_buffer_release
__tracepoint_android_vh_copy_process
__trace_puts
try_to_free_mem_cgroup_pages
typec_mux_get_drvdata
@ -313,4 +334,6 @@
wakeup_source_remove
wake_up_state
wq_worker_comm
xt_register_match
xt_unregister_match
zero_pfn

View File

@ -0,0 +1,4 @@
[abi_symbol_list]
iio_trigger_generic_data_rdy_poll
input_device_enabled

View File

@ -3,8 +3,11 @@
add_cpu
add_timer
add_timer_on
add_uevent_var
add_wait_queue
adjust_managed_page_count
aes_encrypt
aes_expandkey
alarm_cancel
alarm_init
alarm_start_relative
@ -19,6 +22,7 @@
__alloc_percpu
__alloc_percpu_gfp
__alloc_skb
alloc_skb_with_frags
alloc_workqueue
alt_cb_patch_nops
amba_bustype
@ -188,6 +192,7 @@
clockevents_config_and_register
clocks_calc_mult_shift
__clocksource_register_scale
__cma_alloc
cma_alloc
cma_for_each_area
cma_get_name
@ -233,6 +238,7 @@
cpufreq_driver_resolve_freq
__cpufreq_driver_target
cpufreq_driver_target
cpufreq_driver_test_flags
cpufreq_enable_fast_switch
cpufreq_freq_transition_begin
cpufreq_freq_transition_end
@ -242,6 +248,7 @@
cpufreq_get_policy
cpufreq_policy_transition_delay_us
cpufreq_quick_get
cpufreq_quick_get_max
cpufreq_register_driver
cpufreq_register_governor
cpufreq_register_notifier
@ -260,6 +267,7 @@
cpu_hwcaps
cpuidle_driver_state_disabled
cpuidle_get_driver
cpuidle_governor_latency_req
cpu_latency_qos_add_request
cpu_latency_qos_remove_request
cpu_latency_qos_update_request
@ -275,6 +283,7 @@
cpus_read_lock
cpus_read_unlock
cpu_subsys
cpu_topology
crc32_be
crc32_le
crc8
@ -297,6 +306,7 @@
crypto_register_shash
crypto_req_done
crypto_shash_digest
crypto_shash_final
crypto_shash_finup
crypto_shash_setkey
crypto_shash_update
@ -310,10 +320,12 @@
csum_partial
csum_tcpudp_nofold
_ctype
datagram_poll
deactivate_task
debugfs_attr_read
debugfs_attr_write
debugfs_create_atomic_t
debugfs_create_blob
debugfs_create_bool
debugfs_create_devm_seqfile
debugfs_create_dir
@ -339,6 +351,7 @@
desc_to_gpio
destroy_workqueue
dev_addr_mod
_dev_alert
dev_alloc_name
__dev_change_net_namespace
dev_close
@ -357,6 +370,7 @@
devfreq_recommended_opp
devfreq_register_opp_notifier
devfreq_remove_device
devfreq_remove_governor
devfreq_unregister_opp_notifier
devfreq_update_interval
dev_fwnode
@ -388,6 +402,7 @@
device_property_present
device_property_read_string
device_property_read_u32_array
device_property_read_u8_array
device_register
device_remove_file
device_remove_groups
@ -497,7 +512,11 @@
dev_pm_opp_of_remove_table
dev_pm_opp_put
dev_pm_opp_set_config
dev_pm_qos_add_notifier
dev_pm_qos_add_request
dev_pm_qos_read_value
dev_pm_qos_remove_notifier
dev_pm_qos_remove_request
dev_pm_qos_update_request
_dev_printk
dev_printk_emit
@ -527,6 +546,7 @@
dma_buf_fd
dma_buf_get
dma_buf_map_attachment
dma_buf_map_attachment_unlocked
dma_buf_mmap
dmabuf_page_pool_alloc
dmabuf_page_pool_create
@ -536,22 +556,31 @@
dma_buf_put
dma_buf_set_name
dma_buf_unmap_attachment
dma_buf_unmap_attachment_unlocked
dma_buf_vmap
dma_buf_vunmap
dma_direct_alloc
dma_direct_free
dmaengine_unmap_put
dma_fence_add_callback
dma_fence_array_create
dma_fence_array_ops
dma_fence_context_alloc
dma_fence_default_wait
dma_fence_enable_sw_signaling
dma_fence_get_status
dma_fence_init
dma_fence_release
dma_fence_remove_callback
dma_fence_signal
dma_fence_signal_locked
dma_fence_unwrap_first
__dma_fence_unwrap_merge
dma_fence_unwrap_next
dma_fence_wait_timeout
dma_free_attrs
dma_free_pages
dma_get_sgtable_attrs
dma_get_slave_caps
dma_get_slave_channel
dma_heap_add
@ -588,6 +617,7 @@
down_read_trylock
down_trylock
down_write
d_path
dput
drain_workqueue
driver_register
@ -663,6 +693,7 @@
drm_bridge_remove
drm_compat_ioctl
drm_connector_attach_encoder
drm_connector_attach_max_bpc_property
drm_connector_cleanup
drm_connector_init
drm_connector_list_iter_begin
@ -733,6 +764,7 @@
drm_kms_helper_poll_fini
drm_kms_helper_poll_init
drm_match_cea_mode
__drmm_crtc_alloc_with_planes
drmm_kmalloc
drmm_mode_config_init
drm_mode_config_reset
@ -754,6 +786,7 @@
drm_modeset_lock_all_ctx
drm_modeset_lock_single_interruptible
drm_modeset_unlock
drm_mode_sort
drm_mode_vrefresh
drm_object_attach_property
drm_object_property_set_value
@ -798,6 +831,7 @@
drm_self_refresh_helper_alter_state
drm_send_event
drm_send_event_locked
drm_sysfs_connector_status_event
drm_universal_plane_init
drm_vblank_init
drm_writeback_connector_init
@ -805,6 +839,7 @@
drm_writeback_signal_completion
dump_backtrace
dump_stack
dump_tasks
dw_handle_msi_irq
dw_pcie_find_capability
dw_pcie_host_init
@ -855,7 +890,9 @@
find_pid_ns
find_task_by_vpid
find_vma_intersection
find_vpid
finish_wait
firmware_request_nowarn
flush_dcache_page
flush_delayed_work
flush_work
@ -943,6 +980,7 @@
get_sg_io_hdr
__get_task_comm
get_task_cred
get_task_mm
get_thermal_instance
get_unused_fd_flags
get_user_pages
@ -968,6 +1006,7 @@
gpiod_get_raw_value_cansleep
gpiod_get_value
gpiod_get_value_cansleep
gpiod_set_debounce
gpiod_set_raw_value
gpiod_set_raw_value_cansleep
gpiod_set_value
@ -1027,7 +1066,14 @@
ida_alloc_range
ida_destroy
ida_free
idle_inject_get_duration
idle_inject_register
idle_inject_set_duration
idle_inject_set_latency
idle_inject_start
idle_inject_stop
idr_alloc
idr_alloc_cyclic
idr_destroy
idr_find
idr_for_each
@ -1047,6 +1093,7 @@
in6_pton
in_aton
inc_zone_page_state
in_egroup_p
inet_csk_get_port
init_dummy_netdev
init_iova_domain
@ -1056,6 +1103,7 @@
__init_swait_queue_head
init_task
init_timer_key
init_user_ns
init_uts_ns
init_wait_entry
__init_waitqueue_head
@ -1123,8 +1171,10 @@
io_schedule_timeout
iounmap
iova_domain_init_rcaches
iov_iter_revert
ip_compute_csum
ip_send_check
__ipv6_addr_type
__irq_alloc_descs
__irq_apply_affinity_hint
irq_create_mapping_affinity
@ -1156,12 +1206,20 @@
jiffies_to_usecs
kasan_flag_enabled
kasprintf
kernel_bind
kernel_connect
kernel_cpustat
kernel_getsockname
kernel_kobj
kernel_param_lock
kernel_param_unlock
kernel_recvmsg
kernel_restart
kernel_sendmsg
kernfs_find_and_get_ns
kernfs_notify
kernfs_path_from_node
kernfs_put
key_create_or_update
key_put
keyring_alloc
@ -1184,6 +1242,7 @@
kmalloc_trace
kmem_cache_alloc
kmem_cache_create
kmem_cache_create_usercopy
kmem_cache_destroy
kmem_cache_free
kmemdup
@ -1198,6 +1257,7 @@
kobject_uevent_env
kobj_sysfs_ops
krealloc
ksize
kstat
kstrdup
kstrndup
@ -1232,6 +1292,7 @@
kthread_park
kthread_parkme
kthread_queue_work
kthread_set_per_cpu
kthread_should_park
kthread_should_stop
kthread_stop
@ -1262,6 +1323,7 @@
__list_del_entry_valid
list_sort
__local_bh_enable_ip
lock_sock_nested
log_abnormal_wakeup_reason
log_post_read_mmio
log_post_write_mmio
@ -1271,6 +1333,8 @@
loops_per_jiffy
mac_pton
mas_empty_area_rev
mas_find
max_load_balance_interval
mbox_chan_received_data
mbox_controller_register
mbox_controller_unregister
@ -1287,6 +1351,12 @@
memdup_user_nul
memmove
memparse
mempool_alloc
mempool_alloc_slab
mempool_create
mempool_destroy
mempool_free
mempool_free_slab
memremap
mem_section
memset
@ -1318,6 +1388,7 @@
__mmap_lock_do_trace_released
__mmap_lock_do_trace_start_locking
__mmdrop
mmput
mod_delayed_work_on
mod_node_page_state
mod_timer
@ -1338,6 +1409,7 @@
napi_complete_done
napi_disable
napi_enable
napi_gro_flush
napi_gro_receive
__napi_schedule
napi_schedule_prep
@ -1354,7 +1426,9 @@
netif_receive_skb
netif_receive_skb_list
netif_rx
netif_tx_lock
netif_tx_stop_all_queues
netif_tx_unlock
netif_tx_wake_queue
netlink_broadcast
__netlink_kernel_create
@ -1381,6 +1455,7 @@
nr_cpu_ids
nr_irqs
ns_capable
ns_capable_noaudit
nsec_to_clock_t
ns_to_timespec64
__num_online_cpus
@ -1420,6 +1495,7 @@
of_genpd_add_provider_simple
of_get_child_by_name
of_get_cpu_node
of_get_drm_panel_display_mode
of_get_named_gpio_flags
of_get_next_available_child
of_get_next_child
@ -1482,6 +1558,7 @@
panic_notifier_list
param_array_ops
param_get_int
param_get_string
param_ops_bool
param_ops_byte
param_ops_charp
@ -1490,10 +1567,14 @@
param_ops_string
param_ops_uint
param_ops_ulong
param_set_copystring
param_set_int
pci_alloc_irq_vectors_affinity
pci_assign_resource
pci_clear_master
pci_disable_device
pci_disable_msi
pcie_capability_read_word
pci_enable_device
pci_enable_wake
pci_find_bus
@ -1501,6 +1582,9 @@
pci_find_ext_capability
pci_free_irq_vectors
pci_get_device
pci_iomap
pci_iounmap
pci_irq_vector
pci_load_and_free_saved_state
pci_load_saved_state
pci_msi_mask_irq
@ -1508,7 +1592,9 @@
pci_read_config_dword
pci_read_config_word
__pci_register_driver
pci_release_region
pci_release_regions
pci_request_region
pci_rescan_bus
pci_restore_msi_state
pci_restore_state
@ -1606,6 +1692,7 @@
__pm_runtime_use_autosuspend
__pm_stay_awake
pm_stay_awake
pm_system_wakeup
pm_wakeup_dev_event
pm_wakeup_ws_event
power_supply_changed
@ -1640,6 +1727,8 @@
proc_remove
proc_set_size
proc_symlink
proto_register
proto_unregister
pskb_expand_head
__pskb_pull_tail
___pskb_trim
@ -1660,17 +1749,22 @@
radix_tree_delete_item
radix_tree_gang_lookup
radix_tree_insert
radix_tree_iter_delete
radix_tree_lookup
radix_tree_next_chunk
radix_tree_preload
raise_softirq
___ratelimit
raw_notifier_call_chain
raw_notifier_chain_register
raw_notifier_chain_unregister
_raw_read_lock
_raw_read_lock_bh
_raw_read_lock_irq
_raw_read_lock_irqsave
_raw_read_unlock
_raw_read_unlock_bh
_raw_read_unlock_irq
_raw_read_unlock_irqrestore
_raw_spin_lock
_raw_spin_lock_bh
@ -1684,9 +1778,11 @@
_raw_spin_unlock_irq
_raw_spin_unlock_irqrestore
_raw_write_lock
_raw_write_lock_bh
_raw_write_lock_irq
_raw_write_lock_irqsave
_raw_write_unlock
_raw_write_unlock_bh
_raw_write_unlock_irq
_raw_write_unlock_irqrestore
rb_erase
@ -1701,6 +1797,7 @@
rdev_get_drvdata
rdev_get_id
reboot_mode
refcount_dec_not_one
refcount_warn_saturate
__refrigerator
regcache_cache_only
@ -1715,9 +1812,11 @@
register_inet6addr_notifier
register_inetaddr_notifier
register_kernel_break_hook
register_kretprobe
register_netdev
register_netdevice
register_netdevice_notifier
register_netevent_notifier
register_oom_notifier
register_pernet_device
register_pernet_subsys
@ -1752,6 +1851,7 @@
regulator_enable_regmap
regulator_get
regulator_get_optional
regulator_get_voltage
regulator_get_voltage_sel_regmap
regulator_is_enabled
regulator_is_enabled_regmap
@ -1760,17 +1860,20 @@
regulator_notifier_call_chain
regulator_put
regulator_set_active_discharge_regmap
regulator_set_load
regulator_set_voltage
regulator_set_voltage_sel_regmap
regulator_unregister
release_firmware
__release_region
release_sock
remap_pfn_range
remap_vmalloc_range
remove_cpu
remove_proc_entry
remove_wait_queue
request_firmware
request_firmware_direct
request_firmware_nowait
__request_percpu_irq
__request_region
@ -1855,6 +1958,7 @@
scsi_set_sense_information
scsi_unblock_requests
sdev_prefix_printk
send_sig_info
seq_hex_dump
seq_lseek
seq_open
@ -1865,6 +1969,7 @@
seq_read
seq_release
seq_release_private
seq_vprintf
seq_write
set_capacity
set_capacity_and_notify
@ -1905,20 +2010,25 @@
single_open
single_open_size
single_release
sk_alloc
skb_add_rx_frag
skb_checksum
skb_checksum_help
skb_clone
skb_clone_sk
skb_coalesce_rx_frag
skb_complete_wifi_ack
skb_copy
skb_copy_bits
skb_copy_datagram_iter
skb_copy_expand
skb_dequeue
skb_dequeue_tail
skb_ensure_writable
skb_free_datagram
__skb_get_hash
__skb_gso_segment
__skb_pad
skb_pull
skb_push
skb_put
@ -1926,7 +2036,11 @@
skb_queue_purge
skb_queue_tail
skb_realloc_headroom
skb_recv_datagram
skb_set_owner_w
skb_store_bits
skb_trim
sk_free
skip_spaces
smp_call_function
smp_call_function_single
@ -2003,8 +2117,22 @@
snd_soc_unregister_component
snprintf
soc_device_register
sock_alloc_send_pskb
__sock_create
sock_create_kern
sock_gettstamp
sock_init_data
sock_no_accept
sock_no_listen
sock_no_mmap
sock_no_sendpage
sock_no_shutdown
sock_no_socketpair
sock_queue_rcv_skb_reason
sock_register
sock_release
sock_setsockopt
sock_unregister
sock_wfree
softnet_data
sort
@ -2033,6 +2161,7 @@
srcu_notifier_chain_unregister
sscanf
__stack_chk_fail
static_key_count
static_key_disable
static_key_enable
static_key_slow_dec
@ -2042,6 +2171,7 @@
strcasecmp
strcat
strchr
strchrnul
strcmp
strcpy
strcspn
@ -2081,7 +2211,9 @@
synchronize_rcu
syscon_regmap_lookup_by_phandle
sysctl_sched_features
sysctl_sched_idle_min_granularity
sysctl_sched_latency
sysctl_sched_min_granularity
sysfs_add_file_to_group
sysfs_add_link_to_group
sysfs_create_file_ns
@ -2149,6 +2281,7 @@
thermal_zone_get_temp
thermal_zone_get_zone_by_name
thread_group_cputime_adjusted
tick_nohz_get_idle_calls_cpu
time64_to_tm
topology_update_thermal_pressure
_totalram_pages
@ -2173,6 +2306,9 @@
__traceiter_android_rvh_enqueue_task
__traceiter_android_rvh_enqueue_task_fair
__traceiter_android_rvh_find_lowest_rq
__traceiter_android_rvh_iommu_alloc_insert_iova
__traceiter_android_rvh_iommu_iovad_init_alloc_algo
__traceiter_android_rvh_iommu_limit_align_shift
__traceiter_android_rvh_irqs_disable
__traceiter_android_rvh_irqs_enable
__traceiter_android_rvh_post_init_entity_util_avg
@ -2182,6 +2318,7 @@
__traceiter_android_rvh_remove_entity_load_avg
__traceiter_android_rvh_rtmutex_prepare_setprio
__traceiter_android_rvh_sched_newidle_balance
__traceiter_android_rvh_sched_setaffinity
__traceiter_android_rvh_select_task_rq_fair
__traceiter_android_rvh_select_task_rq_rt
__traceiter_android_rvh_set_cpus_allowed_by_task
@ -2192,6 +2329,8 @@
__traceiter_android_rvh_set_user_nice_locked
__traceiter_android_rvh_typec_tcpci_get_vbus
__traceiter_android_rvh_uclamp_eff_get
__traceiter_android_rvh_ufs_complete_init
__traceiter_android_rvh_ufs_reprogram_all_keys
__traceiter_android_rvh_update_blocked_fair
__traceiter_android_rvh_update_load_avg
__traceiter_android_rvh_update_load_sum
@ -2208,6 +2347,7 @@
__traceiter_android_vh_dup_task_struct
__traceiter_android_vh_early_resume_begin
__traceiter_android_vh_enable_thermal_genl_check
__traceiter_android_vh_ep_create_wakeup_source
__traceiter_android_vh_filemap_get_folio
__traceiter_android_vh_ipi_stop
__traceiter_android_vh_meminfo_proc_show
@ -2221,6 +2361,7 @@
__traceiter_android_vh_setscheduler_uclamp
__traceiter_android_vh_si_meminfo_adjust
__traceiter_android_vh_sysrq_crash
__traceiter_android_vh_timerfd_create
__traceiter_android_vh_typec_store_partner_src_caps
__traceiter_android_vh_typec_tcpci_override_toggling
__traceiter_android_vh_typec_tcpm_get_timer
@ -2238,9 +2379,13 @@
__traceiter_android_vh_ufs_update_sysfs
__traceiter_android_vh_use_amu_fie
__traceiter_clock_set_rate
__traceiter_cma_alloc_finish
__traceiter_cma_alloc_start
__traceiter_cpu_frequency
__traceiter_cpu_idle
__traceiter_device_pm_callback_end
__traceiter_device_pm_callback_start
__traceiter_dwc3_readl
__traceiter_gpu_mem_total
__traceiter_hrtimer_expire_entry
__traceiter_hrtimer_expire_exit
@ -2280,6 +2425,9 @@
__tracepoint_android_rvh_enqueue_task
__tracepoint_android_rvh_enqueue_task_fair
__tracepoint_android_rvh_find_lowest_rq
__tracepoint_android_rvh_iommu_alloc_insert_iova
__tracepoint_android_rvh_iommu_iovad_init_alloc_algo
__tracepoint_android_rvh_iommu_limit_align_shift
__tracepoint_android_rvh_irqs_disable
__tracepoint_android_rvh_irqs_enable
__tracepoint_android_rvh_post_init_entity_util_avg
@ -2289,6 +2437,7 @@
__tracepoint_android_rvh_remove_entity_load_avg
__tracepoint_android_rvh_rtmutex_prepare_setprio
__tracepoint_android_rvh_sched_newidle_balance
__tracepoint_android_rvh_sched_setaffinity
__tracepoint_android_rvh_select_task_rq_fair
__tracepoint_android_rvh_select_task_rq_rt
__tracepoint_android_rvh_set_cpus_allowed_by_task
@ -2299,6 +2448,8 @@
__tracepoint_android_rvh_set_user_nice_locked
__tracepoint_android_rvh_typec_tcpci_get_vbus
__tracepoint_android_rvh_uclamp_eff_get
__tracepoint_android_rvh_ufs_complete_init
__tracepoint_android_rvh_ufs_reprogram_all_keys
__tracepoint_android_rvh_update_blocked_fair
__tracepoint_android_rvh_update_load_avg
__tracepoint_android_rvh_update_load_sum
@ -2315,6 +2466,7 @@
__tracepoint_android_vh_dup_task_struct
__tracepoint_android_vh_early_resume_begin
__tracepoint_android_vh_enable_thermal_genl_check
__tracepoint_android_vh_ep_create_wakeup_source
__tracepoint_android_vh_filemap_get_folio
__tracepoint_android_vh_ipi_stop
__tracepoint_android_vh_meminfo_proc_show
@ -2328,6 +2480,7 @@
__tracepoint_android_vh_setscheduler_uclamp
__tracepoint_android_vh_si_meminfo_adjust
__tracepoint_android_vh_sysrq_crash
__tracepoint_android_vh_timerfd_create
__tracepoint_android_vh_typec_store_partner_src_caps
__tracepoint_android_vh_typec_tcpci_override_toggling
__tracepoint_android_vh_typec_tcpm_get_timer
@ -2345,9 +2498,13 @@
__tracepoint_android_vh_ufs_update_sysfs
__tracepoint_android_vh_use_amu_fie
__tracepoint_clock_set_rate
__tracepoint_cma_alloc_finish
__tracepoint_cma_alloc_start
__tracepoint_cpu_frequency
__tracepoint_cpu_idle
__tracepoint_device_pm_callback_end
__tracepoint_device_pm_callback_start
__tracepoint_dwc3_readl
__tracepoint_gpu_mem_total
__tracepoint_hrtimer_expire_entry
__tracepoint_hrtimer_expire_exit
@ -2433,10 +2590,12 @@
unregister_chrdev_region
unregister_inet6addr_notifier
unregister_inetaddr_notifier
unregister_kretprobe
unregister_netdev
unregister_netdevice_many
unregister_netdevice_notifier
unregister_netdevice_queue
unregister_netevent_notifier
unregister_oom_notifier
unregister_pernet_device
unregister_pernet_subsys
@ -2451,6 +2610,7 @@
update_devfreq
___update_load_avg
___update_load_sum
update_misfit_status
update_rq_clock
up_read
up_write
@ -2585,6 +2745,7 @@
vring_del_virtqueue
vring_interrupt
vring_new_virtqueue
vscnprintf
vsnprintf
vunmap
vzalloc
@ -2592,6 +2753,7 @@
wait_for_completion
wait_for_completion_interruptible
wait_for_completion_interruptible_timeout
wait_for_completion_killable
wait_for_completion_timeout
wait_woken
__wake_up
@ -2609,9 +2771,12 @@
watchdog_set_restart_priority
watchdog_unregister_device
wireless_nlevent_flush
wireless_send_event
woken_wake_function
work_busy
__write_overflow_field
ww_mutex_lock
ww_mutex_unlock
__xa_alloc
xa_clear_mark
xa_destroy
@ -2620,11 +2785,13 @@
xa_find
xa_find_after
xa_get_mark
__xa_insert
xa_load
xa_set_mark
xas_find
xas_pause
__xa_store
xa_store
__xfrm_state_destroy
xfrm_state_lookup_byspi
xfrm_stateonly_find

View File

@ -308,6 +308,7 @@
clk_set_rate
clk_sync_state
clk_unprepare
clk_unregister_fixed_rate
close_candev
close_fd
cma_alloc
@ -648,6 +649,7 @@
devm_platform_ioremap_resource_byname
devm_power_supply_register
devm_pwm_get
devm_qcom_smem_state_get
devm_regmap_add_irq_chip
devm_regmap_del_irq_chip
devm_regmap_field_alloc
@ -1093,8 +1095,11 @@
ether_setup
eth_header_parse
eth_mac_addr
ethnl_cable_test_amplitude
ethnl_cable_test_fault_length
ethnl_cable_test_pulse
ethnl_cable_test_result
ethnl_cable_test_step
eth_platform_get_mac_address
eth_prepare_mac_addr_change
ethtool_convert_legacy_u32_to_link_mode
@ -1207,10 +1212,16 @@
genlmsg_put
genl_register_family
genl_unregister_family
genphy_c45_an_config_aneg
genphy_c45_check_and_restart_aneg
genphy_c45_pma_setup_forced
genphy_c45_read_status
genphy_check_and_restart_aneg
__genphy_config_aneg
genphy_read_abilities
genphy_read_mmd_unsupported
genphy_read_status
genphy_read_status_fixed
genphy_restart_aneg
genphy_resume
genphy_soft_reset
@ -1242,6 +1253,7 @@
get_option
get_page_owner_handle
get_pfnblock_flags_mask
get_phy_device
get_pid_task
get_random_bytes
get_random_u16
@ -1388,6 +1400,7 @@
__hvc_resize
__hw_addr_init
__hw_addr_sync
__hw_addr_sync_dev
__hw_addr_unsync
hwrng_register
hwrng_unregister
@ -1483,6 +1496,7 @@
ieee802154_xmit_hw_error
iio_buffer_init
iio_buffer_put
iio_channel_get
iio_device_attach_buffer
iio_device_claim_direct_mode
iio_device_release_direct_mode
@ -2013,6 +2027,7 @@
netdev_change_features
netdev_core_stats_alloc
netdev_err
netdev_features_change
netdev_increment_features
netdev_info
netdev_lower_state_changed
@ -2189,6 +2204,7 @@
of_match_device
of_match_node
__of_mdiobus_register
of_mdio_find_bus
of_modalias_node
of_n_addr_cells
of_node_name_eq
@ -2273,6 +2289,7 @@
pci_disable_device
pci_disable_msi
pcie_capability_clear_and_set_word
pcie_capability_read_dword
pcie_capability_read_word
pci_enable_device
pci_enable_pcie_error_reporting
@ -2293,11 +2310,13 @@
pci_read_config_word
__pci_register_driver
pci_release_region
pci_remove_root_bus
pci_request_region
pci_restore_state
pci_save_state
pci_set_master
pci_set_power_state
pci_stop_root_bus
pci_store_saved_state
pci_unregister_driver
pci_walk_bus
@ -2328,6 +2347,9 @@
perf_trace_run_bpf_submit
phy_attached_info
phy_calibrate
phy_config_aneg
phy_device_free
phy_device_register
phy_do_ioctl_running
phy_drivers_register
phy_drivers_unregister
@ -2335,6 +2357,7 @@
phy_ethtool_get_wol
phy_ethtool_set_wol
phy_exit
phy_gbit_fibre_features
phy_init
phy_init_eee
phy_init_hw
@ -2367,12 +2390,18 @@
phylink_start
phylink_stop
phylink_suspend
phy_lookup_setting
phy_loopback
phy_mac_interrupt
phy_modify
phy_modify_mmd
phy_modify_mmd_changed
phy_power_off
phy_power_on
phy_read_mmd
phy_resolve_aneg_linkmode
phy_restart_aneg
phy_set_max_speed
phy_set_mode_ext
phy_suspend
phy_trigger_machine
@ -3434,6 +3463,7 @@
__traceiter_android_vh_show_suspend_epoch_val
__traceiter_android_vh_skip_swap_map_write
__traceiter_android_vh_timer_calc_index
__traceiter_android_vh_try_fixup_sea
__traceiter_android_vh_ufs_check_int_errors
__traceiter_android_vh_ufs_compl_command
__traceiter_android_vh_ufs_send_command
@ -3582,6 +3612,7 @@
__tracepoint_android_vh_show_suspend_epoch_val
__tracepoint_android_vh_skip_swap_map_write
__tracepoint_android_vh_timer_calc_index
__tracepoint_android_vh_try_fixup_sea
__tracepoint_android_vh_ufs_check_int_errors
__tracepoint_android_vh_ufs_compl_command
__tracepoint_android_vh_ufs_send_command
@ -3804,6 +3835,8 @@
usb_free_urb
usb_function_register
usb_function_unregister
usb_gadget_connect
usb_gadget_disconnect
usb_gadget_wakeup
usb_get_dev
usb_get_from_anchor

View File

@ -2,6 +2,7 @@
# commonly used symbols
add_timer
alloc_chrdev_region
alloc_etherdev_mqs
alloc_iova_fast
__alloc_pages
__alloc_skb
@ -827,9 +828,25 @@
param_ops_int
param_ops_string
param_ops_uint
param_ops_ulong
pci_disable_device
pci_disable_link_state
pcie_capability_clear_and_set_word
pci_find_capability
pcim_enable_device
pcim_iomap_table
pcim_pin_device
pci_read_config_byte
pci_read_config_dword
pci_read_config_word
__pci_register_driver
pci_restore_state
pci_save_state
pci_set_master
pci_set_power_state
pci_unregister_driver
pci_write_config_dword
pci_write_config_word
__per_cpu_offset
perf_trace_buf_alloc
perf_trace_run_bpf_submit
@ -1023,7 +1040,11 @@
sched_set_fifo
schedule
schedule_timeout
schedule_timeout_uninterruptible
scnprintf
scsi_command_size_tbl
scsi_device_get
scsi_device_put
__sdhci_add_host
sdhci_cleanup_host
sdhci_enable_clk
@ -1247,6 +1268,15 @@
usb_submit_urb
__usecs_to_jiffies
usleep_range_state
__v4l2_async_nf_add_fwnode_remote
v4l2_async_nf_cleanup
v4l2_async_nf_init
v4l2_async_nf_parse_fwnode_endpoints
v4l2_async_nf_register
v4l2_async_register_subdev
v4l2_async_register_subdev_sensor
v4l2_async_subdev_nf_register
v4l2_async_unregister_subdev
v4l2_ctrl_find
v4l2_ctrl_g_ctrl
v4l2_ctrl_g_ctrl_int64
@ -1274,6 +1304,9 @@
v4l2_event_subscribe
v4l2_event_unsubscribe
v4l2_fh_open
v4l2_fwnode_endpoint_alloc_parse
v4l2_fwnode_endpoint_free
v4l2_fwnode_endpoint_parse
v4l2_i2c_subdev_init
v4l2_match_dv_timings
v4l2_pipeline_link_notify
@ -1325,6 +1358,7 @@
vunmap
vzalloc
wait_for_completion
wait_for_completion_interruptible
wait_for_completion_timeout
__wake_up
wake_up_process
@ -1346,15 +1380,23 @@
skcipher_walk_aead_decrypt
skcipher_walk_aead_encrypt
# required by ahci.ko
pci_alloc_irq_vectors_affinity
pci_free_irq_vectors
pci_intx
pci_irq_vector
pci_match_id
pcim_iomap_regions_request_all
sysfs_add_file_to_group
sysfs_remove_file_from_group
# required by analogix_dp.ko
drm_atomic_get_old_connector_for_encoder
# required by aspm_ext.ko
pci_find_capability
pci_find_ext_capability
# required by bcmdhd.ko
alloc_etherdev_mqs
cpu_bit_bitmap
down_interruptible
down_timeout
@ -1873,6 +1915,60 @@
# required by ledtrig-heartbeat.ko
avenrun
# required by libahci.ko
__printk_ratelimit
# required by libahci_platform.ko
reset_control_rearm
# required by libata.ko
async_schedule_node
async_synchronize_cookie
attribute_container_register
attribute_container_unregister
autoremove_wake_function
blk_abort_request
blk_queue_max_hw_sectors
blk_queue_max_segments
blk_queue_update_dma_alignment
blk_queue_update_dma_pad
glob_match
pci_bus_type
pcim_iomap_regions
prepare_to_wait
__scsi_add_device
scsi_add_host_with_dma
scsi_build_sense
scsi_change_queue_depth
scsi_check_sense
scsi_device_set_state
scsi_done
scsi_eh_finish_cmd
scsi_eh_flush_done_q
scsi_execute_cmd
__scsi_format_command
scsi_host_alloc
scsi_host_put
scsi_remove_device
scsi_remove_host
scsi_rescan_device
scsi_schedule_eh
scsi_sense_desc_find
scsi_set_sense_field_pointer
scsi_set_sense_information
sdev_evt_send_simple
system_entering_hibernation
trace_seq_printf
trace_seq_putc
transport_add_device
transport_class_register
transport_class_unregister
transport_configure_device
transport_destroy_device
transport_remove_device
transport_setup_device
vscnprintf
# required by mac80211.ko
alloc_netdev_mqs
__alloc_percpu_gfp
@ -2787,9 +2883,11 @@
# required by video_rkcif.ko
media_entity_setup_link
__v4l2_async_nf_add_fwnode
# required by video_rkisp.ko
param_ops_ullong
v4l2_async_nf_unregister
v4l2_ctrl_poll
# required by videobuf2-cma-sg.ko

View File

@ -0,0 +1,37 @@
[abi_symbol_list]
# required by delayacct
set_delayacct_enabled
__traceiter_android_rvh_delayacct_init
__traceiter_android_rvh_delayacct_tsk_init
__traceiter_android_rvh_delayacct_tsk_free
__traceiter_android_vh_delayacct_blkio_start
__traceiter_android_vh_delayacct_blkio_end
__traceiter_android_vh_delayacct_add_tsk
__traceiter_android_vh_delayacct_blkio_ticks
__traceiter_android_vh_delayacct_freepages_start
__traceiter_android_vh_delayacct_freepages_end
__traceiter_android_vh_delayacct_thrashing_start
__traceiter_android_vh_delayacct_thrashing_end
__traceiter_android_vh_delayacct_swapin_start
__traceiter_android_vh_delayacct_swapin_end
__traceiter_android_vh_delayacct_compact_start
__traceiter_android_vh_delayacct_compact_end
__traceiter_android_vh_delayacct_wpcopy_start
__traceiter_android_vh_delayacct_wpcopy_end
__tracepoint_android_rvh_delayacct_init
__tracepoint_android_rvh_delayacct_tsk_init
__tracepoint_android_rvh_delayacct_tsk_free
__tracepoint_android_vh_delayacct_blkio_start
__tracepoint_android_vh_delayacct_blkio_end
__tracepoint_android_vh_delayacct_add_tsk
__tracepoint_android_vh_delayacct_blkio_ticks
__tracepoint_android_vh_delayacct_freepages_start
__tracepoint_android_vh_delayacct_freepages_end
__tracepoint_android_vh_delayacct_thrashing_start
__tracepoint_android_vh_delayacct_thrashing_end
__tracepoint_android_vh_delayacct_swapin_start
__tracepoint_android_vh_delayacct_swapin_end
__tracepoint_android_vh_delayacct_compact_start
__tracepoint_android_vh_delayacct_compact_end
__tracepoint_android_vh_delayacct_wpcopy_start
__tracepoint_android_vh_delayacct_wpcopy_end

View File

@ -314,6 +314,7 @@
pci_iounmap
pci_read_config_byte
pci_read_config_dword
pci_read_config_word
__pci_register_driver
pci_release_region
pci_request_region
@ -440,6 +441,7 @@
sysfs_remove_group
sysfs_remove_link
system_freezable_wq
system_unbound_wq
system_wq
__tasklet_schedule
tasklet_setup
@ -896,6 +898,13 @@
vlan_vids_add_by_dev
vlan_vids_del_by_dev
# required by open-dice.ko
devm_memremap
devm_memunmap
of_reserved_mem_lookup
__platform_driver_probe
vm_iomap_memory
# required by pl111_drm.ko
__clk_get_name
clk_hw_get_parent
@ -1142,6 +1151,7 @@
page_relinquish
page_reporting_register
page_reporting_unregister
post_page_relinquish_tlb_inv
register_oom_notifier
register_shrinker
__SetPageMovable

View File

@ -341,3 +341,21 @@
#required by zram.ko
bioset_init
bioset_exit
#required by mi_asap.ko
__traceiter_android_vh_read_pages
__tracepoint_android_vh_read_pages
page_cache_sync_ra
page_cache_async_ra
pagecache_get_page
filemap_get_folios
find_get_pages_range_tag
#required by bcmdhd.ko
nla_append
sdio_writew
sdio_readw
#required by speed_ui.ko
__tracepoint_android_rvh_update_cpus_allowed
__traceiter_android_rvh_update_cpus_allowed

View File

@ -271,13 +271,6 @@ OMAP3_CORE1_IOPAD(0x21c4, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c3_sda */
>;
};
leds_pins: pinmux_leds_pins {
pinctrl-single,pins = <
OMAP3_WKUP_IOPAD(0x2a24, PIN_OUTPUT_PULLUP | MUX_MODE4) /* jtag_emu0.gpio_11 */
OMAP3_WKUP_IOPAD(0x2a26, PIN_OUTPUT_PULLUP | MUX_MODE4) /* jtag_emu1.gpio_31 */
>;
};
mmc1_pins: pinmux_mmc1_pins {
pinctrl-single,pins = <
OMAP3_CORE1_IOPAD(0x2144, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_clk.sdmmc1_clk */
@ -355,3 +348,12 @@ OMAP3430_CORE2_IOPAD(0x25e2, PIN_INPUT | MUX_MODE3) /* etk_d3.hsusb1_data7 */
>;
};
};
&omap3_pmx_wkup {
leds_pins: pinmux_leds_pins {
pinctrl-single,pins = <
OMAP3_WKUP_IOPAD(0x2a24, PIN_OUTPUT_PULLUP | MUX_MODE4) /* jtag_emu0.gpio_11 */
OMAP3_WKUP_IOPAD(0x2a26, PIN_OUTPUT_PULLUP | MUX_MODE4) /* jtag_emu1.gpio_31 */
>;
};
};

View File

@ -8,6 +8,7 @@
#include "imx28-lwe.dtsi"
/ {
model = "Liebherr XEA board";
compatible = "lwn,imx28-xea", "fsl,imx28";
};

View File

@ -121,6 +121,8 @@ ethphy1: ethernet-phy@1 {
max-speed = <100>;
interrupt-parent = <&gpio5>;
interrupts = <6 IRQ_TYPE_LEVEL_LOW>;
clocks = <&clks IMX6UL_CLK_ENET_REF>;
clock-names = "rmii-ref";
};
};
};

View File

@ -454,7 +454,7 @@ iomuxc_lpsr: pinctrl@302c0000 {
};
gpt1: timer@302d0000 {
compatible = "fsl,imx7d-gpt", "fsl,imx6sx-gpt";
compatible = "fsl,imx7d-gpt", "fsl,imx6dl-gpt";
reg = <0x302d0000 0x10000>;
interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&clks IMX7D_GPT1_ROOT_CLK>,
@ -463,7 +463,7 @@ gpt1: timer@302d0000 {
};
gpt2: timer@302e0000 {
compatible = "fsl,imx7d-gpt", "fsl,imx6sx-gpt";
compatible = "fsl,imx7d-gpt", "fsl,imx6dl-gpt";
reg = <0x302e0000 0x10000>;
interrupts = <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&clks IMX7D_GPT2_ROOT_CLK>,
@ -473,7 +473,7 @@ gpt2: timer@302e0000 {
};
gpt3: timer@302f0000 {
compatible = "fsl,imx7d-gpt", "fsl,imx6sx-gpt";
compatible = "fsl,imx7d-gpt", "fsl,imx6dl-gpt";
reg = <0x302f0000 0x10000>;
interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&clks IMX7D_GPT3_ROOT_CLK>,
@ -483,7 +483,7 @@ gpt3: timer@302f0000 {
};
gpt4: timer@30300000 {
compatible = "fsl,imx7d-gpt", "fsl,imx6sx-gpt";
compatible = "fsl,imx7d-gpt", "fsl,imx6dl-gpt";
reg = <0x30300000 0x10000>;
interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&clks IMX7D_GPT4_ROOT_CLK>,

View File

@ -640,6 +640,7 @@ &uart1 {
&uart3 {
interrupts-extended = <&wakeupgen GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH
&omap4_pmx_core 0x17c>;
overrun-throttle-ms = <500>;
};
&uart4 {

View File

@ -109,6 +109,8 @@ mcbsp1: mcbsp@0 {
reg = <0x0 0xff>, /* MPU private access */
<0x49022000 0xff>; /* L3 Interconnect */
reg-names = "mpu", "dma";
clocks = <&abe_clkctrl OMAP4_MCBSP1_CLKCTRL 24>;
clock-names = "fck";
interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>;
interrupt-names = "common";
ti,buffer-size = <128>;
@ -142,6 +144,8 @@ mcbsp2: mcbsp@0 {
reg = <0x0 0xff>, /* MPU private access */
<0x49024000 0xff>; /* L3 Interconnect */
reg-names = "mpu", "dma";
clocks = <&abe_clkctrl OMAP4_MCBSP2_CLKCTRL 24>;
clock-names = "fck";
interrupts = <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>;
interrupt-names = "common";
ti,buffer-size = <128>;
@ -175,6 +179,8 @@ mcbsp3: mcbsp@0 {
reg = <0x0 0xff>, /* MPU private access */
<0x49026000 0xff>; /* L3 Interconnect */
reg-names = "mpu", "dma";
clocks = <&abe_clkctrl OMAP4_MCBSP3_CLKCTRL 24>;
clock-names = "fck";
interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
interrupt-names = "common";
ti,buffer-size = <128>;

View File

@ -2043,6 +2043,8 @@ mcbsp4: mcbsp@0 {
compatible = "ti,omap4-mcbsp";
reg = <0x0 0xff>; /* L4 Interconnect */
reg-names = "mpu";
clocks = <&l4_per_clkctrl OMAP4_MCBSP4_CLKCTRL 24>;
clock-names = "fck";
interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>;
interrupt-names = "common";
ti,buffer-size = <128>;

View File

@ -109,6 +109,8 @@ mcbsp1: mcbsp@0 {
reg = <0x0 0xff>, /* MPU private access */
<0x49022000 0xff>; /* L3 Interconnect */
reg-names = "mpu", "dma";
clocks = <&abe_clkctrl OMAP5_MCBSP1_CLKCTRL 24>;
clock-names = "fck";
interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>;
interrupt-names = "common";
ti,buffer-size = <128>;
@ -142,6 +144,8 @@ mcbsp2: mcbsp@0 {
reg = <0x0 0xff>, /* MPU private access */
<0x49024000 0xff>; /* L3 Interconnect */
reg-names = "mpu", "dma";
clocks = <&abe_clkctrl OMAP5_MCBSP2_CLKCTRL 24>;
clock-names = "fck";
interrupts = <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>;
interrupt-names = "common";
ti,buffer-size = <128>;
@ -175,6 +179,8 @@ mcbsp3: mcbsp@0 {
reg = <0x0 0xff>, /* MPU private access */
<0x49026000 0xff>; /* L3 Interconnect */
reg-names = "mpu", "dma";
clocks = <&abe_clkctrl OMAP5_MCBSP3_CLKCTRL 24>;
clock-names = "fck";
interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
interrupt-names = "common";
ti,buffer-size = <128>;

View File

@ -82,14 +82,12 @@ cxo_board {
};
};
regulators {
vsdcc_fixed: vsdcc-regulator {
compatible = "regulator-fixed";
regulator-name = "SDCC Power";
regulator-min-microvolt = <2700000>;
regulator-max-microvolt = <2700000>;
regulator-always-on;
};
vsdcc_fixed: vsdcc-regulator {
compatible = "regulator-fixed";
regulator-name = "SDCC Power";
regulator-min-microvolt = <2700000>;
regulator-max-microvolt = <2700000>;
regulator-always-on;
};
soc: soc {

View File

@ -239,7 +239,7 @@ du1_pins: du1 {
};
keyboard_pins: keyboard {
pins = "GP_3_10", "GP_3_11", "GP_3_12", "GP_3_15", "GP_11_02";
pins = "GP_3_10", "GP_3_11", "GP_3_12", "GP_3_15", "GP_11_2";
bias-pull-up;
};

View File

@ -10,10 +10,6 @@
#include <linux/interrupt.h>
#ifdef CONFIG_FUNCTION_GRAPH_TRACER
#define __exception_irq_entry __irq_entry
#else
#define __exception_irq_entry
#endif
#endif /* __ASM_ARM_EXCEPTION_H */

View File

@ -17,6 +17,7 @@ ENTRY(__memset)
ENTRY(mmioset)
WEAK(memset)
UNWIND( .fnstart )
and r1, r1, #255 @ cast to unsigned char
ands r3, r0, #3 @ 1 unaligned?
mov ip, r0 @ preserve r0 as return value
bne 6f @ 1

View File

@ -502,6 +502,10 @@ static int imx_mmdc_perf_init(struct platform_device *pdev, void __iomem *mmdc_b
name = devm_kasprintf(&pdev->dev,
GFP_KERNEL, "mmdc%d", ret);
if (!name) {
ret = -ENOMEM;
goto pmu_release_id;
}
pmu_mmdc->mmdc_ipg_clk = mmdc_ipg_clk;
pmu_mmdc->devtype_data = (struct fsl_mmdc_devtype_data *)of_id->data;
@ -524,9 +528,10 @@ static int imx_mmdc_perf_init(struct platform_device *pdev, void __iomem *mmdc_b
pmu_register_err:
pr_warn("MMDC Perf PMU failed (%d), disabled\n", ret);
ida_simple_remove(&mmdc_ida, pmu_mmdc->id);
cpuhp_state_remove_instance_nocalls(cpuhp_mmdc_state, &pmu_mmdc->node);
hrtimer_cancel(&pmu_mmdc->hrtimer);
pmu_release_id:
ida_simple_remove(&mmdc_ida, pmu_mmdc->id);
pmu_free:
kfree(pmu_mmdc);
return ret;

View File

@ -176,17 +176,18 @@ static u64 notrace omap_32k_read_sched_clock(void)
return sync32k_cnt_reg ? readl_relaxed(sync32k_cnt_reg) : 0;
}
static struct timespec64 persistent_ts;
static cycles_t cycles;
static unsigned int persistent_mult, persistent_shift;
/**
* omap_read_persistent_clock64 - Return time from a persistent clock.
* @ts: &struct timespec64 for the returned time
*
* Reads the time from a source which isn't disabled during PM, the
* 32k sync timer. Convert the cycles elapsed since last read into
* nsecs and adds to a monotonically increasing timespec64.
*/
static struct timespec64 persistent_ts;
static cycles_t cycles;
static unsigned int persistent_mult, persistent_shift;
static void omap_read_persistent_clock64(struct timespec64 *ts)
{
unsigned long long nsecs;
@ -206,10 +207,9 @@ static void omap_read_persistent_clock64(struct timespec64 *ts)
/**
* omap_init_clocksource_32k - setup and register counter 32k as a
* kernel clocksource
* @pbase: base addr of counter_32k module
* @size: size of counter_32k to map
* @vbase: base addr of counter_32k module
*
* Returns 0 upon success or negative error code upon failure.
* Returns: %0 upon success or negative error code upon failure.
*
*/
static int __init omap_init_clocksource_32k(void __iomem *vbase)

View File

@ -207,7 +207,7 @@ static void xen_power_off(void)
static irqreturn_t xen_arm_callback(int irq, void *arg)
{
xen_hvm_evtchn_do_upcall();
xen_evtchn_do_upcall();
return IRQ_HANDLED;
}
@ -487,7 +487,8 @@ static int __init xen_guest_init(void)
* for secondary CPUs as they are brought up.
* For uniformity we use VCPUOP_register_vcpu_info even on cpu0.
*/
xen_vcpu_info = alloc_percpu(struct vcpu_info);
xen_vcpu_info = __alloc_percpu(sizeof(struct vcpu_info),
1 << fls(sizeof(struct vcpu_info) - 1));
if (xen_vcpu_info == NULL)
return -ENOMEM;

View File

@ -642,7 +642,6 @@ config ARM64_WORKAROUND_REPEAT_TLBI
config ARM64_ERRATUM_2441007
bool "Cortex-A55: Completion of affected memory accesses might not be guaranteed by completion of a TLBI"
default y
select ARM64_WORKAROUND_REPEAT_TLBI
help
This option adds a workaround for ARM Cortex-A55 erratum #2441007.
@ -881,7 +880,6 @@ config ARM64_ERRATUM_2224489
config ARM64_ERRATUM_2441009
bool "Cortex-A510: Completion of affected memory accesses might not be guaranteed by completion of a TLBI"
default y
select ARM64_WORKAROUND_REPEAT_TLBI
help
This option adds a workaround for ARM Cortex-A510 erratum #2441009.
@ -1309,6 +1307,8 @@ choice
config CPU_BIG_ENDIAN
bool "Build big-endian kernel"
depends on !LD_IS_LLD || LLD_VERSION >= 130000
# https://github.com/llvm/llvm-project/commit/1379b150991f70a5782e9a143c2ba5308da1161c
depends on AS_IS_GNU || AS_VERSION >= 150000
help
Say Y if you plan on running a kernel with a big-endian userspace.

View File

@ -1186,26 +1186,34 @@ sata1: sata@3210000 {
dma-coherent;
};
usb0: usb@3100000 {
status = "disabled";
compatible = "snps,dwc3";
reg = <0x0 0x3100000 0x0 0x10000>;
interrupts = <0 80 0x4>; /* Level high type */
dr_mode = "host";
snps,quirk-frame-length-adjustment = <0x20>;
snps,dis_rxdet_inp3_quirk;
snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
};
bus: bus {
#address-cells = <2>;
#size-cells = <2>;
compatible = "simple-bus";
ranges;
dma-ranges = <0x0 0x0 0x0 0x0 0x100 0x00000000>;
usb1: usb@3110000 {
status = "disabled";
compatible = "snps,dwc3";
reg = <0x0 0x3110000 0x0 0x10000>;
interrupts = <0 81 0x4>; /* Level high type */
dr_mode = "host";
snps,quirk-frame-length-adjustment = <0x20>;
snps,dis_rxdet_inp3_quirk;
snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
usb0: usb@3100000 {
compatible = "snps,dwc3";
reg = <0x0 0x3100000 0x0 0x10000>;
interrupts = <0 80 0x4>; /* Level high type */
dr_mode = "host";
snps,quirk-frame-length-adjustment = <0x20>;
snps,dis_rxdet_inp3_quirk;
snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
status = "disabled";
};
usb1: usb@3110000 {
compatible = "snps,dwc3";
reg = <0x0 0x3110000 0x0 0x10000>;
interrupts = <0 81 0x4>; /* Level high type */
dr_mode = "host";
snps,quirk-frame-length-adjustment = <0x20>;
snps,dis_rxdet_inp3_quirk;
snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
status = "disabled";
};
};
ccn@4000000 {

View File

@ -398,6 +398,7 @@ micfil: audio-controller@30080000 {
"pll8k", "pll11k", "clkext3";
dmas = <&sdma2 24 25 0x80000000>;
dma-names = "rx";
#sound-dai-cells = <0>;
status = "disabled";
};

View File

@ -27,6 +27,7 @@ reg_eth_phy: regulator-eth-phy {
regulator-name = "eth_phy_pwr";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-enable-ramp-delay = <20000>;
gpio = <&gpio2 9 GPIO_ACTIVE_HIGH>;
enable-active-high;
};

View File

@ -370,6 +370,7 @@ micfil: audio-controller@30080000 {
"pll8k", "pll11k", "clkext3";
dmas = <&sdma2 24 25 0x80000000>;
dma-names = "rx";
#sound-dai-cells = <0>;
status = "disabled";
};

View File

@ -1301,6 +1301,7 @@ usb_dwc3_0: usb@38100000 {
phys = <&usb3_phy0>, <&usb3_phy0>;
phy-names = "usb2-phy", "usb3-phy";
snps,gfladj-refclk-lpm-sel-quirk;
snps,parkmode-disable-ss-quirk;
};
};
@ -1343,6 +1344,7 @@ usb_dwc3_1: usb@38200000 {
phys = <&usb3_phy1>, <&usb3_phy1>;
phy-names = "usb2-phy", "usb3-phy";
snps,gfladj-refclk-lpm-sel-quirk;
snps,parkmode-disable-ss-quirk;
};
};

View File

@ -1431,7 +1431,7 @@ usb_dwc3_0: usb@38100000 {
phys = <&usb3_phy0>, <&usb3_phy0>;
phy-names = "usb2-phy", "usb3-phy";
power-domains = <&pgc_otg1>;
usb3-resume-missing-cas;
snps,parkmode-disable-ss-quirk;
status = "disabled";
};
@ -1463,7 +1463,7 @@ usb_dwc3_1: usb@38200000 {
phys = <&usb3_phy1>, <&usb3_phy1>;
phy-names = "usb2-phy", "usb3-phy";
power-domains = <&pgc_otg2>;
usb3-resume-missing-cas;
snps,parkmode-disable-ss-quirk;
status = "disabled";
};

View File

@ -8,5 +8,5 @@ &jpegdec {
};
&jpegenc {
compatible = "nxp,imx8qm-jpgdec", "nxp,imx8qxp-jpgenc";
compatible = "nxp,imx8qm-jpgenc", "nxp,imx8qxp-jpgenc";
};

View File

@ -120,7 +120,7 @@ cp0_sdhci_pins: cp0-sdhi-pins-0 {
"mpp59", "mpp60", "mpp61";
marvell,function = "sdio";
};
cp0_spi0_pins: cp0-spi-pins-0 {
cp0_spi1_pins: cp0-spi-pins-1 {
marvell,pins = "mpp13", "mpp14", "mpp15", "mpp16";
marvell,function = "spi1";
};
@ -170,7 +170,7 @@ &cp0_sdhci0 {
&cp0_spi1 {
pinctrl-names = "default";
pinctrl-0 = <&cp0_spi0_pins>;
pinctrl-0 = <&cp0_spi1_pins>;
reg = <0x700680 0x50>, /* control */
<0x2000000 0x1000000>; /* CS0 */
status = "okay";

View File

@ -307,7 +307,7 @@ &cp0_sdhci0 {
&cp0_spi1 {
status = "disabled";
pinctrl-names = "default";
pinctrl-0 = <&cp0_spi0_pins>;
pinctrl-0 = <&cp0_spi1_pins>;
reg = <0x700680 0x50>;
flash@0 {
@ -371,7 +371,7 @@ cp0_sdhci_pins: cp0-sdhi-pins-0 {
"mpp59", "mpp60", "mpp61";
marvell,function = "sdio";
};
cp0_spi0_pins: cp0-spi-pins-0 {
cp0_spi1_pins: cp0-spi-pins-1 {
marvell,pins = "mpp13", "mpp14", "mpp15", "mpp16";
marvell,function = "spi1";
};

View File

@ -72,7 +72,7 @@ led-1 {
};
};
memory {
memory@40000000 {
reg = <0 0x40000000 0 0x40000000>;
};

View File

@ -54,7 +54,7 @@ key-wps {
};
};
memory {
memory@40000000 {
reg = <0 0x40000000 0 0x20000000>;
};

View File

@ -43,7 +43,7 @@ extcon_usb: extcon_iddig {
id-gpio = <&pio 16 GPIO_ACTIVE_HIGH>;
};
usb_p1_vbus: regulator@0 {
usb_p1_vbus: regulator-usb-p1 {
compatible = "regulator-fixed";
regulator-name = "usb_vbus";
regulator-min-microvolt = <5000000>;
@ -52,7 +52,7 @@ usb_p1_vbus: regulator@0 {
enable-active-high;
};
usb_p0_vbus: regulator@1 {
usb_p0_vbus: regulator-usb-p0 {
compatible = "regulator-fixed";
regulator-name = "vbus";
regulator-min-microvolt = <5000000>;

View File

@ -30,14 +30,14 @@ reserved-memory {
#address-cells = <2>;
#size-cells = <2>;
ranges;
scp_mem_reserved: scp_mem_region {
scp_mem_reserved: memory@50000000 {
compatible = "shared-dma-pool";
reg = <0 0x50000000 0 0x2900000>;
no-map;
};
};
ntc@0 {
thermal-sensor {
compatible = "murata,ncp03wf104";
pullup-uv = <1800000>;
pullup-ohm = <390000>;
@ -139,8 +139,8 @@ &mmc1 {
};
&pio {
i2c_pins_0: i2c0{
pins_i2c{
i2c_pins_0: i2c0 {
pins_i2c {
pinmux = <PINMUX_GPIO82__FUNC_SDA0>,
<PINMUX_GPIO83__FUNC_SCL0>;
mediatek,pull-up-adv = <3>;
@ -148,8 +148,8 @@ pins_i2c{
};
};
i2c_pins_1: i2c1{
pins_i2c{
i2c_pins_1: i2c1 {
pins_i2c {
pinmux = <PINMUX_GPIO81__FUNC_SDA1>,
<PINMUX_GPIO84__FUNC_SCL1>;
mediatek,pull-up-adv = <3>;
@ -157,8 +157,8 @@ pins_i2c{
};
};
i2c_pins_2: i2c2{
pins_i2c{
i2c_pins_2: i2c2 {
pins_i2c {
pinmux = <PINMUX_GPIO103__FUNC_SCL2>,
<PINMUX_GPIO104__FUNC_SDA2>;
mediatek,pull-up-adv = <3>;
@ -166,8 +166,8 @@ pins_i2c{
};
};
i2c_pins_3: i2c3{
pins_i2c{
i2c_pins_3: i2c3 {
pins_i2c {
pinmux = <PINMUX_GPIO50__FUNC_SCL3>,
<PINMUX_GPIO51__FUNC_SDA3>;
mediatek,pull-up-adv = <3>;
@ -175,8 +175,8 @@ pins_i2c{
};
};
i2c_pins_4: i2c4{
pins_i2c{
i2c_pins_4: i2c4 {
pins_i2c {
pinmux = <PINMUX_GPIO105__FUNC_SCL4>,
<PINMUX_GPIO106__FUNC_SDA4>;
mediatek,pull-up-adv = <3>;
@ -184,8 +184,8 @@ pins_i2c{
};
};
i2c_pins_5: i2c5{
pins_i2c{
i2c_pins_5: i2c5 {
pins_i2c {
pinmux = <PINMUX_GPIO48__FUNC_SCL5>,
<PINMUX_GPIO49__FUNC_SDA5>;
mediatek,pull-up-adv = <3>;
@ -193,8 +193,8 @@ pins_i2c{
};
};
spi_pins_0: spi0{
pins_spi{
spi_pins_0: spi0 {
pins_spi {
pinmux = <PINMUX_GPIO85__FUNC_SPI0_MI>,
<PINMUX_GPIO86__FUNC_SPI0_CSB>,
<PINMUX_GPIO87__FUNC_SPI0_MO>,
@ -308,8 +308,8 @@ pins_clk {
};
};
spi_pins_1: spi1{
pins_spi{
spi_pins_1: spi1 {
pins_spi {
pinmux = <PINMUX_GPIO161__FUNC_SPI1_A_MI>,
<PINMUX_GPIO162__FUNC_SPI1_A_CSB>,
<PINMUX_GPIO163__FUNC_SPI1_A_MO>,
@ -318,8 +318,8 @@ pins_spi{
};
};
spi_pins_2: spi2{
pins_spi{
spi_pins_2: spi2 {
pins_spi {
pinmux = <PINMUX_GPIO0__FUNC_SPI2_CSB>,
<PINMUX_GPIO1__FUNC_SPI2_MO>,
<PINMUX_GPIO2__FUNC_SPI2_CLK>,
@ -328,8 +328,8 @@ pins_spi{
};
};
spi_pins_3: spi3{
pins_spi{
spi_pins_3: spi3 {
pins_spi {
pinmux = <PINMUX_GPIO21__FUNC_SPI3_MI>,
<PINMUX_GPIO22__FUNC_SPI3_CSB>,
<PINMUX_GPIO23__FUNC_SPI3_MO>,
@ -338,8 +338,8 @@ pins_spi{
};
};
spi_pins_4: spi4{
pins_spi{
spi_pins_4: spi4 {
pins_spi {
pinmux = <PINMUX_GPIO17__FUNC_SPI4_MI>,
<PINMUX_GPIO18__FUNC_SPI4_CSB>,
<PINMUX_GPIO19__FUNC_SPI4_MO>,
@ -348,8 +348,8 @@ pins_spi{
};
};
spi_pins_5: spi5{
pins_spi{
spi_pins_5: spi5 {
pins_spi {
pinmux = <PINMUX_GPIO13__FUNC_SPI5_MI>,
<PINMUX_GPIO14__FUNC_SPI5_CSB>,
<PINMUX_GPIO15__FUNC_SPI5_MO>,

View File

@ -101,6 +101,8 @@ cros_ec_pwm: pwm {
&dsi0 {
status = "okay";
/delete-property/#size-cells;
/delete-property/#address-cells;
/delete-node/panel@0;
ports {
port {
@ -437,20 +439,20 @@ pins2 {
};
touchscreen_pins: touchscreen-pins {
touch_int_odl {
touch-int-odl {
pinmux = <PINMUX_GPIO155__FUNC_GPIO155>;
input-enable;
bias-pull-up;
};
touch_rst_l {
touch-rst-l {
pinmux = <PINMUX_GPIO156__FUNC_GPIO156>;
output-high;
};
};
trackpad_pins: trackpad-pins {
trackpad_int {
trackpad-int {
pinmux = <PINMUX_GPIO7__FUNC_GPIO7>;
input-enable;
bias-disable; /* pulled externally */

View File

@ -108,7 +108,7 @@ reserved_memory: reserved-memory {
#size-cells = <2>;
ranges;
scp_mem_reserved: scp_mem_region {
scp_mem_reserved: memory@50000000 {
compatible = "shared-dma-pool";
reg = <0 0x50000000 0 0x2900000>;
no-map;
@ -423,7 +423,7 @@ &mt6358_vsim2_reg {
&pio {
aud_pins_default: audiopins {
pins_bus {
pins-bus {
pinmux = <PINMUX_GPIO97__FUNC_I2S2_MCK>,
<PINMUX_GPIO98__FUNC_I2S2_BCK>,
<PINMUX_GPIO101__FUNC_I2S2_LRCK>,
@ -445,7 +445,7 @@ pins_bus {
};
aud_pins_tdm_out_on: audiotdmouton {
pins_bus {
pins-bus {
pinmux = <PINMUX_GPIO169__FUNC_TDM_BCK_2ND>,
<PINMUX_GPIO170__FUNC_TDM_LRCK_2ND>,
<PINMUX_GPIO171__FUNC_TDM_DATA0_2ND>,
@ -457,7 +457,7 @@ pins_bus {
};
aud_pins_tdm_out_off: audiotdmoutoff {
pins_bus {
pins-bus {
pinmux = <PINMUX_GPIO169__FUNC_GPIO169>,
<PINMUX_GPIO170__FUNC_GPIO170>,
<PINMUX_GPIO171__FUNC_GPIO171>,
@ -471,13 +471,13 @@ pins_bus {
};
bt_pins: bt-pins {
pins_bt_en {
pins-bt-en {
pinmux = <PINMUX_GPIO120__FUNC_GPIO120>;
output-low;
};
};
ec_ap_int_odl: ec_ap_int_odl {
ec_ap_int_odl: ec-ap-int-odl {
pins1 {
pinmux = <PINMUX_GPIO151__FUNC_GPIO151>;
input-enable;
@ -485,7 +485,7 @@ pins1 {
};
};
h1_int_od_l: h1_int_od_l {
h1_int_od_l: h1-int-od-l {
pins1 {
pinmux = <PINMUX_GPIO153__FUNC_GPIO153>;
input-enable;
@ -493,7 +493,7 @@ pins1 {
};
i2c0_pins: i2c0 {
pins_bus {
pins-bus {
pinmux = <PINMUX_GPIO82__FUNC_SDA0>,
<PINMUX_GPIO83__FUNC_SCL0>;
mediatek,pull-up-adv = <3>;
@ -502,7 +502,7 @@ pins_bus {
};
i2c1_pins: i2c1 {
pins_bus {
pins-bus {
pinmux = <PINMUX_GPIO81__FUNC_SDA1>,
<PINMUX_GPIO84__FUNC_SCL1>;
mediatek,pull-up-adv = <3>;
@ -511,7 +511,7 @@ pins_bus {
};
i2c2_pins: i2c2 {
pins_bus {
pins-bus {
pinmux = <PINMUX_GPIO103__FUNC_SCL2>,
<PINMUX_GPIO104__FUNC_SDA2>;
bias-disable;
@ -520,7 +520,7 @@ pins_bus {
};
i2c3_pins: i2c3 {
pins_bus {
pins-bus {
pinmux = <PINMUX_GPIO50__FUNC_SCL3>,
<PINMUX_GPIO51__FUNC_SDA3>;
mediatek,pull-up-adv = <3>;
@ -529,7 +529,7 @@ pins_bus {
};
i2c4_pins: i2c4 {
pins_bus {
pins-bus {
pinmux = <PINMUX_GPIO105__FUNC_SCL4>,
<PINMUX_GPIO106__FUNC_SDA4>;
bias-disable;
@ -538,7 +538,7 @@ pins_bus {
};
i2c5_pins: i2c5 {
pins_bus {
pins-bus {
pinmux = <PINMUX_GPIO48__FUNC_SCL5>,
<PINMUX_GPIO49__FUNC_SDA5>;
mediatek,pull-up-adv = <3>;
@ -547,7 +547,7 @@ pins_bus {
};
i2c6_pins: i2c6 {
pins_bus {
pins-bus {
pinmux = <PINMUX_GPIO11__FUNC_SCL6>,
<PINMUX_GPIO12__FUNC_SDA6>;
bias-disable;
@ -555,7 +555,7 @@ pins_bus {
};
mmc0_pins_default: mmc0-pins-default {
pins_cmd_dat {
pins-cmd-dat {
pinmux = <PINMUX_GPIO123__FUNC_MSDC0_DAT0>,
<PINMUX_GPIO128__FUNC_MSDC0_DAT1>,
<PINMUX_GPIO125__FUNC_MSDC0_DAT2>,
@ -570,13 +570,13 @@ pins_cmd_dat {
mediatek,pull-up-adv = <01>;
};
pins_clk {
pins-clk {
pinmux = <PINMUX_GPIO124__FUNC_MSDC0_CLK>;
drive-strength = <MTK_DRIVE_14mA>;
mediatek,pull-down-adv = <10>;
};
pins_rst {
pins-rst {
pinmux = <PINMUX_GPIO133__FUNC_MSDC0_RSTB>;
drive-strength = <MTK_DRIVE_14mA>;
mediatek,pull-down-adv = <01>;
@ -584,7 +584,7 @@ pins_rst {
};
mmc0_pins_uhs: mmc0-pins-uhs {
pins_cmd_dat {
pins-cmd-dat {
pinmux = <PINMUX_GPIO123__FUNC_MSDC0_DAT0>,
<PINMUX_GPIO128__FUNC_MSDC0_DAT1>,
<PINMUX_GPIO125__FUNC_MSDC0_DAT2>,
@ -599,19 +599,19 @@ pins_cmd_dat {
mediatek,pull-up-adv = <01>;
};
pins_clk {
pins-clk {
pinmux = <PINMUX_GPIO124__FUNC_MSDC0_CLK>;
drive-strength = <MTK_DRIVE_14mA>;
mediatek,pull-down-adv = <10>;
};
pins_ds {
pins-ds {
pinmux = <PINMUX_GPIO131__FUNC_MSDC0_DSL>;
drive-strength = <MTK_DRIVE_14mA>;
mediatek,pull-down-adv = <10>;
};
pins_rst {
pins-rst {
pinmux = <PINMUX_GPIO133__FUNC_MSDC0_RSTB>;
drive-strength = <MTK_DRIVE_14mA>;
mediatek,pull-up-adv = <01>;
@ -619,7 +619,7 @@ pins_rst {
};
mmc1_pins_default: mmc1-pins-default {
pins_cmd_dat {
pins-cmd-dat {
pinmux = <PINMUX_GPIO31__FUNC_MSDC1_CMD>,
<PINMUX_GPIO32__FUNC_MSDC1_DAT0>,
<PINMUX_GPIO34__FUNC_MSDC1_DAT1>,
@ -629,7 +629,7 @@ pins_cmd_dat {
mediatek,pull-up-adv = <10>;
};
pins_clk {
pins-clk {
pinmux = <PINMUX_GPIO29__FUNC_MSDC1_CLK>;
input-enable;
mediatek,pull-down-adv = <10>;
@ -637,7 +637,7 @@ pins_clk {
};
mmc1_pins_uhs: mmc1-pins-uhs {
pins_cmd_dat {
pins-cmd-dat {
pinmux = <PINMUX_GPIO31__FUNC_MSDC1_CMD>,
<PINMUX_GPIO32__FUNC_MSDC1_DAT0>,
<PINMUX_GPIO34__FUNC_MSDC1_DAT1>,
@ -648,7 +648,7 @@ pins_cmd_dat {
mediatek,pull-up-adv = <10>;
};
pins_clk {
pins-clk {
pinmux = <PINMUX_GPIO29__FUNC_MSDC1_CLK>;
drive-strength = <MTK_DRIVE_8mA>;
mediatek,pull-down-adv = <10>;
@ -656,15 +656,15 @@ pins_clk {
};
};
panel_pins_default: panel_pins_default {
panel_reset {
panel_pins_default: panel-pins-default {
panel-reset {
pinmux = <PINMUX_GPIO45__FUNC_GPIO45>;
output-low;
bias-pull-up;
};
};
pwm0_pin_default: pwm0_pin_default {
pwm0_pin_default: pwm0-pin-default {
pins1 {
pinmux = <PINMUX_GPIO176__FUNC_GPIO176>;
output-high;
@ -676,14 +676,14 @@ pins2 {
};
scp_pins: scp {
pins_scp_uart {
pins-scp-uart {
pinmux = <PINMUX_GPIO110__FUNC_TP_URXD1_AO>,
<PINMUX_GPIO112__FUNC_TP_UTXD1_AO>;
};
};
spi0_pins: spi0 {
pins_spi{
pins-spi {
pinmux = <PINMUX_GPIO85__FUNC_SPI0_MI>,
<PINMUX_GPIO86__FUNC_GPIO86>,
<PINMUX_GPIO87__FUNC_SPI0_MO>,
@ -693,7 +693,7 @@ pins_spi{
};
spi1_pins: spi1 {
pins_spi{
pins-spi {
pinmux = <PINMUX_GPIO161__FUNC_SPI1_A_MI>,
<PINMUX_GPIO162__FUNC_SPI1_A_CSB>,
<PINMUX_GPIO163__FUNC_SPI1_A_MO>,
@ -703,20 +703,20 @@ pins_spi{
};
spi2_pins: spi2 {
pins_spi{
pins-spi {
pinmux = <PINMUX_GPIO0__FUNC_SPI2_CSB>,
<PINMUX_GPIO1__FUNC_SPI2_MO>,
<PINMUX_GPIO2__FUNC_SPI2_CLK>;
bias-disable;
};
pins_spi_mi {
pins-spi-mi {
pinmux = <PINMUX_GPIO94__FUNC_SPI2_MI>;
mediatek,pull-down-adv = <00>;
};
};
spi3_pins: spi3 {
pins_spi{
pins-spi {
pinmux = <PINMUX_GPIO21__FUNC_SPI3_MI>,
<PINMUX_GPIO22__FUNC_SPI3_CSB>,
<PINMUX_GPIO23__FUNC_SPI3_MO>,
@ -726,7 +726,7 @@ pins_spi{
};
spi4_pins: spi4 {
pins_spi{
pins-spi {
pinmux = <PINMUX_GPIO17__FUNC_SPI4_MI>,
<PINMUX_GPIO18__FUNC_SPI4_CSB>,
<PINMUX_GPIO19__FUNC_SPI4_MO>,
@ -736,7 +736,7 @@ pins_spi{
};
spi5_pins: spi5 {
pins_spi{
pins-spi {
pinmux = <PINMUX_GPIO13__FUNC_SPI5_MI>,
<PINMUX_GPIO14__FUNC_SPI5_CSB>,
<PINMUX_GPIO15__FUNC_SPI5_MO>,
@ -746,63 +746,63 @@ pins_spi{
};
uart0_pins_default: uart0-pins-default {
pins_rx {
pins-rx {
pinmux = <PINMUX_GPIO95__FUNC_URXD0>;
input-enable;
bias-pull-up;
};
pins_tx {
pins-tx {
pinmux = <PINMUX_GPIO96__FUNC_UTXD0>;
};
};
uart1_pins_default: uart1-pins-default {
pins_rx {
pins-rx {
pinmux = <PINMUX_GPIO121__FUNC_URXD1>;
input-enable;
bias-pull-up;
};
pins_tx {
pins-tx {
pinmux = <PINMUX_GPIO115__FUNC_UTXD1>;
};
pins_rts {
pins-rts {
pinmux = <PINMUX_GPIO47__FUNC_URTS1>;
output-enable;
};
pins_cts {
pins-cts {
pinmux = <PINMUX_GPIO46__FUNC_UCTS1>;
input-enable;
};
};
uart1_pins_sleep: uart1-pins-sleep {
pins_rx {
pins-rx {
pinmux = <PINMUX_GPIO121__FUNC_GPIO121>;
input-enable;
bias-pull-up;
};
pins_tx {
pins-tx {
pinmux = <PINMUX_GPIO115__FUNC_UTXD1>;
};
pins_rts {
pins-rts {
pinmux = <PINMUX_GPIO47__FUNC_URTS1>;
output-enable;
};
pins_cts {
pins-cts {
pinmux = <PINMUX_GPIO46__FUNC_UCTS1>;
input-enable;
};
};
wifi_pins_pwrseq: wifi-pins-pwrseq {
pins_wifi_enable {
pins-wifi-enable {
pinmux = <PINMUX_GPIO119__FUNC_GPIO119>;
output-low;
};
};
wifi_pins_wakeup: wifi-pins-wakeup {
pins_wifi_wakeup {
pins-wifi-wakeup {
pinmux = <PINMUX_GPIO113__FUNC_GPIO113>;
input-enable;
};

View File

@ -178,7 +178,7 @@ &mmc1 {
&pio {
i2c_pins_0: i2c0 {
pins_i2c{
pins_i2c {
pinmux = <PINMUX_GPIO82__FUNC_SDA0>,
<PINMUX_GPIO83__FUNC_SCL0>;
mediatek,pull-up-adv = <3>;
@ -187,7 +187,7 @@ pins_i2c{
};
i2c_pins_1: i2c1 {
pins_i2c{
pins_i2c {
pinmux = <PINMUX_GPIO81__FUNC_SDA1>,
<PINMUX_GPIO84__FUNC_SCL1>;
mediatek,pull-up-adv = <3>;
@ -196,7 +196,7 @@ pins_i2c{
};
i2c_pins_2: i2c2 {
pins_i2c{
pins_i2c {
pinmux = <PINMUX_GPIO103__FUNC_SCL2>,
<PINMUX_GPIO104__FUNC_SDA2>;
mediatek,pull-up-adv = <3>;
@ -205,7 +205,7 @@ pins_i2c{
};
i2c_pins_3: i2c3 {
pins_i2c{
pins_i2c {
pinmux = <PINMUX_GPIO50__FUNC_SCL3>,
<PINMUX_GPIO51__FUNC_SDA3>;
mediatek,pull-up-adv = <3>;
@ -214,7 +214,7 @@ pins_i2c{
};
i2c_pins_4: i2c4 {
pins_i2c{
pins_i2c {
pinmux = <PINMUX_GPIO105__FUNC_SCL4>,
<PINMUX_GPIO106__FUNC_SDA4>;
mediatek,pull-up-adv = <3>;
@ -223,7 +223,7 @@ pins_i2c{
};
i2c_pins_5: i2c5 {
pins_i2c{
pins_i2c {
pinmux = <PINMUX_GPIO48__FUNC_SCL5>,
<PINMUX_GPIO49__FUNC_SDA5>;
mediatek,pull-up-adv = <3>;

View File

@ -1136,127 +1136,6 @@ thermal: thermal@1100b000 {
nvmem-cell-names = "calibration-data";
};
thermal_zones: thermal-zones {
cpu_thermal: cpu-thermal {
polling-delay-passive = <100>;
polling-delay = <500>;
thermal-sensors = <&thermal 0>;
sustainable-power = <5000>;
trips {
threshold: trip-point0 {
temperature = <68000>;
hysteresis = <2000>;
type = "passive";
};
target: trip-point1 {
temperature = <80000>;
hysteresis = <2000>;
type = "passive";
};
cpu_crit: cpu-crit {
temperature = <115000>;
hysteresis = <2000>;
type = "critical";
};
};
cooling-maps {
map0 {
trip = <&target>;
cooling-device = <&cpu0
THERMAL_NO_LIMIT
THERMAL_NO_LIMIT>,
<&cpu1
THERMAL_NO_LIMIT
THERMAL_NO_LIMIT>,
<&cpu2
THERMAL_NO_LIMIT
THERMAL_NO_LIMIT>,
<&cpu3
THERMAL_NO_LIMIT
THERMAL_NO_LIMIT>;
contribution = <3072>;
};
map1 {
trip = <&target>;
cooling-device = <&cpu4
THERMAL_NO_LIMIT
THERMAL_NO_LIMIT>,
<&cpu5
THERMAL_NO_LIMIT
THERMAL_NO_LIMIT>,
<&cpu6
THERMAL_NO_LIMIT
THERMAL_NO_LIMIT>,
<&cpu7
THERMAL_NO_LIMIT
THERMAL_NO_LIMIT>;
contribution = <1024>;
};
};
};
/* The tzts1 ~ tzts6 don't need to polling */
/* The tzts1 ~ tzts6 don't need to thermal throttle */
tzts1: tzts1 {
polling-delay-passive = <0>;
polling-delay = <0>;
thermal-sensors = <&thermal 1>;
sustainable-power = <5000>;
trips {};
cooling-maps {};
};
tzts2: tzts2 {
polling-delay-passive = <0>;
polling-delay = <0>;
thermal-sensors = <&thermal 2>;
sustainable-power = <5000>;
trips {};
cooling-maps {};
};
tzts3: tzts3 {
polling-delay-passive = <0>;
polling-delay = <0>;
thermal-sensors = <&thermal 3>;
sustainable-power = <5000>;
trips {};
cooling-maps {};
};
tzts4: tzts4 {
polling-delay-passive = <0>;
polling-delay = <0>;
thermal-sensors = <&thermal 4>;
sustainable-power = <5000>;
trips {};
cooling-maps {};
};
tzts5: tzts5 {
polling-delay-passive = <0>;
polling-delay = <0>;
thermal-sensors = <&thermal 5>;
sustainable-power = <5000>;
trips {};
cooling-maps {};
};
tztsABB: tztsABB {
polling-delay-passive = <0>;
polling-delay = <0>;
thermal-sensors = <&thermal 6>;
sustainable-power = <5000>;
trips {};
cooling-maps {};
};
};
pwm0: pwm@1100e000 {
compatible = "mediatek,mt8183-disp-pwm";
reg = <0 0x1100e000 0 0x1000>;
@ -2031,4 +1910,125 @@ larb3: larb@1a002000 {
power-domains = <&spm MT8183_POWER_DOMAIN_CAM>;
};
};
thermal_zones: thermal-zones {
cpu_thermal: cpu-thermal {
polling-delay-passive = <100>;
polling-delay = <500>;
thermal-sensors = <&thermal 0>;
sustainable-power = <5000>;
trips {
threshold: trip-point0 {
temperature = <68000>;
hysteresis = <2000>;
type = "passive";
};
target: trip-point1 {
temperature = <80000>;
hysteresis = <2000>;
type = "passive";
};
cpu_crit: cpu-crit {
temperature = <115000>;
hysteresis = <2000>;
type = "critical";
};
};
cooling-maps {
map0 {
trip = <&target>;
cooling-device = <&cpu0
THERMAL_NO_LIMIT
THERMAL_NO_LIMIT>,
<&cpu1
THERMAL_NO_LIMIT
THERMAL_NO_LIMIT>,
<&cpu2
THERMAL_NO_LIMIT
THERMAL_NO_LIMIT>,
<&cpu3
THERMAL_NO_LIMIT
THERMAL_NO_LIMIT>;
contribution = <3072>;
};
map1 {
trip = <&target>;
cooling-device = <&cpu4
THERMAL_NO_LIMIT
THERMAL_NO_LIMIT>,
<&cpu5
THERMAL_NO_LIMIT
THERMAL_NO_LIMIT>,
<&cpu6
THERMAL_NO_LIMIT
THERMAL_NO_LIMIT>,
<&cpu7
THERMAL_NO_LIMIT
THERMAL_NO_LIMIT>;
contribution = <1024>;
};
};
};
/* The tzts1 ~ tzts6 don't need to polling */
/* The tzts1 ~ tzts6 don't need to thermal throttle */
tzts1: tzts1 {
polling-delay-passive = <0>;
polling-delay = <0>;
thermal-sensors = <&thermal 1>;
sustainable-power = <5000>;
trips {};
cooling-maps {};
};
tzts2: tzts2 {
polling-delay-passive = <0>;
polling-delay = <0>;
thermal-sensors = <&thermal 2>;
sustainable-power = <5000>;
trips {};
cooling-maps {};
};
tzts3: tzts3 {
polling-delay-passive = <0>;
polling-delay = <0>;
thermal-sensors = <&thermal 3>;
sustainable-power = <5000>;
trips {};
cooling-maps {};
};
tzts4: tzts4 {
polling-delay-passive = <0>;
polling-delay = <0>;
thermal-sensors = <&thermal 4>;
sustainable-power = <5000>;
trips {};
cooling-maps {};
};
tzts5: tzts5 {
polling-delay-passive = <0>;
polling-delay = <0>;
thermal-sensors = <&thermal 5>;
sustainable-power = <5000>;
trips {};
cooling-maps {};
};
tztsABB: tztsABB {
polling-delay-passive = <0>;
polling-delay = <0>;
thermal-sensors = <&thermal 6>;
sustainable-power = <5000>;
trips {};
cooling-maps {};
};
};
};

View File

@ -207,7 +207,7 @@ &i2c7 {
pinctrl-0 = <&i2c7_pins>;
pmic@34 {
#interrupt-cells = <1>;
#interrupt-cells = <2>;
compatible = "mediatek,mt6360";
reg = <0x34>;
interrupt-controller;

View File

@ -48,7 +48,7 @@ key-0 {
memory@40000000 {
device_type = "memory";
reg = <0 0x40000000 0 0x80000000>;
reg = <0 0x40000000 0x2 0x00000000>;
};
reserved-memory {
@ -56,13 +56,8 @@ reserved-memory {
#size-cells = <2>;
ranges;
/* 2 MiB reserved for ARM Trusted Firmware (BL31) */
bl31_secmon_reserved: secmon@54600000 {
no-map;
reg = <0 0x54600000 0x0 0x200000>;
};
/* 12 MiB reserved for OP-TEE (BL32)
/*
* 12 MiB reserved for OP-TEE (BL32)
* +-----------------------+ 0x43e0_0000
* | SHMEM 2MiB |
* +-----------------------+ 0x43c0_0000
@ -75,6 +70,34 @@ optee_reserved: optee@43200000 {
no-map;
reg = <0 0x43200000 0 0x00c00000>;
};
scp_mem: memory@50000000 {
compatible = "shared-dma-pool";
reg = <0 0x50000000 0 0x2900000>;
no-map;
};
vpu_mem: memory@53000000 {
compatible = "shared-dma-pool";
reg = <0 0x53000000 0 0x1400000>; /* 20 MB */
};
/* 2 MiB reserved for ARM Trusted Firmware (BL31) */
bl31_secmon_mem: memory@54600000 {
no-map;
reg = <0 0x54600000 0x0 0x200000>;
};
snd_dma_mem: memory@60000000 {
compatible = "shared-dma-pool";
reg = <0 0x60000000 0 0x1100000>;
no-map;
};
apu_mem: memory@62000000 {
compatible = "shared-dma-pool";
reg = <0 0x62000000 0 0x1400000>; /* 20 MB */
};
};
};

View File

@ -229,6 +229,7 @@ dsu-pmu {
interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH 0>;
cpus = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>,
<&cpu4>, <&cpu5>, <&cpu6>, <&cpu7>;
status = "fail";
};
dmic_codec: dmic-codec {
@ -470,6 +471,8 @@ power-domain@MT8195_POWER_DOMAIN_VDEC1 {
power-domain@MT8195_POWER_DOMAIN_VENC_CORE1 {
reg = <MT8195_POWER_DOMAIN_VENC_CORE1>;
clocks = <&vencsys_core1 CLK_VENC_CORE1_LARB>;
clock-names = "venc1-larb";
mediatek,infracfg = <&infracfg_ao>;
#power-domain-cells = <0>;
};
@ -532,6 +535,8 @@ power-domain@MT8195_POWER_DOMAIN_VDEC2 {
power-domain@MT8195_POWER_DOMAIN_VENC {
reg = <MT8195_POWER_DOMAIN_VENC>;
clocks = <&vencsys CLK_VENC_LARB>;
clock-names = "venc0-larb";
mediatek,infracfg = <&infracfg_ao>;
#power-domain-cells = <0>;
};
@ -1984,7 +1989,7 @@ larb20: larb@1b010000 {
reg = <0 0x1b010000 0 0x1000>;
mediatek,larb-id = <20>;
mediatek,smi = <&smi_common_vpp>;
clocks = <&vencsys_core1 CLK_VENC_CORE1_LARB>,
clocks = <&vencsys_core1 CLK_VENC_CORE1_VENC>,
<&vencsys_core1 CLK_VENC_CORE1_GALS>,
<&vppsys0 CLK_VPP0_GALS_VDO0_VDO1_VENCSYS_CORE1>;
clock-names = "apb", "smi", "gals";

View File

@ -532,12 +532,12 @@ timer@2080000 {
<GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>;
<GIC_SPI 256 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 257 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 258 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 259 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 260 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 261 IRQ_TYPE_LEVEL_HIGH>;
status = "okay";
};

View File

@ -200,6 +200,9 @@ adv_bridge: bridge@39 {
pd-gpios = <&msmgpio 32 GPIO_ACTIVE_HIGH>;
avdd-supply = <&pm8916_l6>;
a2vdd-supply = <&pm8916_l6>;
dvdd-supply = <&pm8916_l6>;
pvdd-supply = <&pm8916_l6>;
v1p2-supply = <&pm8916_l6>;
v3p3-supply = <&pm8916_l17>;

View File

@ -169,7 +169,7 @@ q6_region: memory@4ab00000 {
smem {
compatible = "qcom,smem";
memory-region = <&smem_region>;
hwlocks = <&tcsr_mutex 0>;
hwlocks = <&tcsr_mutex 3>;
};
soc: soc {
@ -248,7 +248,7 @@ gcc: gcc@1800000 {
tcsr_mutex: hwlock@1905000 {
compatible = "qcom,ipq6018-tcsr-mutex", "qcom,tcsr-mutex";
reg = <0x0 0x01905000 0x0 0x1000>;
reg = <0x0 0x01905000 0x0 0x20000>;
#hwlock-cells = <1>;
};

View File

@ -90,7 +90,7 @@ smem@4ab00000 {
reg = <0x0 0x4ab00000 0x0 0x00100000>;
no-map;
hwlocks = <&tcsr_mutex 0>;
hwlocks = <&tcsr_mutex 3>;
};
memory@4ac00000 {

View File

@ -1257,7 +1257,7 @@ apps_iommu: iommu@1ef0000 {
#size-cells = <1>;
#iommu-cells = <1>;
compatible = "qcom,msm8916-iommu", "qcom,msm-iommu-v1";
ranges = <0 0x01e20000 0x40000>;
ranges = <0 0x01e20000 0x20000>;
reg = <0x01ef0000 0x3000>;
clocks = <&gcc GCC_SMMU_CFG_CLK>,
<&gcc GCC_APSS_TCU_CLK>;

View File

@ -109,11 +109,6 @@ rmtfs_mem: rmtfs@ca100000 {
qcom,client-id = <1>;
};
audio_mem: audio@cb400000 {
reg = <0 0xcb000000 0 0x400000>;
no-mem;
};
qseecom_mem: qseecom@cb400000 {
reg = <0 0xcb400000 0 0x1c00000>;
no-mem;

View File

@ -820,7 +820,8 @@ gcc: clock-controller@100000 {
clocks = <&rpmhcc RPMH_CXO_CLK>,
<&rpmhcc RPMH_CXO_CLK_A>, <&sleep_clk>,
<0>, <&pcie1_lane>,
<0>, <0>, <0>, <0>;
<0>, <0>, <0>,
<&usb_1_ssphy>;
clock-names = "bi_tcxo", "bi_tcxo_ao", "sleep_clk",
"pcie_0_pipe_clk", "pcie_1_pipe_clk",
"ufs_phy_rx_symbol_0_clk", "ufs_phy_rx_symbol_1_clk",
@ -5337,6 +5338,14 @@ cpufreq_hw: cpufreq@18591000 {
reg = <0 0x18591000 0 0x1000>,
<0 0x18592000 0 0x1000>,
<0 0x18593000 0 0x1000>;
interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
interrupt-names = "dcvsh-irq-0",
"dcvsh-irq-1",
"dcvsh-irq-2";
clocks = <&rpmhcc RPMH_CXO_CLK>, <&gcc GCC_GPLL0>;
clock-names = "xo", "alternate";
#freq-domain-cells = <1>;

View File

@ -145,6 +145,10 @@ panel_in_edp: endpoint {
};
};
&cpufreq_hw {
/delete-property/ interrupts-extended; /* reference to lmh_cluster[01] */
};
&psci {
/delete-node/ cpu0;
/delete-node/ cpu1;
@ -277,6 +281,14 @@ &BIG_CPU_SLEEP_1
&CLUSTER_SLEEP_0>;
};
&lmh_cluster0 {
status = "disabled";
};
&lmh_cluster1 {
status = "disabled";
};
/*
* Reserved memory changes
*

View File

@ -714,6 +714,8 @@ &wifi {
vdd-1.8-xo-supply = <&vreg_l7a_1p8>;
vdd-1.3-rfa-supply = <&vreg_l17a_1p3>;
vdd-3.3-ch0-supply = <&vreg_l25a_3p3>;
qcom,snoc-host-cap-8bit-quirk;
};
/* PINCTRL - additions to nodes defined in sdm845.dtsi */

View File

@ -1839,8 +1839,12 @@ pcie0_phy: phy@1c06000 {
ranges;
clocks = <&gcc GCC_PCIE_PHY_AUX_CLK>,
<&gcc GCC_PCIE_0_CFG_AHB_CLK>,
<&gcc GCC_PCIE_0_CLKREF_CLK>,
<&gcc GCC_PCIE0_PHY_REFGEN_CLK>;
clock-names = "aux", "cfg_ahb", "refgen";
clock-names = "aux",
"cfg_ahb",
"ref",
"refgen";
resets = <&gcc GCC_PCIE_0_PHY_BCR>;
reset-names = "phy";
@ -1938,8 +1942,12 @@ pcie1_phy: phy@1c0e000 {
ranges;
clocks = <&gcc GCC_PCIE_PHY_AUX_CLK>,
<&gcc GCC_PCIE_1_CFG_AHB_CLK>,
<&gcc GCC_PCIE_1_CLKREF_CLK>,
<&gcc GCC_PCIE1_PHY_REFGEN_CLK>;
clock-names = "aux", "cfg_ahb", "refgen";
clock-names = "aux",
"cfg_ahb",
"ref",
"refgen";
resets = <&gcc GCC_PCIE_1_PHY_BCR>;
reset-names = "phy";
@ -3701,7 +3709,7 @@ camnoc_virt: interconnect@ac00000 {
pdc: interrupt-controller@b220000 {
compatible = "qcom,sm8150-pdc", "qcom,pdc";
reg = <0 0x0b220000 0 0x400>;
reg = <0 0x0b220000 0 0x30000>;
qcom,pdc-ranges = <0 480 94>, <94 609 31>,
<125 63 1>;
#interrupt-cells = <2>;

View File

@ -1778,7 +1778,7 @@ qup_uart6_default: qup-uart6-default-state {
};
qup_uart18_default: qup-uart18-default-state {
pins = "gpio58", "gpio59";
pins = "gpio68", "gpio69";
function = "qup18";
drive-strength = <2>;
bias-disable;

View File

@ -666,7 +666,7 @@ vpu_mmu: iommu@ff350800 {
vdec: video-codec@ff360000 {
compatible = "rockchip,rk3328-vdec", "rockchip,rk3399-vdec";
reg = <0x0 0xff360000 0x0 0x400>;
reg = <0x0 0xff360000 0x0 0x480>;
interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&cru ACLK_RKVDEC>, <&cru HCLK_RKVDEC>,
<&cru SCLK_VDEC_CABAC>, <&cru SCLK_VDEC_CORE>;

View File

@ -493,6 +493,7 @@ &i2c4 {
&i2s0 {
pinctrl-0 = <&i2s0_2ch_bus>;
pinctrl-1 = <&i2s0_2ch_bus_bclk_off>;
rockchip,capture-channels = <2>;
rockchip,playback-channels = <2>;
status = "okay";

View File

@ -1062,7 +1062,9 @@ power-domain@RK3399_PD_VCODEC {
power-domain@RK3399_PD_VDU {
reg = <RK3399_PD_VDU>;
clocks = <&cru ACLK_VDU>,
<&cru HCLK_VDU>;
<&cru HCLK_VDU>,
<&cru SCLK_VDU_CA>,
<&cru SCLK_VDU_CORE>;
pm_qos = <&qos_video_m1_r>,
<&qos_video_m1_w>;
#power-domain-cells = <0>;
@ -1338,7 +1340,7 @@ vpu_mmu: iommu@ff650800 {
vdec: video-codec@ff660000 {
compatible = "rockchip,rk3399-vdec";
reg = <0x0 0xff660000 0x0 0x400>;
reg = <0x0 0xff660000 0x0 0x480>;
interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH 0>;
clocks = <&cru ACLK_VDU>, <&cru HCLK_VDU>,
<&cru SCLK_VDU_CA>, <&cru SCLK_VDU_CORE>;
@ -2396,6 +2398,16 @@ i2s0_2ch_bus: i2s0-2ch-bus {
<4 RK_PA0 1 &pcfg_pull_none>;
};
i2s0_2ch_bus_bclk_off: i2s0-2ch-bus-bclk-off {
rockchip,pins =
<3 RK_PD0 RK_FUNC_GPIO &pcfg_pull_none>,
<3 RK_PD1 1 &pcfg_pull_none>,
<3 RK_PD2 1 &pcfg_pull_none>,
<3 RK_PD3 1 &pcfg_pull_none>,
<3 RK_PD7 1 &pcfg_pull_none>,
<4 RK_PA0 1 &pcfg_pull_none>;
};
i2s0_8ch_bus: i2s0-8ch-bus {
rockchip,pins =
<3 RK_PD0 1 &pcfg_pull_none>,

View File

@ -172,7 +172,7 @@ &main_i2c1 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&main_i2c1_pins_default>;
clock-frequency = <400000>;
clock-frequency = <100000>;
exp1: gpio@22 {
compatible = "ti,tca6424";

View File

@ -15,6 +15,8 @@ CONFIG_PSI=y
CONFIG_RCU_EXPERT=y
CONFIG_RCU_BOOST=y
CONFIG_RCU_NOCB_CPU=y
CONFIG_RCU_LAZY=y
CONFIG_RCU_LAZY_DEFAULT_OFF=y
CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y
CONFIG_IKHEADERS=m
@ -123,6 +125,9 @@ CONFIG_ANON_VMA_NAME=y
CONFIG_USERFAULTFD=y
CONFIG_LRU_GEN=y
CONFIG_LRU_GEN_ENABLED=y
CONFIG_DAMON=y
CONFIG_DAMON_VADDR=y
CONFIG_DAMON_SYSFS=y
CONFIG_NET=y
CONFIG_PACKET=y
CONFIG_UNIX=y
@ -299,6 +304,7 @@ CONFIG_FW_LOADER_USER_HELPER=y
# CONFIG_SUN50I_DE2_BUS is not set
# CONFIG_SUNXI_RSB is not set
CONFIG_ARM_SCMI_PROTOCOL=y
CONFIG_ARM_SCMI_TRANSPORT_VIRTIO=y
# CONFIG_ARM_SCMI_POWER_DOMAIN is not set
CONFIG_ARM_SCPI_PROTOCOL=y
# CONFIG_ARM_SCPI_POWER_DOMAIN is not set
@ -311,6 +317,7 @@ CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_RAM_SIZE=8192
CONFIG_BLK_DEV_UBLK=y
CONFIG_BLK_DEV_NVME=y
CONFIG_NVME_MULTIPATH=y
CONFIG_SRAM=y
CONFIG_UID_SYS_STATS=y
CONFIG_SCSI=y
@ -428,6 +435,7 @@ CONFIG_THERMAL_WRITABLE_TRIPS=y
CONFIG_THERMAL_GOV_USER_SPACE=y
CONFIG_THERMAL_GOV_POWER_ALLOCATOR=y
CONFIG_CPU_THERMAL=y
CONFIG_CPU_IDLE_THERMAL=y
CONFIG_DEVFREQ_THERMAL=y
CONFIG_THERMAL_EMULATION=y
CONFIG_WATCHDOG=y
@ -441,7 +449,6 @@ CONFIG_LIRC=y
# CONFIG_RC_MAP is not set
CONFIG_RC_DECODERS=y
CONFIG_RC_DEVICES=y
CONFIG_MEDIA_CEC_RC=y
# CONFIG_MEDIA_ANALOG_TV_SUPPORT is not set
# CONFIG_MEDIA_DIGITAL_TV_SUPPORT is not set
# CONFIG_MEDIA_RADIO_SUPPORT is not set
@ -577,6 +584,7 @@ CONFIG_IIO_TRIGGER=y
CONFIG_PWM=y
CONFIG_GENERIC_PHY=y
CONFIG_POWERCAP=y
CONFIG_IDLE_INJECT=y
CONFIG_ANDROID_BINDER_IPC=y
CONFIG_ANDROID_BINDERFS=y
CONFIG_ANDROID_DEBUG_SYMBOLS=y
@ -728,7 +736,6 @@ CONFIG_PANIC_TIMEOUT=-1
CONFIG_SOFTLOCKUP_DETECTOR=y
CONFIG_WQ_WATCHDOG=y
CONFIG_SCHEDSTATS=y
# CONFIG_DEBUG_PREEMPT is not set
CONFIG_BUG_ON_DATA_CORRUPTION=y
CONFIG_HIST_TRIGGERS=y
CONFIG_PID_IN_CONTEXTIDR=y

View File

@ -85,7 +85,8 @@
#define ARM_CPU_PART_NEOVERSE_N2 0xD49
#define ARM_CPU_PART_CORTEX_A78C 0xD4B
#define APM_CPU_PART_POTENZA 0x000
#define APM_CPU_PART_XGENE 0x000
#define APM_CPU_VAR_POTENZA 0x00
#define CAVIUM_CPU_PART_THUNDERX 0x0A1
#define CAVIUM_CPU_PART_THUNDERX_81XX 0x0A2

View File

@ -2,6 +2,9 @@
#ifndef _ASM_ARM64_HYPERVISOR_H
#define _ASM_ARM64_HYPERVISOR_H
#include <linux/memory.h>
#include <linux/mm.h>
#include <asm/xen/hypervisor.h>
void kvm_init_hyp_services(void);
@ -10,6 +13,15 @@ void kvm_arm_init_hyp_services(void);
void kvm_init_memshare_services(void);
void kvm_init_ioremap_services(void);
struct hypervisor_ops {
#ifdef CONFIG_MEMORY_RELINQUISH
void (*page_relinquish)(struct page *page);
void (*post_page_relinquish_tlb_inv)(void);
#endif
};
extern struct hypervisor_ops hyp_ops;
#ifdef CONFIG_MEMORY_RELINQUISH
void kvm_init_memrelinquish_services(void);
#else

View File

@ -53,7 +53,7 @@ HYP_EVENT(host_smc,
__entry->id = id;
__entry->forwarded = forwarded;
),
HE_PRINTK("id=%llu invalid=%u",
HE_PRINTK("id=%llu forwarded=%u",
__entry->id, __entry->forwarded)
);

View File

@ -15,10 +15,10 @@ struct hyp_entry_hdr {
/*
* Hyp events definitions common to the hyp and the host
*/
#define HYP_EVENT_FORMAT(__name, __struct) \
struct trace_hyp_format_##__name { \
struct hyp_entry_hdr hdr; \
__struct \
#define HYP_EVENT_FORMAT(__name, __struct) \
struct __packed trace_hyp_format_##__name { \
struct hyp_entry_hdr hdr; \
__struct \
}
#define HE_PROTO(args...) args

View File

@ -72,6 +72,11 @@ enum pkvm_psci_notification {
* @register_host_perm_fault_handler), otherwise
* pKVM will be unable to handle this fault and the
* CPU will be stuck in an infinite loop.
* @host_stage2_mod_prot_range: Similar to @host_stage2_mod_prot, but takes a
* range as an argument (@nr_pages). This
* considerably speeds up the process for a
* contiguous memory region, compared to the
* per-page @host_stage2_mod_prot.
* @host_stage2_get_leaf: Query the host's stage2 page-table entry for
* the page @phys.
* @register_host_smc_handler: @cb is called whenever the host issues an SMC
@ -153,7 +158,8 @@ struct pkvm_module_ops {
void* (*hyp_va)(phys_addr_t phys);
unsigned long (*kern_hyp_va)(unsigned long x);
ANDROID_KABI_RESERVE(1);
ANDROID_KABI_USE(1, int (*host_stage2_mod_prot_range)(u64 pfn, enum kvm_pgtable_prot prot, u64 nr_pages));
ANDROID_KABI_RESERVE(2);
ANDROID_KABI_RESERVE(3);
ANDROID_KABI_RESERVE(4);

View File

@ -11,5 +11,6 @@ struct page;
bool kvm_has_memrelinquish_services(void);
void page_relinquish(struct page *page);
void post_page_relinquish_tlb_inv(void);
#endif /* __ASM_MEM_RELINQUISH_H */

View File

@ -21,9 +21,22 @@ static inline bool arch_parse_debug_rodata(char *arg)
extern bool rodata_enabled;
extern bool rodata_full;
if (arg && !strcmp(arg, "full")) {
if (!arg)
return false;
if (!strcmp(arg, "full")) {
rodata_enabled = rodata_full = true;
return true;
}
if (!strcmp(arg, "off")) {
rodata_enabled = rodata_full = false;
return true;
}
if (!strcmp(arg, "on")) {
rodata_enabled = true;
rodata_full = true;
rodata_full = false;
return true;
}

View File

@ -81,7 +81,13 @@ obj-$(CONFIG_ARM64_MTE) += mte.o
obj-y += vdso-wrap.o
obj-$(CONFIG_COMPAT_VDSO) += vdso32-wrap.o
obj-$(CONFIG_UNWIND_PATCH_PAC_INTO_SCS) += patch-scs.o
# We need to prevent the SCS patching code from patching itself. Using
# -mbranch-protection=none here to avoid the patchable PAC opcodes from being
# generated triggers an issue with full LTO on Clang, which stops emitting PAC
# instructions altogether. So disable LTO as well for the compilation unit.
CFLAGS_patch-scs.o += -mbranch-protection=none
CFLAGS_REMOVE_patch-scs.o += $(CC_FLAGS_LTO)
# Force dependency (vdso*-wrap.S includes vdso.so through incbin)
$(obj)/vdso-wrap.o: $(obj)/vdso/vdso.so

View File

@ -58,6 +58,7 @@
static int num_standard_resources;
static struct resource *standard_resources;
struct hypervisor_ops hyp_ops;
phys_addr_t __fdt_pointer __initdata;

View File

@ -865,7 +865,7 @@ u32 __attribute_const__ kvm_target_cpu(void)
break;
case ARM_CPU_IMP_APM:
switch (part_number) {
case APM_CPU_PART_POTENZA:
case APM_CPU_PART_XGENE:
return KVM_ARM_TARGET_XGENE_POTENZA;
}
break;

View File

@ -104,6 +104,7 @@ int refill_memcache(struct kvm_hyp_memcache *mc, unsigned long min_pages,
struct kvm_hyp_memcache *host_mc);
int module_change_host_page_prot(u64 pfn, enum kvm_pgtable_prot prot);
int module_change_host_page_prot_range(u64 pfn, enum kvm_pgtable_prot prot, u64 nr_pages);
void destroy_hyp_vm_pgt(struct pkvm_hyp_vm *vm);
void drain_hyp_pool(struct pkvm_hyp_vm *vm, struct kvm_hyp_memcache *mc);

View File

@ -149,22 +149,16 @@ static void prepare_host_vtcr(void)
static int prepopulate_host_stage2(void)
{
struct memblock_region *reg;
u64 addr = 0;
int i, ret;
int i, ret = 0;
for (i = 0; i < hyp_memblock_nr; i++) {
reg = &hyp_memory[i];
ret = host_stage2_idmap_locked(addr, reg->base - addr, PKVM_HOST_MMIO_PROT, false);
if (ret)
return ret;
ret = host_stage2_idmap_locked(reg->base, reg->size, PKVM_HOST_MEM_PROT, false);
if (ret)
return ret;
addr = reg->base + reg->size;
}
return host_stage2_idmap_locked(addr, BIT(host_mmu.pgt.ia_bits) - addr, PKVM_HOST_MMIO_PROT,
false);
return ret;
}
int kvm_host_prepare_stage2(void *pgt_pool_base)
@ -881,7 +875,14 @@ void handle_host_mem_abort(struct kvm_cpu_context *host_ctxt)
int ret = -EPERM;
esr = read_sysreg_el2(SYS_ESR);
BUG_ON(!__get_fault_info(esr, &fault));
if (!__get_fault_info(esr, &fault)) {
addr = (u64)-1;
/*
* We've presumably raced with a page-table change which caused
* AT to fail, try again.
*/
goto return_to_host;
}
fault.esr_el2 = esr;
addr = (fault.hpfar_el2 & HPFAR_MASK) << 8;
@ -908,6 +909,7 @@ void handle_host_mem_abort(struct kvm_cpu_context *host_ctxt)
else
BUG_ON(ret && ret != -EAGAIN);
return_to_host:
trace_host_mem_abort(esr, addr);
}
@ -2008,77 +2010,80 @@ int __pkvm_hyp_donate_host(u64 pfn, u64 nr_pages)
return ret;
}
static int restrict_host_page_perms(u64 addr, kvm_pte_t pte, u32 level, enum kvm_pgtable_prot prot)
{
int ret = 0;
/* XXX: optimize ... */
if (kvm_pte_valid(pte) && (level == KVM_PGTABLE_MAX_LEVELS - 1))
ret = kvm_pgtable_stage2_unmap(&host_mmu.pgt, addr, PAGE_SIZE);
if (!ret)
ret = host_stage2_idmap_locked(addr, PAGE_SIZE, prot, false);
return ret;
}
#define MODULE_PROT_ALLOWLIST (KVM_PGTABLE_PROT_RWX | \
KVM_PGTABLE_PROT_DEVICE |\
KVM_PGTABLE_PROT_NC | \
KVM_PGTABLE_PROT_PXN | \
KVM_PGTABLE_PROT_UXN)
int module_change_host_page_prot(u64 pfn, enum kvm_pgtable_prot prot)
int module_change_host_page_prot_range(u64 pfn, enum kvm_pgtable_prot prot, u64 nr_pages)
{
u64 addr = hyp_pfn_to_phys(pfn);
u64 i, addr = hyp_pfn_to_phys(pfn);
u64 end = addr + nr_pages * PAGE_SIZE;
struct hyp_page *page = NULL;
kvm_pte_t pte;
u32 level;
struct kvm_mem_range range;
bool is_mmio;
int ret;
if ((prot & MODULE_PROT_ALLOWLIST) != prot)
return -EINVAL;
is_mmio = !find_mem_range(addr, &range);
if (end > range.end) {
/* Specified range not in a single mmio or memory block. */
return -EPERM;
}
host_lock_component();
ret = kvm_pgtable_get_leaf(&host_mmu.pgt, addr, &pte, &level);
if (ret)
goto unlock;
/*
* There is no hyp_vmemmap covering MMIO regions, which makes tracking
* of module-owned MMIO regions hard, so we trust the modules not to
* mess things up.
*/
if (!addr_is_memory(addr))
if (is_mmio)
goto update;
ret = -EPERM;
/* Range is memory: we can track module ownership. */
page = hyp_phys_to_page(addr);
/*
* Modules can only relax permissions of pages they own, and restrict
* permissions of pristine pages.
* Modules can only modify pages they already own, and pristine host
* pages. The entire range must be consistently one or the other.
*/
if (prot == KVM_PGTABLE_PROT_RWX) {
if (!(page->flags & MODULE_OWNED_PAGE))
if (page->flags & MODULE_OWNED_PAGE) {
/* The entire range must be module-owned. */
ret = -EPERM;
for (i = 1; i < nr_pages; i++) {
if (!(page[i].flags & MODULE_OWNED_PAGE))
goto unlock;
}
} else {
/* The entire range must be pristine. */
ret = __host_check_page_state_range(
addr, nr_pages << PAGE_SHIFT, PKVM_PAGE_OWNED);
if (ret)
goto unlock;
} else if (host_get_page_state(pte, addr) != PKVM_PAGE_OWNED) {
goto unlock;
}
update:
if (prot == default_host_prot(!!page))
ret = host_stage2_set_owner_locked(addr, PAGE_SIZE, PKVM_ID_HOST);
else if (!prot)
ret = host_stage2_set_owner_locked(addr, PAGE_SIZE, PKVM_ID_PROTECTED);
else
ret = restrict_host_page_perms(addr, pte, level, prot);
if (!prot) {
ret = host_stage2_set_owner_locked(
addr, nr_pages << PAGE_SHIFT, PKVM_ID_PROTECTED);
} else {
ret = host_stage2_idmap_locked(
addr, nr_pages << PAGE_SHIFT, prot, false);
}
if (ret || !page)
if (WARN_ON(ret) || !page)
goto unlock;
if (prot != KVM_PGTABLE_PROT_RWX)
hyp_phys_to_page(addr)->flags |= MODULE_OWNED_PAGE;
else
hyp_phys_to_page(addr)->flags &= ~MODULE_OWNED_PAGE;
for (i = 0; i < nr_pages; i++) {
if (prot != KVM_PGTABLE_PROT_RWX)
page[i].flags |= MODULE_OWNED_PAGE;
else
page[i].flags &= ~MODULE_OWNED_PAGE;
}
unlock:
host_unlock_component();
@ -2086,6 +2091,11 @@ int module_change_host_page_prot(u64 pfn, enum kvm_pgtable_prot prot)
return ret;
}
int module_change_host_page_prot(u64 pfn, enum kvm_pgtable_prot prot)
{
return module_change_host_page_prot_range(pfn, prot, 1);
}
int hyp_pin_shared_mem(void *from, void *to)
{
u64 cur, start = ALIGN_DOWN((u64)from, PAGE_SIZE);

View File

@ -115,6 +115,7 @@ const struct pkvm_module_ops module_ops = {
.hyp_pa = hyp_virt_to_phys,
.hyp_va = hyp_phys_to_virt,
.kern_hyp_va = __kern_hyp_va,
.host_stage2_mod_prot_range = module_change_host_page_prot_range,
};
int __pkvm_init_module(void *module_init)

View File

@ -645,8 +645,13 @@ enum kvm_pgtable_prot kvm_pgtable_stage2_pte_prot(kvm_pte_t pte)
return prot;
}
static bool stage2_pte_needs_update(kvm_pte_t old, kvm_pte_t new)
static bool stage2_pte_needs_update(struct kvm_pgtable *pgt,
kvm_pte_t old, kvm_pte_t new)
{
/* Following filter logic applies only to guest stage-2 entries. */
if (pgt->flags & KVM_PGTABLE_S2_IDMAP)
return true;
if (!kvm_pte_valid(old) || !kvm_pte_valid(new))
return true;
@ -715,12 +720,15 @@ static int stage2_map_walker_try_leaf(u64 addr, u64 end, u32 level,
new = data->annotation;
/*
* Skip updating the PTE if we are trying to recreate the exact
* same mapping or only change the access permissions. Instead,
* the vCPU will exit one more time from guest if still needed
* and then go through the path of relaxing permissions.
* Skip updating a guest PTE if we are trying to recreate the exact
* same mapping or change only the access permissions. Instead,
* the vCPU will exit one more time from the guest if still needed
* and then go through the path of relaxing permissions. This applies
* only to guest PTEs; Host PTEs are unconditionally updated. The
* host cannot livelock because the abort handler has done prior
* checks before calling here.
*/
if (!stage2_pte_needs_update(old, new))
if (!stage2_pte_needs_update(pgt, old, new))
return -EAGAIN;
if (pte_ops->pte_is_counted_cb(old, level))
@ -775,6 +783,30 @@ static int stage2_map_walk_table_pre(u64 addr, u64 end, u32 level,
return 0;
}
static void stage2_map_prefault_idmap(struct kvm_pgtable_pte_ops *pte_ops,
u64 addr, u64 end, u32 level,
kvm_pte_t *ptep, kvm_pte_t block_pte)
{
u64 pa, granule;
int i;
WARN_ON(pte_ops->pte_is_counted_cb(block_pte, level-1));
if (!kvm_pte_valid(block_pte))
return;
pa = ALIGN_DOWN(addr, kvm_granule_size(level-1));
granule = kvm_granule_size(level);
for (i = 0; i < PTRS_PER_PTE; ++i, ++ptep, pa += granule) {
kvm_pte_t pte = kvm_init_valid_leaf_pte(pa, block_pte, level);
/* Skip ptes in the range being modified by the caller. */
if ((pa < addr) || (pa >= end)) {
/* We can write non-atomically: ptep isn't yet live. */
*ptep = pte;
}
}
}
static int stage2_map_walk_leaf(u64 addr, u64 end, u32 level, kvm_pte_t *ptep,
struct stage2_map_data *data)
{
@ -805,6 +837,11 @@ static int stage2_map_walk_leaf(u64 addr, u64 end, u32 level, kvm_pte_t *ptep,
if (!childp)
return -ENOMEM;
if (pgt->flags & KVM_PGTABLE_S2_IDMAP) {
stage2_map_prefault_idmap(pte_ops, addr, end, level + 1,
childp, pte);
}
/*
* If we've run into an existing block mapping then replace it with
* a table. Accesses beyond 'end' that fall within the new table

View File

@ -619,6 +619,8 @@ static int __kprobes do_page_fault(unsigned long far, unsigned long esr,
goto done;
}
count_vm_vma_lock_event(VMA_LOCK_RETRY);
if (fault & VM_FAULT_MAJOR)
mm_flags |= FAULT_FLAG_TRIED;
/* Quick path to respond to signals */
if (fault_signal_pending(fault, regs)) {
@ -744,6 +746,11 @@ static int do_sea(unsigned long far, unsigned long esr, struct pt_regs *regs)
{
const struct fault_info *inf;
unsigned long siaddr;
bool can_fixup = false;
trace_android_vh_try_fixup_sea(far, esr, regs, &can_fixup);
if (can_fixup && fixup_exception(regs))
return 0;
inf = esr_to_fault_info(esr);

View File

@ -14,6 +14,24 @@
static unsigned long memshare_granule_sz;
static void kvm_page_relinquish(struct page *page)
{
phys_addr_t phys, end;
u32 func_id = ARM_SMCCC_VENDOR_HYP_KVM_MEM_RELINQUISH_FUNC_ID;
phys = page_to_phys(page);
end = phys + PAGE_SIZE;
while (phys < end) {
struct arm_smccc_res res;
arm_smccc_1_1_invoke(func_id, phys, 0, 0, &res);
BUG_ON(res.a0 != SMCCC_RET_SUCCESS);
phys += memshare_granule_sz;
}
}
void kvm_init_memrelinquish_services(void)
{
int i;
@ -34,6 +52,9 @@ void kvm_init_memrelinquish_services(void)
return;
memshare_granule_sz = res.a0;
if (memshare_granule_sz)
hyp_ops.page_relinquish = kvm_page_relinquish;
}
bool kvm_has_memrelinquish_services(void)
@ -44,22 +65,14 @@ EXPORT_SYMBOL_GPL(kvm_has_memrelinquish_services);
void page_relinquish(struct page *page)
{
phys_addr_t phys, end;
u32 func_id = ARM_SMCCC_VENDOR_HYP_KVM_MEM_RELINQUISH_FUNC_ID;
if (!memshare_granule_sz)
return;
phys = page_to_phys(page);
end = phys + PAGE_SIZE;
while (phys < end) {
struct arm_smccc_res res;
arm_smccc_1_1_invoke(func_id, phys, 0, 0, &res);
BUG_ON(res.a0 != SMCCC_RET_SUCCESS);
phys += memshare_granule_sz;
}
if (hyp_ops.page_relinquish)
hyp_ops.page_relinquish(page);
}
EXPORT_SYMBOL_GPL(page_relinquish);
void post_page_relinquish_tlb_inv(void)
{
if (hyp_ops.post_page_relinquish_tlb_inv)
hyp_ops.post_page_relinquish_tlb_inv();
}
EXPORT_SYMBOL_GPL(post_page_relinquish_tlb_inv);

View File

@ -29,8 +29,8 @@ bool can_set_direct_map(void)
*
* KFENCE pool requires page-granular mapping if initialized late.
*/
return (rodata_enabled && rodata_full) || debug_pagealloc_enabled() ||
arm64_kfence_can_set_direct_map();
return rodata_full || debug_pagealloc_enabled() ||
arm64_kfence_can_set_direct_map();
}
static int change_page_range(pte_t *ptep, unsigned long addr, void *data)
@ -105,8 +105,7 @@ static int change_memory_common(unsigned long addr, int numpages,
* If we are manipulating read-only permissions, apply the same
* change to the linear mapping of the pages that back this VM area.
*/
if (rodata_enabled &&
rodata_full && (pgprot_val(set_mask) == PTE_RDONLY ||
if (rodata_full && (pgprot_val(set_mask) == PTE_RDONLY ||
pgprot_val(clear_mask) == PTE_RDONLY)) {
for (i = 0; i < area->nr_pages; i++) {
__change_memory_common((u64)page_address(area->pages[i]),

View File

@ -28,7 +28,7 @@ static inline void set_my_cpu_offset(unsigned long off)
#define __my_cpu_offset __my_cpu_offset
#define PERCPU_OP(op, asm_op, c_op) \
static inline unsigned long __percpu_##op(void *ptr, \
static __always_inline unsigned long __percpu_##op(void *ptr, \
unsigned long val, int size) \
{ \
unsigned long ret; \
@ -59,7 +59,7 @@ PERCPU_OP(and, and, &)
PERCPU_OP(or, or, |)
#undef PERCPU_OP
static inline unsigned long __percpu_read(void *ptr, int size)
static __always_inline unsigned long __percpu_read(void *ptr, int size)
{
unsigned long ret;
@ -96,7 +96,7 @@ static inline unsigned long __percpu_read(void *ptr, int size)
return ret;
}
static inline void __percpu_write(void *ptr, unsigned long val, int size)
static __always_inline void __percpu_write(void *ptr, unsigned long val, int size)
{
switch (size) {
case 1:
@ -128,8 +128,8 @@ static inline void __percpu_write(void *ptr, unsigned long val, int size)
}
}
static inline unsigned long __percpu_xchg(void *ptr, unsigned long val,
int size)
static __always_inline unsigned long __percpu_xchg(void *ptr, unsigned long val,
int size)
{
switch (size) {
case 1:

Some files were not shown because too many files have changed in this diff Show More