diff --git a/android/abi_gki_aarch64.xml b/android/abi_gki_aarch64.xml
index 7df9cac0fd66..7142911bdc25 100644
--- a/android/abi_gki_aarch64.xml
+++ b/android/abi_gki_aarch64.xml
@@ -913,6 +913,7 @@
+
@@ -1862,6 +1863,8 @@
+
+
@@ -2008,6 +2011,7 @@
+
@@ -2044,6 +2048,7 @@
+
@@ -2080,6 +2085,7 @@
+
@@ -2987,6 +2993,7 @@
+
@@ -4307,6 +4314,7 @@
+
@@ -80957,9 +80965,6 @@
-
-
-
@@ -89740,9 +89745,6 @@
-
-
-
@@ -102793,20 +102795,7 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
@@ -118462,6 +118451,12 @@
+
+
+
+
+
+
@@ -123489,6 +123484,15 @@
+
+
+
+
+
+
+
+
+
@@ -124225,6 +124229,11 @@
+
+
+
+
+
@@ -124404,6 +124413,10 @@
+
+
+
+
@@ -124602,6 +124615,15 @@
+
+
+
+
+
+
+
+
+
@@ -129310,6 +129332,11 @@
+
+
+
+
+
@@ -135956,6 +135983,10 @@
+
+
+
+
diff --git a/android/abi_gki_aarch64_rockchip b/android/abi_gki_aarch64_rockchip
index 6c4930b55133..d2a2cad1d6cf 100644
--- a/android/abi_gki_aarch64_rockchip
+++ b/android/abi_gki_aarch64_rockchip
@@ -12,7 +12,9 @@
arm64_const_caps_ready
arm64_use_ng_mappings
__arm_smccc_smc
+ atomic_notifier_call_chain
atomic_notifier_chain_register
+ atomic_notifier_chain_unregister
bdget_disk
bdput
__bitmap_set
@@ -222,22 +224,34 @@
down_write
driver_unregister
drm_add_edid_modes
+ drm_atomic_get_crtc_state
+ drm_atomic_get_new_connector_for_encoder
+ drm_atomic_helper_bridge_destroy_state
+ drm_atomic_helper_bridge_duplicate_state
+ drm_atomic_helper_bridge_reset
drm_atomic_helper_connector_destroy_state
drm_atomic_helper_connector_duplicate_state
drm_atomic_helper_connector_reset
+ drm_bridge_add
+ drm_bridge_attach
+ drm_bridge_remove
drm_compat_ioctl
drm_connector_attach_encoder
drm_connector_cleanup
drm_connector_init
+ drm_connector_init_with_ddc
drm_connector_update_edid_property
__drm_dbg
drm_detect_hdmi_monitor
+ drm_detect_monitor_audio
drm_dev_alloc
drm_dev_dbg
+ drm_dev_printk
drm_dev_put
drm_dev_register
drm_dev_unregister
drm_display_info_set_bus_formats
+ drm_dp_bw_code_to_link_rate
__drm_err
drm_gem_dumb_map_offset
drm_gem_handle_create
@@ -252,17 +266,24 @@
drm_gem_vm_close
drm_get_edid
drm_hdmi_avi_infoframe_from_display_mode
+ drm_hdmi_vendor_infoframe_from_display_mode
drm_helper_hpd_irq_event
drm_helper_probe_single_connector_modes
drm_ioctl
+ drm_match_cea_mode
drm_mode_copy
drm_mode_create
drm_mode_duplicate
drm_mode_probed_add
drm_mode_set_name
drm_mode_vrefresh
+ drm_object_attach_property
+ drm_of_find_panel_or_bridge
drm_open
drm_panel_disable
+ drm_panel_enable
+ drm_panel_get_modes
+ drm_panel_prepare
drm_panel_unprepare
drm_poll
drm_prime_gem_destroy
@@ -381,6 +402,7 @@
__kfifo_alloc
__kfifo_free
__kfifo_in
+ __kfifo_out
kfree
kfree_const
__kmalloc
@@ -412,8 +434,17 @@
__log_write_mmio
lzo1x_decompress_safe
media_create_pad_link
+ media_device_init
+ __media_device_register
+ media_device_unregister
media_entity_pads_init
media_entity_remote_pad
+ media_graph_walk_cleanup
+ media_graph_walk_init
+ media_graph_walk_next
+ media_graph_walk_start
+ media_pipeline_start
+ media_pipeline_stop
memcpy
memdup_user
memset
@@ -456,6 +487,8 @@
of_get_parent
of_get_property
of_get_regulator_init_data
+ of_graph_get_remote_node
+ of_graph_parse_endpoint
of_iomap
of_irq_get_byname
of_machine_is_compatible
@@ -478,9 +511,12 @@
panic_notifier_list
param_ops_bool
param_ops_int
+ param_ops_string
param_ops_uint
+ PDE_DATA
__per_cpu_offset
pfn_valid
+ phy_configure
phy_exit
phy_init
phy_power_off
@@ -525,6 +561,7 @@
prepare_to_wait_event
print_hex_dump
printk
+ proc_create_data
put_device
put_disk
__put_page
@@ -536,9 +573,11 @@
___ratelimit
rational_best_approximation
_raw_spin_lock
+ _raw_spin_lock_bh
_raw_spin_lock_irq
_raw_spin_lock_irqsave
_raw_spin_unlock
+ _raw_spin_unlock_bh
_raw_spin_unlock_irq
_raw_spin_unlock_irqrestore
rdev_get_drvdata
@@ -576,6 +615,7 @@
regulator_set_voltage_sel_regmap
regulator_set_voltage_time_sel
remap_pfn_range
+ remove_proc_entry
reset_control_assert
reset_control_deassert
revalidate_disk_size
@@ -644,6 +684,7 @@
strlcpy
strlen
strncmp
+ strncpy
strnlen
strscpy
strstr
@@ -677,6 +718,7 @@
uuid_null
v4l2_async_notifier_cleanup
v4l2_async_notifier_init
+ v4l2_async_notifier_register
v4l2_async_register_subdev
v4l2_async_subdev_notifier_register
v4l2_async_unregister_subdev
@@ -687,15 +729,54 @@
v4l2_ctrl_handler_setup
v4l2_ctrl_new_std
v4l2_ctrl_new_std_menu_items
+ v4l2_device_register
+ v4l2_device_register_subdev
+ __v4l2_device_register_subdev_nodes
+ v4l2_device_unregister
+ v4l2_device_unregister_subdev
+ v4l2_event_queue
+ v4l2_event_subdev_unsubscribe
+ v4l2_event_subscribe
+ v4l2_fh_open
v4l2_i2c_subdev_init
+ v4l2_pipeline_pm_get
+ v4l2_pipeline_pm_put
v4l2_querymenu
v4l2_subdev_call_wrappers
v4l2_subdev_init
+ v4l2_subdev_link_validate
+ v4l2_type_names
vabits_actual
+ vb2_buffer_done
vb2_common_vm_ops
vb2_create_framevec
vb2_destroy_framevec
+ vb2_dma_contig_memops
+ vb2_fop_mmap
+ vb2_fop_poll
+ vb2_fop_release
+ vb2_ioctl_create_bufs
+ vb2_ioctl_dqbuf
+ vb2_ioctl_expbuf
+ vb2_ioctl_prepare_buf
+ vb2_ioctl_qbuf
+ vb2_ioctl_querybuf
+ vb2_ioctl_reqbufs
+ vb2_ioctl_streamoff
+ vb2_ioctl_streamon
+ vb2_ops_wait_finish
+ vb2_ops_wait_prepare
+ vb2_plane_cookie
+ vb2_plane_vaddr
+ vb2_queue_init
+ vb2_queue_release
+ vb2_vmalloc_memops
vfree
+ video_devdata
+ video_device_release_empty
+ video_ioctl2
+ __video_register_device
+ video_unregister_device
vmalloc
vmap
vm_get_page_prot
@@ -738,6 +819,15 @@
# required by aes-ce-ccm.ko
ce_aes_expandkey
+# required by analogix_dp.ko
+ drm_dp_aux_register
+ drm_dp_aux_unregister
+ drm_dp_dpcd_read
+ drm_dp_dpcd_write
+ drm_dp_start_crc
+ drm_dp_stop_crc
+ irq_modify_status
+
# required by ch.ko
param_array_ops
scsi_device_lookup
@@ -834,6 +924,66 @@
regmap_raw_read
regmap_raw_write
+# required by dw-hdmi-cec.ko
+ cec_allocate_adapter
+ cec_delete_adapter
+ cec_notifier_cec_adap_register
+ cec_notifier_cec_adap_unregister
+ cec_received_msg_ts
+ cec_register_adapter
+ cec_transmit_attempt_done_ts
+ cec_unregister_adapter
+ devm_remove_action
+
+# required by dw-hdmi-hdcp.ko
+ device_create_file
+ device_remove_file
+ kstrtobool
+ misc_deregister
+ misc_register
+ sha1_init
+ sha1_transform
+
+# required by dw-hdmi.ko
+ bcmp
+ cancel_delayed_work
+ cec_fill_conn_info_from_drm
+ cec_notifier_conn_register
+ cec_notifier_conn_unregister
+ cec_notifier_set_phys_addr
+ cec_notifier_set_phys_addr_from_edid
+ cec_queue_pin_hpd_event
+ drm_bridge_hpd_notify
+ drm_connector_attach_max_bpc_property
+ drm_default_rgb_quant_range
+ drm_hdmi_avi_infoframe_quant_range
+ drm_hdmi_infoframe_set_hdr_metadata
+ drm_mode_is_420_also
+ drm_mode_is_420_only
+ drm_property_replace_global_blob
+ drm_scdc_read
+ drm_scdc_set_high_tmds_clock_ratio
+ drm_scdc_set_scrambling
+ drm_scdc_write
+ extcon_set_property_capability
+ hdmi_drm_infoframe_pack
+ hdmi_vendor_infoframe_pack
+ mod_delayed_work_on
+ of_get_i2c_adapter_by_node
+
+# required by dw-mipi-dsi.ko
+ debugfs_attr_read
+ debugfs_attr_write
+ drm_panel_bridge_add_typed
+ drm_panel_bridge_connector
+ drm_panel_bridge_remove
+ mipi_dsi_create_packet
+ mipi_dsi_host_register
+ mipi_dsi_host_unregister
+ of_drm_find_bridge
+ simple_attr_open
+ simple_attr_release
+
# required by dw_mmc-rockchip.ko
clk_get_phase
mmc_send_tuning
@@ -854,8 +1004,6 @@
mmc_regulator_set_vqmmc
mmc_remove_host
mmc_request_done
- _raw_spin_lock_bh
- _raw_spin_unlock_bh
sdio_signal_irq
sg_miter_next
sg_miter_start
@@ -1015,7 +1163,6 @@
devm_gpio_request_one
# required by ledtrig-heartbeat.ko
- atomic_notifier_chain_unregister
avenrun
# required by lzo-rle.ko
@@ -1239,13 +1386,9 @@
wakeup_source_remove
# required by phy-rockchip-inno-usb3.ko
- atomic_notifier_call_chain
strcasecmp
usb_add_phy
-# required by phy-rockchip-mipi-rx.ko
- of_graph_get_remote_node
-
# required by phy-rockchip-usb.ko
__of_reset_control_get
@@ -1453,7 +1596,6 @@
drm_add_modes_noedid
drm_atomic_commit
drm_atomic_get_connector_state
- drm_atomic_get_crtc_state
drm_atomic_get_plane_state
drm_atomic_helper_check
drm_atomic_helper_check_plane_state
@@ -1485,8 +1627,6 @@
drm_atomic_set_mode_for_crtc
drm_atomic_state_alloc
__drm_atomic_state_free
- drm_bridge_attach
- drm_connector_init_with_ddc
drm_connector_list_iter_begin
drm_connector_list_iter_end
drm_connector_list_iter_next
@@ -1503,10 +1643,7 @@
drm_crtc_vblank_on
drm_crtc_vblank_put
drm_debugfs_create_files
- drm_detect_monitor_audio
- drm_dev_printk
drm_do_get_edid
- drm_dp_bw_code_to_link_rate
drm_dp_channel_eq_ok
drm_encoder_cleanup
drm_encoder_init
@@ -1537,13 +1674,11 @@
drm_gem_unmap_dma_buf
drm_get_format_info
drm_get_format_name
- drm_hdmi_vendor_infoframe_from_display_mode
drm_helper_mode_fill_fb_struct
drm_kms_helper_hotplug_event
drm_kms_helper_poll_enable
drm_kms_helper_poll_fini
drm_kms_helper_poll_init
- drm_match_cea_mode
drm_mm_init
drm_mm_insert_node_in_range
drmm_mode_config_init
@@ -1557,6 +1692,7 @@
drm_mode_create_tv_properties
drm_mode_crtc_set_gamma_size
drm_mode_debug_printmodeline
+ drm_mode_is_420
drm_mode_object_get
drm_mode_object_put
drm_mode_prune_invalid
@@ -1567,13 +1703,8 @@
drm_mode_validate_driver
drm_mode_validate_size
drm_mode_validate_ycbcr420
- drm_object_attach_property
drm_of_crtc_port_mask
drm_of_encoder_active_endpoint
- drm_of_find_panel_or_bridge
- drm_panel_enable
- drm_panel_get_modes
- drm_panel_prepare
drm_plane_cleanup
drm_plane_create_alpha_property
drm_plane_create_blend_mode_property
@@ -1581,9 +1712,12 @@
drm_plane_create_zpos_property
drm_prime_get_contiguous_size
__drm_printfn_seq_file
+ drm_property_create
drm_property_create_bitmask
+ drm_property_create_enum
drm_property_create_object
drm_property_create_range
+ drm_property_destroy
__drm_puts_seq_file
drm_send_event_locked
drm_simple_encoder_init
@@ -1604,6 +1738,7 @@
of_graph_get_port_by_id
of_graph_get_remote_port
of_graph_get_remote_port_parent
+ phy_mipi_dphy_get_default_config
platform_find_device_by_driver
__platform_register_drivers
platform_unregister_drivers
@@ -1681,12 +1816,9 @@
irq_stat
# required by sii902x.ko
- drm_bridge_add
- drm_bridge_remove
drm_display_mode_to_videomode
hdmi_audio_infoframe_pack
hdmi_avi_infoframe_pack
- of_graph_parse_endpoint
of_property_read_variable_u8_array
# required by snd-soc-cx2072x.ko
@@ -1777,7 +1909,6 @@
power_supply_register
power_supply_unregister
strncasecmp
- strncpy
# required by tps65132-regulator.ko
regulator_set_active_discharge_regmap
@@ -1796,70 +1927,19 @@
v4l2_async_notifier_add_subdev
v4l2_async_notifier_unregister
+# required by video_rkcif.ko
+ media_entity_setup_link
+
# required by video_rkisp.ko
- __kfifo_out
kmalloc_order_trace
media_device_cleanup
- media_device_init
- __media_device_register
- media_device_unregister
- media_graph_walk_cleanup
- media_graph_walk_init
- media_graph_walk_next
- media_graph_walk_start
- media_pipeline_start
- media_pipeline_stop
__memcpy_fromio
__memcpy_toio
of_property_read_u64
- param_ops_string
param_ops_ullong
- PDE_DATA
- proc_create_data
- remove_proc_entry
- v4l2_async_notifier_register
v4l2_ctrl_g_ctrl_int64
- v4l2_device_register
- v4l2_device_register_subdev
- __v4l2_device_register_subdev_nodes
- v4l2_device_unregister
- v4l2_device_unregister_subdev
- v4l2_event_queue
- v4l2_event_subdev_unsubscribe
- v4l2_event_subscribe
v4l2_event_unsubscribe
- v4l2_fh_open
v4l2_pipeline_link_notify
- v4l2_pipeline_pm_get
- v4l2_pipeline_pm_put
- v4l2_subdev_link_validate
- v4l2_type_names
- vb2_buffer_done
- vb2_dma_contig_memops
- vb2_fop_mmap
- vb2_fop_poll
- vb2_fop_release
- vb2_ioctl_create_bufs
- vb2_ioctl_dqbuf
- vb2_ioctl_expbuf
- vb2_ioctl_prepare_buf
- vb2_ioctl_qbuf
- vb2_ioctl_querybuf
- vb2_ioctl_reqbufs
- vb2_ioctl_streamoff
- vb2_ioctl_streamon
- vb2_ops_wait_finish
- vb2_ops_wait_prepare
- vb2_plane_cookie
- vb2_plane_vaddr
- vb2_queue_init
- vb2_queue_release
- vb2_vmalloc_memops
- video_devdata
- video_device_release_empty
- video_ioctl2
- __video_register_device
- video_unregister_device
# required by videobuf2-dma-sg.ko
split_page
diff --git a/drivers/android/vendor_hooks.c b/drivers/android/vendor_hooks.c
index 07c97e495629..423219ac6989 100644
--- a/drivers/android/vendor_hooks.c
+++ b/drivers/android/vendor_hooks.c
@@ -386,3 +386,8 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_pci_d3_sleep);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_kmalloc_slab);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_mmap_region);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_try_to_unmap_one);
+EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_mem_cgroup_id_remove);
+EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_mem_cgroup_css_offline);
+EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_mem_cgroup_css_online);
+EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_mem_cgroup_free);
+EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_mem_cgroup_alloc);
diff --git a/kernel/sched/core.c b/kernel/sched/core.c
index adac9409fb2e..eaa1bc9adf1a 100644
--- a/kernel/sched/core.c
+++ b/kernel/sched/core.c
@@ -3116,6 +3116,9 @@ try_to_wake_up(struct task_struct *p, unsigned int state, int wake_flags)
if (READ_ONCE(p->on_rq) && ttwu_runnable(p, wake_flags))
goto unlock;
+ if (p->state & TASK_UNINTERRUPTIBLE)
+ trace_sched_blocked_reason(p);
+
#ifdef CONFIG_SMP
/*
* Ensure we load p->on_cpu _after_ p->on_rq, otherwise it would be
diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
index 6d004a085089..29f84c11acf9 100644
--- a/kernel/sched/fair.c
+++ b/kernel/sched/fair.c
@@ -999,7 +999,6 @@ update_stats_enqueue_sleeper(struct cfs_rq *cfs_rq, struct sched_entity *se)
}
trace_sched_stat_blocked(tsk, delta);
- trace_sched_blocked_reason(tsk);
/*
* Blocking time is in units of nanosecs, so shift by