Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c5846687 authored by Linux Build Service Account's avatar Linux Build Service Account Committed by Gerrit - the friendly Code Review server
Browse files

Merge "mmc: core: Add trace events to profile mmc suspend-resume"

parents 1e4a5dd2 23a6e13d
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -3593,6 +3593,7 @@ EXPORT_SYMBOL(mmc_cache_ctrl);
int mmc_suspend_host(struct mmc_host *host)
{
	int err = 0;
	ktime_t start = ktime_get();

	if (mmc_bus_needs_resume(host))
		return 0;
@@ -3653,6 +3654,8 @@ int mmc_suspend_host(struct mmc_host *host)
	if (!err && !mmc_card_keep_power(host))
		mmc_power_off(host);

	trace_mmc_suspend_host(mmc_hostname(host), err,
			ktime_to_us(ktime_sub(ktime_get(), start)));
	return err;
out:
	if (!(host->card && mmc_card_sdio(host->card)))
@@ -3670,6 +3673,7 @@ EXPORT_SYMBOL(mmc_suspend_host);
int mmc_resume_host(struct mmc_host *host)
{
	int err = 0;
	ktime_t start = ktime_get();

	mmc_bus_get(host);
	if (mmc_bus_manual_resume(host)) {
@@ -3707,6 +3711,8 @@ int mmc_resume_host(struct mmc_host *host)
	host->pm_flags &= ~MMC_PM_KEEP_POWER;
	mmc_bus_put(host);

	trace_mmc_resume_host(mmc_hostname(host), err,
			ktime_to_us(ktime_sub(ktime_get(), start)));
	return err;
}
EXPORT_SYMBOL(mmc_resume_host);
+33 −0
Original line number Diff line number Diff line
@@ -105,6 +105,39 @@ TRACE_EVENT(mmc_clk,
	)
);

DECLARE_EVENT_CLASS(mmc_pm_template,
	TP_PROTO(const char *dev_name, int err, s64 usecs),

	TP_ARGS(dev_name, err, usecs),

	TP_STRUCT__entry(
		__field(s64, usecs)
		__field(int, err)
		__string(dev_name, dev_name)
	),

	TP_fast_assign(
		__entry->usecs = usecs;
		__entry->err = err;
		__assign_str(dev_name, dev_name);
	),

	TP_printk(
		"took %lld usecs, %s err %d",
		__entry->usecs,
		__get_str(dev_name),
		__entry->err
	)
);

DEFINE_EVENT(mmc_pm_template, mmc_suspend_host,
	     TP_PROTO(const char *dev_name, int err, s64 usecs),
	     TP_ARGS(dev_name, err, usecs));

DEFINE_EVENT(mmc_pm_template, mmc_resume_host,
	     TP_PROTO(const char *dev_name, int err, s64 usecs),
	     TP_ARGS(dev_name, err, usecs));

#endif /* if !defined(_TRACE_MMC_H) || defined(TRACE_HEADER_MULTI_READ) */

/* This part must be outside protection */