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

Commit eafa96a1 authored by Talel Shenhar's avatar Talel Shenhar
Browse files

mmc: core: disable clock scaling before system suspend



This change disables clock scaling in PM notification
for "prepare for system suspend".
This is needed because devfreq creates a dependency
between it and mmc which causes an issue for system suspend.
In this change we break this dependency in earlier stage.

Change-Id: I86dad94c77607b4e8f8fa67035323716f5eb197d
Signed-off-by: default avatarTalel Shenhar <tatias@codeaurora.org>
parent d4bc64ea
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -291,7 +291,8 @@ bool mmc_can_scale_clk(struct mmc_host *host)
		return false;
	}

	return host->caps2 & MMC_CAP2_CLK_SCALE;
	return (host->caps2 & MMC_CAP2_CLK_SCALE) &&
		(!(host->pm_flags & MMC_PM_IGNORE_PM_NOTIFY));
}
EXPORT_SYMBOL(mmc_can_scale_clk);

@@ -749,7 +750,7 @@ int mmc_exit_clk_scaling(struct mmc_host *host)
		return -EINVAL;
	}

	if (!mmc_can_scale_clk(host))
	if (!mmc_can_scale_clk(host) || !host->clk_scaling.enable)
		return 0;

	if (!host->clk_scaling.devfreq) {
@@ -3907,6 +3908,7 @@ int mmc_pm_notify(struct notifier_block *notify_block,
		spin_unlock_irqrestore(&host->lock, flags);
		cancel_delayed_work_sync(&host->detect);

		mmc_disable_clk_scaling(host);
		if (!host->bus_ops)
			break;