[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20190301164349.60589-1-christoph.muellner@theobroma-systems.com>
Date: Fri, 1 Mar 2019 17:43:45 +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>,
Douglas Anderson <dianders@...omium.org>,
Enric Balletbo i Serra <enric.balletbo@...labora.com>,
Viresh Kumar <viresh.kumar@...aro.org>,
Jeffy Chen <jeffy.chen@...k-chips.com>,
Shunqian Zheng <zhengsq@...k-chips.com>,
Ezequiel Garcia <ezequiel@...labora.com>,
Randy Li <ayaka@...lik.info>,
Tony Xie <tony.xie@...k-chips.com>,
Vicente Bergas <vicencb@...il.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 1/3] dt-bindings: mmc: Add DTS property to disable DCMDs on Arasan controllers
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 surpress 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>
---
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