[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20190322113808.16858-2-christoph.muellner@theobroma-systems.com>
Date: Fri, 22 Mar 2019 12:38:05 +0100
From: Christoph Muellner <christoph.muellner@...obroma-systems.com>
To: robh+dt@...nel.org, mark.rutland@....com, heiko@...ech.de,
shawn.lin@...k-chips.com, ulf.hansson@...aro.org,
adrian.hunter@...el.com
Cc: Christoph Muellner <christoph.muellner@...obroma-systems.com>,
Philipp Tomsich <philipp.tomsich@...obroma-systems.com>,
Michal Simek <michal.simek@...inx.com>,
Viresh Kumar <viresh.kumar@...aro.org>,
Enric Balletbo i Serra <enric.balletbo@...labora.com>,
Matthias Brugger <matthias.bgg@...il.com>,
Douglas Anderson <dianders@...omium.org>,
Tony Xie <tony.xie@...k-chips.com>,
Randy Li <ayaka@...lik.info>,
Vicente Bergas <vicencb@...il.com>,
Ezequiel Garcia <ezequiel@...labora.com>,
Klaus Goger <klaus.goger@...obroma-systems.com>,
linux-mmc@...r.kernel.org, devicetree@...r.kernel.org,
linux-kernel@...r.kernel.org, linux-arm-kernel@...ts.infradead.org,
linux-rockchip@...ts.infradead.org
Subject: [PATCH v3 2/3] mmc: sdhci-of-arasan: Add DTS property to disable DCMDs.
Direct commands (DCMDs) are an optional feature of eMMC 5.1's command
queue engine (CQE). The Arasan eMMC 5.1 controller uses the CQHCI,
which exposes a control register bit to enable the feature.
The current implementation sets this bit unconditionally.
This patch allows to suppress the feature activation,
by specifying the property disable-cqe-dcmd.
Signed-off-by: Christoph Muellner <christoph.muellner@...obroma-systems.com>
Signed-off-by: Philipp Tomsich <philipp.tomsich@...obroma-systems.com>
Acked-by: Adrian Hunter <adrian.hunter@...el.com>
---
drivers/mmc/host/sdhci-of-arasan.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/drivers/mmc/host/sdhci-of-arasan.c b/drivers/mmc/host/sdhci-of-arasan.c
index c9e3e050ccc8..88dc3f00a5be 100644
--- a/drivers/mmc/host/sdhci-of-arasan.c
+++ b/drivers/mmc/host/sdhci-of-arasan.c
@@ -832,7 +832,10 @@ static int sdhci_arasan_probe(struct platform_device *pdev)
host->mmc_host_ops.start_signal_voltage_switch =
sdhci_arasan_voltage_switch;
sdhci_arasan->has_cqe = true;
- host->mmc->caps2 |= MMC_CAP2_CQE | MMC_CAP2_CQE_DCMD;
+ host->mmc->caps2 |= MMC_CAP2_CQE;
+
+ if (!of_property_read_bool(np, "disable-cqe-dcmd"))
+ host->mmc->caps2 |= MMC_CAP2_CQE_DCMD;
}
ret = sdhci_arasan_add_host(sdhci_arasan);
--
2.11.0
Powered by blists - more mailing lists