ANDROID: GKI: add restricted vendor hook for mmc
We need to add three restricted vendor hooks to implement mmc protection and support sd card hs mode tuning. If you are using a function that needs to sleep, then use the restricted vendor hook. - android_rvh_mmc_partition_status - android_rvh_mmc_sd_cmdline_timing - android_rvh_mmc_sd_dataline_timing If you're using functions that don't sleep, then use vendor hooks. - android_vh_mmc_update_partition_status - android_vh_mmc_sd_update_cmdline_timing - android_vh_mmc_sd_update_dataline_timing Bug: 242645760 Change-Id: I880436e3159bec30d7d92c620b268ec350e97235 Signed-off-by: Wenchao Chen <wenchao.chen@unisoc.com>
This commit is contained in:
@@ -405,6 +405,9 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_mmc_gpio_cd_irqt);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_mmc_update_partition_status);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_mmc_sd_update_cmdline_timing);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_mmc_sd_update_dataline_timing);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_mmc_partition_status);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_mmc_sd_cmdline_timing);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_mmc_sd_dataline_timing);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_cfg80211_set_context);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_cfg80211_get_context);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_mem_cgroup_id_remove);
|
||||
|
||||
@@ -1769,6 +1769,7 @@ static int mmc_init_card(struct mmc_host *host, u32 ocr,
|
||||
}
|
||||
|
||||
trace_android_vh_mmc_update_partition_status(card);
|
||||
trace_android_rvh_mmc_partition_status(card);
|
||||
|
||||
/*
|
||||
* Enable power_off_notification byte in the ext_csd register
|
||||
|
||||
@@ -1520,6 +1520,7 @@ retry:
|
||||
mmc_set_clock(host, mmc_sd_get_max_clock(card));
|
||||
|
||||
trace_android_vh_mmc_sd_update_cmdline_timing(card, &err);
|
||||
trace_android_rvh_mmc_sd_cmdline_timing(card, &err);
|
||||
if (err)
|
||||
goto free_card;
|
||||
|
||||
@@ -1536,6 +1537,7 @@ retry:
|
||||
}
|
||||
|
||||
trace_android_vh_mmc_sd_update_dataline_timing(card, &err);
|
||||
trace_android_rvh_mmc_sd_dataline_timing(card, &err);
|
||||
if (err)
|
||||
goto free_card;
|
||||
}
|
||||
|
||||
@@ -68,6 +68,18 @@ DECLARE_HOOK(android_vh_mmc_sd_update_dataline_timing,
|
||||
TP_PROTO(struct mmc_card *card, int *err),
|
||||
TP_ARGS(card, err));
|
||||
|
||||
DECLARE_RESTRICTED_HOOK(android_rvh_mmc_partition_status,
|
||||
TP_PROTO(struct mmc_card *card),
|
||||
TP_ARGS(card), 1);
|
||||
|
||||
DECLARE_RESTRICTED_HOOK(android_rvh_mmc_sd_cmdline_timing,
|
||||
TP_PROTO(struct mmc_card *card, int *err),
|
||||
TP_ARGS(card, err), 1);
|
||||
|
||||
DECLARE_RESTRICTED_HOOK(android_rvh_mmc_sd_dataline_timing,
|
||||
TP_PROTO(struct mmc_card *card, int *err),
|
||||
TP_ARGS(card, err), 1);
|
||||
|
||||
#endif /* _TRACE_HOOK_MMC_H */
|
||||
/* This part must be outside protection */
|
||||
#include <trace/define_trace.h>
|
||||
|
||||
Reference in New Issue
Block a user