Snap for 10254331 from 80b57a636d to android14-6.1-keystone-qcom-release

Change-Id: I15970736c910adf1ced86faa8fde5e4c73d7a38d
This commit is contained in:
Android Build Coastguard Worker 2023-06-04 07:15:17 +00:00
commit a0290fa5b8
13 changed files with 881 additions and 9 deletions

File diff suppressed because it is too large Load Diff

View File

@ -1,9 +1,13 @@
[abi_symbol_list]
address_space_init_once
bio_add_page
bio_associate_blkg
bio_put
__blkdev_issue_discard
blk_finish_plug
blk_rq_map_user
blk_rq_map_user_iov
blk_start_plug
console_printk
cpufreq_frequency_table_get_index
cpufreq_policy_transition_delay_us
@ -42,10 +46,14 @@
nf_register_net_hooks
nf_unregister_net_hooks
of_css
__page_file_index
__page_mapcount
pm_get_active_wakeup_sources
__printk_ratelimit
prepare_to_wait_exclusive
proc_symlink
radix_tree_lookup_slot
radix_tree_replace_slot
_raw_write_trylock
reciprocal_value
register_tcf_proto_ops

View File

@ -694,6 +694,7 @@
dev_pm_opp_of_register_em
dev_pm_opp_of_remove_table
dev_pm_opp_put
dev_pm_opp_remove
dev_pm_opp_remove_all_dynamic
dev_pm_opp_set_config
dev_pm_opp_set_opp
@ -1892,12 +1893,37 @@
__mmap_lock_do_trace_acquire_returned
__mmap_lock_do_trace_released
__mmap_lock_do_trace_start_locking
__mmc_claim_host
mmc_cqe_request_done
mmc_execute_tuning
mmc_get_card
mmc_get_ext_csd
mmc_hs200_tuning
mmc_issue_type
mmc_of_parse
__mmc_poll_for_busy
mmc_prepare_busy_cmd
mmc_put_card
mmc_regulator_get_supply
mmc_regulator_set_ocr
mmc_regulator_set_vqmmc
mmc_release_host
mmc_retune_hold
mmc_retune_release
mmc_select_bus_width
mmc_select_card
mmc_select_hs400
mmc_select_hs
mmc_select_hs_ddr
mmc_select_timing
mmc_send_status
mmc_send_tuning
mmc_set_bus_mode
mmc_set_bus_width
mmc_set_clock
mmc_set_initial_state
mmc_set_timing
mmc_wait_for_cmd
mmput
mod_delayed_work_on
mod_node_page_state
@ -3246,6 +3272,8 @@
__traceiter_android_rvh_iommu_setup_dma_ops
__traceiter_android_rvh_is_cpu_allowed
__traceiter_android_rvh_migrate_queued_task
__traceiter_android_rvh_mmc_resume
__traceiter_android_rvh_mmc_suspend
__traceiter_android_rvh_new_task_stats
__traceiter_android_rvh_pick_next_entity
__traceiter_android_rvh_place_entity
@ -3378,6 +3406,8 @@
__tracepoint_android_rvh_iommu_setup_dma_ops
__tracepoint_android_rvh_is_cpu_allowed
__tracepoint_android_rvh_migrate_queued_task
__tracepoint_android_rvh_mmc_resume
__tracepoint_android_rvh_mmc_suspend
__tracepoint_android_rvh_new_task_stats
__tracepoint_android_rvh_pick_next_entity
__tracepoint_android_rvh_place_entity

View File

@ -89,12 +89,16 @@
__spi_alloc_controller
__stack_chk_fail
strcmp
__traceiter_android_rvh_psci_cpu_suspend
__traceiter_android_rvh_psci_tos_resident_on
__traceiter_android_vh_get_thermal_zone_device
__traceiter_android_vh_modify_thermal_request_freq
__traceiter_android_vh_modify_thermal_target_freq
__traceiter_android_vh_thermal_power_cap
__traceiter_android_vh_thermal_register
__traceiter_android_vh_thermal_unregister
__tracepoint_android_rvh_psci_cpu_suspend
__tracepoint_android_rvh_psci_tos_resident_on
__tracepoint_android_vh_get_thermal_zone_device
__tracepoint_android_vh_modify_thermal_request_freq
__tracepoint_android_vh_modify_thermal_target_freq

