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

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

Merge "mmc: add support for scheduling mmcqd on idle CPU"

parents 168f49e7 bd0ba63e
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -119,6 +119,9 @@ In the following, <supply> can be vdd (flash core voltage) or vdd-io (I/O voltag
	  big/little cluster CPU cores used for PM QoS voting. This is parsed only
	  for pm QoS request type of PM_QOS_REQ_AFFINE_CORES ("affine_cores").

	- qcom,wakeup-on-idle: if configured, the mmcqd thread will call
	  set_wake_up_idle(), thereby voting for it to be called on idle CPUs.

Example:

	aliases {
+2 −0
Original line number Diff line number Diff line
@@ -60,6 +60,8 @@ static int mmc_queue_thread(void *d)
	struct mmc_card *card = mq->card;

	current->flags |= PF_MEMALLOC;
	if (card->host->wakeup_on_idle)
		set_wake_up_idle(true);

	down(&mq->thread_sem);
	do {
+8 −2
Original line number Diff line number Diff line
@@ -1550,7 +1550,9 @@ static void sdhci_msm_populate_affinity(struct device *dev,
#endif

/* Parse platform data */
static struct sdhci_msm_pltfm_data *sdhci_msm_populate_pdata(struct device *dev)
static
struct sdhci_msm_pltfm_data *sdhci_msm_populate_pdata(struct device *dev,
						struct sdhci_msm_host *msm_host)
{
	struct sdhci_msm_pltfm_data *pdata = NULL;
	struct device_node *np = dev->of_node;
@@ -1708,6 +1710,9 @@ static struct sdhci_msm_pltfm_data *sdhci_msm_populate_pdata(struct device *dev)

	sdhci_msm_populate_affinity(dev, pdata, np);

	if (of_property_read_bool(np, "qcom,wakeup-on-idle"))
		msm_host->mmc->wakeup_on_idle = true;

	return pdata;
out:
	return NULL;
@@ -3168,7 +3173,8 @@ static int sdhci_msm_probe(struct platform_device *pdev)
			goto pltfm_free;
		}

		msm_host->pdata = sdhci_msm_populate_pdata(&pdev->dev);
		msm_host->pdata = sdhci_msm_populate_pdata(&pdev->dev,
							   msm_host);
		if (!msm_host->pdata) {
			dev_err(&pdev->dev, "DT parsing error\n");
			goto pltfm_free;
+1 −0
Original line number Diff line number Diff line
@@ -458,6 +458,7 @@ struct mmc_host {
	 * actually disabling the clock from it's source.
	 */
	bool			card_clock_off;
	bool			wakeup_on_idle;
	unsigned long		private[0] ____cacheline_aligned;
};