View File

@ -29,6 +29,7 @@
#include <trace/hooks/preemptirq.h>
#include <trace/hooks/ftrace_dump.h>
#include <trace/hooks/ufshcd.h>
#include <trace/hooks/mmc.h>
#include <trace/hooks/cgroup.h>
#include <trace/hooks/sys.h>
#include <trace/hooks/iommu.h>
@ -62,6 +63,7 @@
#include <trace/hooks/typec.h>
#include <trace/hooks/user.h>
#include <trace/hooks/signal.h>
#include <trace/hooks/psci.h>
#include <trace/hooks/psi.h>
/*
@ -258,9 +260,13 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_shrink_slab_bypass);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_do_shrink_slab);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_get_page_wmark);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_page_add_new_anon_rmap);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_psci_tos_resident_on);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_psci_cpu_suspend);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_psi_event);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_psi_group);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_cpufreq_acct_update_power);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_mmc_resume);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_mmc_suspend);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_exit_signal);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_shrink_node_memcgs);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_modify_thermal_request_freq);

View File

@ -28,6 +28,7 @@
#include <asm/system_misc.h>
#include <asm/smp_plat.h>
#include <asm/suspend.h>
#include <trace/hooks/psci.h>
/*
* While a 64-bit OS can make calls with SMC32 calling conventions, for some
@ -53,6 +54,12 @@ static enum arm_smccc_conduit psci_conduit = SMCCC_CONDUIT_NONE;
bool psci_tos_resident_on(int cpu)
{
bool resident = false;
trace_android_rvh_psci_tos_resident_on(cpu, &resident);
if (resident)
return resident;
return cpu == resident_cpu;
}
@ -175,6 +182,11 @@ static __always_inline int
__psci_cpu_suspend(u32 fn, u32 state, unsigned long entry_point)
{
int err;
bool deny = false;
trace_android_rvh_psci_cpu_suspend(state, &deny);
if (deny)
return -EPERM;
err = invoke_psci_fn(fn, state, entry_point, 0);
return psci_to_linux_errno(err);

View File

@ -917,6 +917,7 @@ void mmc_set_clock(struct mmc_host *host, unsigned int hz)
host->ios.clock = hz;
mmc_set_ios(host);
}
EXPORT_SYMBOL_GPL(mmc_set_clock);
int mmc_execute_tuning(struct mmc_card *card)
{
@ -951,6 +952,7 @@ int mmc_execute_tuning(struct mmc_card *card)
return err;
}
EXPORT_SYMBOL_GPL(mmc_execute_tuning);
/*
* Change the bus mode (open drain/push-pull) of a host.
@ -960,6 +962,7 @@ void mmc_set_bus_mode(struct mmc_host *host, unsigned int mode)
host->ios.bus_mode = mode;
mmc_set_ios(host);
}
EXPORT_SYMBOL_GPL(mmc_set_bus_mode);
/*
* Change data bus width of a host.
@ -969,6 +972,7 @@ void mmc_set_bus_width(struct mmc_host *host, unsigned int width)
host->ios.bus_width = width;
mmc_set_ios(host);
}
EXPORT_SYMBOL_GPL(mmc_set_bus_width);
/*
* Set initial state after a power cycle or a hw_reset.
@ -1002,6 +1006,7 @@ void mmc_set_initial_state(struct mmc_host *host)
mmc_crypto_set_initial_state(host);
}
EXPORT_SYMBOL_GPL(mmc_set_initial_state);
/**
* mmc_vdd_to_ocrbitnum - Convert a voltage to the OCR bit number
@ -1271,6 +1276,7 @@ void mmc_set_timing(struct mmc_host *host, unsigned int timing)
host->ios.timing = timing;
mmc_set_ios(host);
}
EXPORT_SYMBOL_GPL(mmc_set_timing);
/*
* Select appropriate driver type for host.

View File

@ -166,6 +166,7 @@ void mmc_retune_hold(struct mmc_host *host)
host->retune_now = 1;
host->hold_retune += 1;
}
EXPORT_SYMBOL(mmc_retune_hold);
void mmc_retune_release(struct mmc_host *host)
{

View File

@ -18,6 +18,7 @@
#include <linux/mmc/host.h>
#include <linux/mmc/card.h>
#include <linux/mmc/mmc.h>
#include <trace/hooks/mmc.h>
#include "core.h"
#include "card.h"
@ -1002,7 +1003,7 @@ static void mmc_set_bus_speed(struct mmc_card *card)
* If the bus width is changed successfully, return the selected width value.
* Zero is returned instead of error value if the wide width is not supported.
*/
static int mmc_select_bus_width(struct mmc_card *card)
int mmc_select_bus_width(struct mmc_card *card)
{
static unsigned ext_csd_bits[] = {
EXT_CSD_BUS_WIDTH_8,
@ -1067,11 +1068,12 @@ static int mmc_select_bus_width(struct mmc_card *card)
return err;
}
EXPORT_SYMBOL_GPL(mmc_select_bus_width);
/*
* Switch to the high-speed mode
*/
static int mmc_select_hs(struct mmc_card *card)
int mmc_select_hs(struct mmc_card *card)
{
int err;
@ -1085,11 +1087,12 @@ static int mmc_select_hs(struct mmc_card *card)
return err;
}
EXPORT_SYMBOL_GPL(mmc_select_hs);
/*
* Activate wide bus and DDR if supported.
*/
static int mmc_select_hs_ddr(struct mmc_card *card)
int mmc_select_hs_ddr(struct mmc_card *card)
{
struct mmc_host *host = card->host;
u32 bus_width, ext_csd_bits;
@ -1158,8 +1161,9 @@ static int mmc_select_hs_ddr(struct mmc_card *card)
return err;
}
EXPORT_SYMBOL_GPL(mmc_select_hs_ddr);
static int mmc_select_hs400(struct mmc_card *card)
int mmc_select_hs400(struct mmc_card *card)
{
struct mmc_host *host = card->host;
unsigned int max_dtr;
@ -1253,6 +1257,7 @@ static int mmc_select_hs400(struct mmc_card *card)
__func__, err);
return err;
}
EXPORT_SYMBOL_GPL(mmc_select_hs400);
int mmc_hs200_to_hs400(struct mmc_card *card)
{
@ -1533,7 +1538,7 @@ static int mmc_select_hs200(struct mmc_card *card)
/*
* Activate High Speed, HS200 or HS400ES mode if supported.
*/
static int mmc_select_timing(struct mmc_card *card)
int mmc_select_timing(struct mmc_card *card)
{
int err = 0;
@ -1568,12 +1573,13 @@ static int mmc_select_timing(struct mmc_card *card)
mmc_set_bus_speed(card);
return 0;
}
EXPORT_SYMBOL_GPL(mmc_select_timing);
/*
* Execute tuning sequence to seek the proper bus operating
* conditions for HS200 and HS400, which sends CMD21 to the device.
*/
static int mmc_hs200_tuning(struct mmc_card *card)
int mmc_hs200_tuning(struct mmc_card *card)
{
struct mmc_host *host = card->host;
@ -1588,6 +1594,7 @@ static int mmc_hs200_tuning(struct mmc_card *card)
return mmc_execute_tuning(card);
}
EXPORT_SYMBOL_GPL(mmc_hs200_tuning);
/*
* Handle the detection and initialisation of a card.
@ -2112,9 +2119,10 @@ static int _mmc_suspend(struct mmc_host *host, bool is_suspend)
((host->caps2 & MMC_CAP2_FULL_PWR_CYCLE) || !is_suspend ||
(host->caps2 & MMC_CAP2_FULL_PWR_CYCLE_IN_SUSPEND)))
err = mmc_poweroff_notify(host->card, notify_type);
else if (mmc_can_sleep(host->card))
else if (mmc_can_sleep(host->card)) {
trace_android_rvh_mmc_suspend(host);
err = mmc_sleep(host);
else if (!mmc_host_is_spi(host))
} else if (!mmc_host_is_spi(host))
err = mmc_deselect_cards(host);
if (!err) {
@ -2149,6 +2157,7 @@ static int mmc_suspend(struct mmc_host *host)
static int _mmc_resume(struct mmc_host *host)
{
int err = 0;
bool resume_success = false;
mmc_claim_host(host);
@ -2156,7 +2165,9 @@ static int _mmc_resume(struct mmc_host *host)
goto out;
mmc_power_up(host, host->card->ocr);
err = mmc_init_card(host, host->card->ocr, host->card);
trace_android_rvh_mmc_resume(host, &resume_success);
if (!resume_success)
err = mmc_init_card(host, host->card->ocr, host->card);
mmc_card_clr_suspended(host->card);
out:

View File

@ -118,6 +118,7 @@ int mmc_select_card(struct mmc_card *card)
return _mmc_select_card(card->host, card);
}
EXPORT_SYMBOL_GPL(mmc_select_card);
int mmc_deselect_cards(struct mmc_host *host)
{
@ -575,6 +576,7 @@ bool mmc_prepare_busy_cmd(struct mmc_host *host, struct mmc_command *cmd,
cmd->busy_timeout = timeout_ms;
return true;
}
EXPORT_SYMBOL_GPL(mmc_prepare_busy_cmd);
/**
* __mmc_switch - modify EXT_CSD register

View File

@ -69,6 +69,7 @@ enum mmc_issue_type mmc_issue_type(struct mmc_queue *mq, struct request *req)
return MMC_ISSUE_SYNC;
}
EXPORT_SYMBOL_GPL(mmc_issue_type);
static void __mmc_cqe_recovery_notifier(struct mmc_queue *mq)
{

25
include/trace/hooks/mmc.h Normal file
View File

@ -0,0 +1,25 @@
/* SPDX-License-Identifier: GPL-2.0 */
#undef TRACE_SYSTEM
#define TRACE_SYSTEM mmc
#undef TRACE_INCLUDE_PATH
#define TRACE_INCLUDE_PATH trace/hooks
#if !defined(_TRACE_HOOK_MMC_H) || defined(TRACE_HEADER_MULTI_READ)
#define _TRACE_HOOK_MMC_H
#include <trace/hooks/vendor_hooks.h>
struct mmc_host;
/*
* Following tracepoints are not exported in tracefs and provide a
* mechanism for vendor modules to hook and extend functionality
*/
DECLARE_RESTRICTED_HOOK(android_rvh_mmc_suspend,
TP_PROTO(struct mmc_host *host),
TP_ARGS(host), 1);
DECLARE_RESTRICTED_HOOK(android_rvh_mmc_resume,
TP_PROTO(struct mmc_host *host, bool *resume_success),
TP_ARGS(host, resume_success), 1);
#endif /* _TRACE_HOOK_MMC_H */
/* This part must be outside protection */
#include <trace/define_trace.h>

View File

@ -0,0 +1,25 @@
/* SPDX-License-Identifier: GPL-2.0 */
#undef TRACE_SYSTEM
#define TRACE_SYSTEM psci
#undef TRACE_INCLUDE_PATH
#define TRACE_INCLUDE_PATH trace/hooks
#if !defined(_TRACE_HOOK_PSCI_H) || defined(TRACE_HEADER_MULTI_READ)
#define _TRACE_HOOK_PSCI_H
#include <trace/hooks/vendor_hooks.h>
DECLARE_HOOK(android_rvh_psci_tos_resident_on,
TP_PROTO(int cpu, bool *resident),
TP_ARGS(cpu, resident));
DECLARE_HOOK(android_rvh_psci_cpu_suspend,
TP_PROTO(u32 state, bool *deny),
TP_ARGS(state, deny));
/* macro versions of hooks are no longer required */
#endif /* _TRACE_HOOK_PSCI_H */
/* This part must be outside protection */
#include <trace/define_trace.h>