All of lore.kernel.org
 help / color / mirror / Atom feed
From: biju.das@bp.renesas.com (Biju Das)
To: cip-dev@lists.cip-project.org
Subject: [cip-dev] [PATCH 4.4.y-cip 69/83] mmc: renesas-sdhi: make renesas_sdhi_sys_dmac main module file
Date: Thu,  7 Nov 2019 08:32:38 +0000	[thread overview]
Message-ID: <1573115572-13513-70-git-send-email-biju.das@bp.renesas.com> (raw)
In-Reply-To: <1573115572-13513-1-git-send-email-biju.das@bp.renesas.com>

From: Simon Horman <horms+renesas@verge.net.au>

commit 9d08428afb722fedaea699a32aaf603a8f1ebd5a upstream.

Make renesas_sdhi_sys_dmac.c a top-level module file that makes use of
library code supplied by renesas_sdhi_core.c

This is in order to facilitate adding other variants of SDHI;
in particular SDHI using different DMA controllers.

Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Reviewed-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
[Arnd: Fixed module build error]
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Biju Das <biju.das@bp.renesas.com>
[ Backported to 4.4 Kernel ]
---
 drivers/mmc/host/renesas_sdhi.h          |  23 +++++-
 drivers/mmc/host/renesas_sdhi_core.c     | 128 ++-----------------------------
 drivers/mmc/host/renesas_sdhi_sys_dmac.c | 109 +++++++++++++++++++++++++-
 3 files changed, 135 insertions(+), 125 deletions(-)

diff --git a/drivers/mmc/host/renesas_sdhi.h b/drivers/mmc/host/renesas_sdhi.h
index f65d936c..eb3ea15 100644
--- a/drivers/mmc/host/renesas_sdhi.h
+++ b/drivers/mmc/host/renesas_sdhi.h
@@ -12,7 +12,28 @@
 #ifndef RENESAS_SDHI_H
 #define RENESAS_SDHI_H
 
+#include <linux/platform_device.h>
 #include "tmio_mmc.h"
 
-const struct tmio_mmc_dma_ops *renesas_sdhi_get_dma_ops(void);
+struct renesas_sdhi_scc {
+	unsigned long clk_rate;	/* clock rate for SDR104 */
+	u32 tap;		/* sampling clock position for SDR104 */
+};
+
+struct renesas_sdhi_of_data {
+	unsigned long tmio_flags;
+	u32	      tmio_ocr_mask;
+	unsigned long capabilities;
+	unsigned long capabilities2;
+	enum dma_slave_buswidth dma_buswidth;
+	dma_addr_t dma_rx_offset;
+	unsigned bus_shift;
+	int scc_offset;
+	struct renesas_sdhi_scc *taps;
+	int taps_num;
+};
+
+int renesas_sdhi_probe(struct platform_device *pdev,
+                       const struct tmio_mmc_dma_ops *dma_ops);
+int renesas_sdhi_remove(struct platform_device *pdev);
 #endif
diff --git a/drivers/mmc/host/renesas_sdhi_core.c b/drivers/mmc/host/renesas_sdhi_core.c
index ee60e90..36e2f61 100644
--- a/drivers/mmc/host/renesas_sdhi_core.c
+++ b/drivers/mmc/host/renesas_sdhi_core.c
@@ -1,5 +1,5 @@
 /*
- * SuperH Mobile SDHI
+ * Renesas SDHI
  *
  * Copyright (C) 2016 Sang Engineering, Wolfram Sang
  * Copyright (C) 2015-16 Renesas Electronics Corporation
@@ -23,8 +23,6 @@
 #include <linux/kernel.h>
 #include <linux/clk.h>
 #include <linux/slab.h>
-#include <linux/mod_devicetable.h>
-#include <linux/module.h>
 #include <linux/of_device.h>
 #include <linux/platform_device.h>
 #include <linux/mmc/host.h>
@@ -48,94 +46,6 @@
 
 #define host_to_priv(host) container_of((host)->pdata, struct renesas_sdhi, mmc_data)
 
-struct renesas_sdhi_scc {
-	unsigned long clk_rate;	/* clock rate for SDR104 */
-	u32 tap;		/* sampling clock position for SDR104 */
-};
-
-struct renesas_sdhi_of_data {
-	unsigned long tmio_flags;
-	u32	      tmio_ocr_mask;
-	unsigned long capabilities;
-	unsigned long capabilities2;
-	enum dma_slave_buswidth dma_buswidth;
-	dma_addr_t dma_rx_offset;
-	unsigned bus_shift;
-	int scc_offset;
-	struct renesas_sdhi_scc *taps;
-	int taps_num;
-};
-
-static const struct renesas_sdhi_of_data of_default_cfg = {
-	.tmio_flags = TMIO_MMC_HAS_IDLE_WAIT,
-};
-
-static const struct renesas_sdhi_of_data of_rcar_gen1_compatible = {
-	.tmio_flags	= TMIO_MMC_HAS_IDLE_WAIT | TMIO_MMC_WRPROTECT_DISABLE |
-			  TMIO_MMC_CLK_ACTUAL,
-	.capabilities	= MMC_CAP_SD_HIGHSPEED | MMC_CAP_SDIO_IRQ,
-};
-
-/* Definitions for sampling clocks */
-static struct renesas_sdhi_scc rcar_gen2_scc_taps[] = {
-	{
-		.clk_rate = 156000000,
-		.tap = 0x00000703,
-	},
-	{
-		.clk_rate = 0,
-		.tap = 0x00000300,
-	},
-};
-
-static const struct renesas_sdhi_of_data of_rcar_gen2_compatible = {
-	.tmio_flags	= TMIO_MMC_HAS_IDLE_WAIT | TMIO_MMC_WRPROTECT_DISABLE |
-			  TMIO_MMC_CLK_ACTUAL | TMIO_MMC_MIN_RCAR2,
-	.capabilities	= MMC_CAP_SD_HIGHSPEED | MMC_CAP_SDIO_IRQ,
-	.dma_buswidth	= DMA_SLAVE_BUSWIDTH_4_BYTES,
-	.dma_rx_offset	= 0x2000,
-	.scc_offset	= 0x0300,
-	.taps		= rcar_gen2_scc_taps,
-	.taps_num	= ARRAY_SIZE(rcar_gen2_scc_taps),
-};
-
-/* Definitions for sampling clocks */
-static struct renesas_sdhi_scc rcar_gen3_scc_taps[] = {
-	{
-		.clk_rate = 0,
-		.tap = 0x00000300,
-	},
-};
-
-static const struct renesas_sdhi_of_data of_rcar_gen3_compatible = {
-	.tmio_flags	= TMIO_MMC_HAS_IDLE_WAIT | TMIO_MMC_WRPROTECT_DISABLE |
-			  TMIO_MMC_CLK_ACTUAL | TMIO_MMC_MIN_RCAR2,
-	.capabilities	= MMC_CAP_SD_HIGHSPEED | MMC_CAP_SDIO_IRQ,
-	.bus_shift	= 2,
-	.scc_offset	= 0x1000,
-	.taps		= rcar_gen3_scc_taps,
-	.taps_num	= ARRAY_SIZE(rcar_gen3_scc_taps),
-};
-
-static const struct of_device_id renesas_sdhi_of_match[] = {
-	{ .compatible = "renesas,sdhi-shmobile" },
-	{ .compatible = "renesas,sdhi-sh7372" },
-	{ .compatible = "renesas,sdhi-sh73a0", .data = &of_default_cfg, },
-	{ .compatible = "renesas,sdhi-r8a73a4", .data = &of_default_cfg, },
-	{ .compatible = "renesas,sdhi-r8a7740", .data = &of_default_cfg, },
-	{ .compatible = "renesas,sdhi-r8a7778", .data = &of_rcar_gen1_compatible, },
-	{ .compatible = "renesas,sdhi-r8a7779", .data = &of_rcar_gen1_compatible, },
-	{ .compatible = "renesas,sdhi-r8a7743", .data = &of_rcar_gen2_compatible, },
-	{ .compatible = "renesas,sdhi-r8a7745", .data = &of_rcar_gen2_compatible, },
-	{ .compatible = "renesas,sdhi-r8a7790", .data = &of_rcar_gen2_compatible, },
-	{ .compatible = "renesas,sdhi-r8a7791", .data = &of_rcar_gen2_compatible, },
-	{ .compatible = "renesas,sdhi-r8a7792", .data = &of_rcar_gen2_compatible, },
-	{ .compatible = "renesas,sdhi-r8a7793", .data = &of_rcar_gen2_compatible, },
-	{ .compatible = "renesas,sdhi-r8a7794", .data = &of_rcar_gen2_compatible, },
-	{},
-};
-MODULE_DEVICE_TABLE(of, renesas_sdhi_of_match);
-
 struct renesas_sdhi {
 	struct clk *clk;
 	struct tmio_mmc_data mmc_data;
@@ -538,9 +448,10 @@ static void renesas_sdhi_enable_dma(struct tmio_mmc_host *host, bool enable)
 	renesas_sdhi_sdbuf_width(host, enable ? 32 : 16);
 }
 
-static int renesas_sdhi_probe(struct platform_device *pdev)
+int renesas_sdhi_probe(struct platform_device *pdev,
+		       const struct tmio_mmc_dma_ops *dma_ops)
 {
-	const struct renesas_sdhi_of_data *of_data = of_device_get_match_data(&pdev->dev);
+	const struct renesas_sdhi_of_data *of_data = of_device_get_match_data( &pdev->dev);
 	struct renesas_sdhi *priv;
 	struct tmio_mmc_data *mmc_data;
 	struct tmio_mmc_data *mmd = pdev->dev.platform_data;
@@ -639,7 +550,7 @@ static int renesas_sdhi_probe(struct platform_device *pdev)
 	/* All SDHI have SDIO status bits which must be 1 */
 	mmc_data->flags |= TMIO_MMC_SDIO_STATUS_SETBITS;
 
-	ret = tmio_mmc_host_probe(host, mmc_data, renesas_sdhi_get_dma_ops());
+	ret = tmio_mmc_host_probe(host, mmc_data, dma_ops);
 	if (ret < 0)
 		goto efree;
 
@@ -704,8 +615,9 @@ efree:
 eprobe:
 	return ret;
 }
+EXPORT_SYMBOL_GPL(renesas_sdhi_probe);
 
-static int renesas_sdhi_remove(struct platform_device *pdev)
+int renesas_sdhi_remove(struct platform_device *pdev)
 {
 	struct mmc_host *mmc = platform_get_drvdata(pdev);
 	struct tmio_mmc_host *host = mmc_priv(mmc);
@@ -714,28 +626,4 @@ static int renesas_sdhi_remove(struct platform_device *pdev)
 
 	return 0;
 }
-
-static const struct dev_pm_ops tmio_mmc_dev_pm_ops = {
-	SET_SYSTEM_SLEEP_PM_OPS(pm_runtime_force_suspend,
-			pm_runtime_force_resume)
-	SET_RUNTIME_PM_OPS(tmio_mmc_host_runtime_suspend,
-			tmio_mmc_host_runtime_resume,
-			NULL)
-};
-
-static struct platform_driver renesas_sdhi_driver = {
-	.driver		= {
-		.name	= "sh_mobile_sdhi",
-		.pm	= &tmio_mmc_dev_pm_ops,
-		.of_match_table = renesas_sdhi_of_match,
-	},
-	.probe		= renesas_sdhi_probe,
-	.remove		= renesas_sdhi_remove,
-};
-
-module_platform_driver(renesas_sdhi_driver);
-
-MODULE_DESCRIPTION("Renesas SDHI driver");
-MODULE_AUTHOR("Magnus Damm");
-MODULE_LICENSE("GPL v2");
-MODULE_ALIAS("platform:sh_mobile_sdhi");
+EXPORT_SYMBOL_GPL(renesas_sdhi_remove);
diff --git a/drivers/mmc/host/renesas_sdhi_sys_dmac.c b/drivers/mmc/host/renesas_sdhi_sys_dmac.c
index ca96e33..82a37d1 100644
--- a/drivers/mmc/host/renesas_sdhi_sys_dmac.c
+++ b/drivers/mmc/host/renesas_sdhi_sys_dmac.c
@@ -13,13 +13,86 @@
 #include <linux/dmaengine.h>
 #include <linux/mfd/tmio.h>
 #include <linux/mmc/host.h>
+#include <linux/mod_devicetable.h>
+#include <linux/module.h>
 #include <linux/pagemap.h>
 #include <linux/scatterlist.h>
 
+#include "renesas_sdhi.h"
 #include "tmio_mmc.h"
 
 #define TMIO_MMC_MIN_DMA_LEN 8
 
+static const struct renesas_sdhi_of_data of_default_cfg = {
+	.tmio_flags = TMIO_MMC_HAS_IDLE_WAIT,
+};
+
+static const struct renesas_sdhi_of_data of_rcar_gen1_compatible = {
+	.tmio_flags	= TMIO_MMC_HAS_IDLE_WAIT | TMIO_MMC_WRPROTECT_DISABLE |
+			  TMIO_MMC_CLK_ACTUAL,
+	.capabilities	= MMC_CAP_SD_HIGHSPEED | MMC_CAP_SDIO_IRQ,
+};
+
+/* Definitions for sampling clocks */
+static struct renesas_sdhi_scc rcar_gen2_scc_taps[] = {
+	{
+		.clk_rate = 156000000,
+		.tap = 0x00000703,
+	},
+	{
+		.clk_rate = 0,
+		.tap = 0x00000300,
+	},
+};
+
+static const struct renesas_sdhi_of_data of_rcar_gen2_compatible = {
+	.tmio_flags	= TMIO_MMC_HAS_IDLE_WAIT | TMIO_MMC_WRPROTECT_DISABLE |
+			  TMIO_MMC_CLK_ACTUAL | TMIO_MMC_MIN_RCAR2,
+	.capabilities	= MMC_CAP_SD_HIGHSPEED | MMC_CAP_SDIO_IRQ,
+	.dma_buswidth	= DMA_SLAVE_BUSWIDTH_4_BYTES,
+	.dma_rx_offset	= 0x2000,
+	.scc_offset	= 0x0300,
+	.taps		= rcar_gen2_scc_taps,
+	.taps_num	= ARRAY_SIZE(rcar_gen2_scc_taps),
+};
+
+/* Definitions for sampling clocks */
+static struct renesas_sdhi_scc rcar_gen3_scc_taps[] = {
+	{
+		.clk_rate = 0,
+		.tap = 0x00000300,
+	},
+};
+
+static const struct renesas_sdhi_of_data of_rcar_gen3_compatible = {
+	.tmio_flags	= TMIO_MMC_HAS_IDLE_WAIT | TMIO_MMC_WRPROTECT_DISABLE |
+			  TMIO_MMC_CLK_ACTUAL | TMIO_MMC_MIN_RCAR2,
+	.capabilities	= MMC_CAP_SD_HIGHSPEED | MMC_CAP_SDIO_IRQ,
+	.bus_shift	= 2,
+	.scc_offset	= 0x1000,
+	.taps		= rcar_gen3_scc_taps,
+	.taps_num	= ARRAY_SIZE(rcar_gen3_scc_taps),
+};
+
+static const struct of_device_id renesas_sdhi_sys_dmac_of_match[] = {
+	{ .compatible = "renesas,sdhi-shmobile" },
+	{ .compatible = "renesas,sdhi-sh73a0", .data = &of_default_cfg, },
+	{ .compatible = "renesas,sdhi-r8a73a4", .data = &of_default_cfg, },
+	{ .compatible = "renesas,sdhi-r8a7740", .data = &of_default_cfg, },
+	{ .compatible = "renesas,sdhi-r8a7778", .data = &of_rcar_gen1_compatible, },
+	{ .compatible = "renesas,sdhi-r8a7779", .data = &of_rcar_gen1_compatible, },
+	{ .compatible = "renesas,sdhi-r8a7743", .data = &of_rcar_gen2_compatible, },
+	{ .compatible = "renesas,sdhi-r8a7745", .data = &of_rcar_gen2_compatible, },
+	{ .compatible = "renesas,sdhi-r8a7790", .data = &of_rcar_gen2_compatible, },
+	{ .compatible = "renesas,sdhi-r8a7791", .data = &of_rcar_gen2_compatible, },
+	{ .compatible = "renesas,sdhi-r8a7792", .data = &of_rcar_gen2_compatible, },
+	{ .compatible = "renesas,sdhi-r8a7793", .data = &of_rcar_gen2_compatible, },
+	{ .compatible = "renesas,sdhi-r8a7794", .data = &of_rcar_gen2_compatible, },
+	{},
+};
+MODULE_DEVICE_TABLE(of, renesas_sdhi_sys_dmac_of_match);
+
+
 static void renesas_sdhi_sys_dmac_enable_dma(struct tmio_mmc_host *host,
 					     bool enable)
 {
@@ -46,8 +119,6 @@ static void renesas_sdhi_sys_dmac_dma_callback(void *arg)
 {
 	struct tmio_mmc_host *host = arg;
 
-	wait_for_completion(&host->dma_dataend);
-
 	spin_lock_irq(&host->lock);
 
 	if (!host->data)
@@ -62,6 +133,11 @@ static void renesas_sdhi_sys_dmac_dma_callback(void *arg)
 			     host->sg_ptr, host->sg_len,
 			     DMA_TO_DEVICE);
 
+	spin_unlock_irq(&host->lock);
+
+	wait_for_completion(&host->dma_dataend);
+
+	spin_lock_irq(&host->lock);
 	tmio_mmc_do_data_irq(host);
 out:
 	spin_unlock_irq(&host->lock);
@@ -362,7 +438,32 @@ static const struct tmio_mmc_dma_ops renesas_sdhi_sys_dmac_dma_ops = {
 	.abort = renesas_sdhi_sys_dmac_abort_dma,
 };
 
-const struct tmio_mmc_dma_ops *renesas_sdhi_get_dma_ops(void)
+static int renesas_sdhi_sys_dmac_probe(struct platform_device *pdev)
 {
-	return &renesas_sdhi_sys_dmac_dma_ops;
+	return renesas_sdhi_probe(pdev, &renesas_sdhi_sys_dmac_dma_ops);
 }
+
+static const struct dev_pm_ops renesas_sdhi_sys_dmac_dev_pm_ops = {
+	SET_SYSTEM_SLEEP_PM_OPS(pm_runtime_force_suspend,
+			pm_runtime_force_resume)
+	SET_RUNTIME_PM_OPS(tmio_mmc_host_runtime_suspend,
+			tmio_mmc_host_runtime_resume,
+			NULL)
+};
+
+static struct platform_driver renesas_sys_dmac_sdhi_driver = {
+	.driver		= {
+		.name	= "sh_mobile_sdhi",
+		.pm	= &renesas_sdhi_sys_dmac_dev_pm_ops,
+		.of_match_table = renesas_sdhi_sys_dmac_of_match,
+	},
+	.probe		= renesas_sdhi_sys_dmac_probe,
+	.remove		= renesas_sdhi_remove,
+};
+
+module_platform_driver(renesas_sys_dmac_sdhi_driver);
+
+MODULE_DESCRIPTION("Renesas SDHI driver");
+MODULE_AUTHOR("Magnus Damm");
+MODULE_LICENSE("GPL v2");
+MODULE_ALIAS("platform:sh_mobile_sdhi");
-- 
2.7.4

  parent reply	other threads:[~2019-11-07  8:32 UTC|newest]

Thread overview: 127+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-11-07  8:31 [cip-dev] [PATCH 4.4.y-cip 00/83] Add RZ/G1C SD/eMMC support Biju Das
2019-11-07  8:31 ` [cip-dev] [PATCH 4.4.y-cip 01/83] mmc: tmio_mmc_dma: don't print invalid DMA cookie Biju Das
2019-11-07  8:31 ` [cip-dev] [PATCH 4.4.y-cip 02/83] mmc: tmio_dma: remove debug messages with little information Biju Das
2019-11-08  9:07   ` Pavel Machek
2019-11-08  9:15     ` Biju Das
2019-11-08 11:37       ` Pavel Machek
2019-11-07  8:31 ` [cip-dev] [PATCH 4.4.y-cip 03/83] mmc: tmio: add flag to reduce delay after changing clock status Biju Das
2019-11-07  8:31 ` [cip-dev] [PATCH 4.4.y-cip 04/83] mmc: tmio: remove stale comments Biju Das
2019-11-07  8:31 ` [cip-dev] [PATCH 4.4.y-cip 05/83] mmc: tmio: refactor set_clock a little Biju Das
2019-11-07  8:31 ` [cip-dev] [PATCH 4.4.y-cip 06/83] mmc: tmio: disable clock before changing it Biju Das
2019-11-07  8:31 ` [cip-dev] [PATCH 4.4.y-cip 07/83] mmc: sdhi: use faster clock handling on RCar Gen2 Biju Das
2019-11-07  8:31 ` [cip-dev] [PATCH 4.4.y-cip 08/83] mmc: sdhi: error message on ENOMEM is superfluous Biju Das
2019-11-07  8:31 ` [cip-dev] [PATCH 4.4.y-cip 09/83] mmc: sdhi: Add r8a7795 support Biju Das
2019-11-07  8:31 ` [cip-dev] [PATCH 4.4.y-cip 10/83] mmc: tmio, sh_mobile_sdhi: Pass tmio_mmc_host ptr to clk_{enable, disable} ops Biju Das
2019-11-07  8:31 ` [cip-dev] [PATCH 4.4.y-cip 11/83] mmc: tmio, sh_mobile_sdhi: Add support for variable input clock frequency Biju Das
2019-11-07  8:31 ` [cip-dev] [PATCH 4.4.y-cip 12/83] mmc: tmio: Add UHS-I mode support Biju Das
2019-11-07  8:31 ` [cip-dev] [PATCH 4.4.y-cip 13/83] mmc: sh_mobile_sdhi: " Biju Das
2019-11-07  8:31 ` [cip-dev] [PATCH 4.4.y-cip 14/83] mmc: tmio: always start clock after frequency calculation Biju Das
2019-11-07  8:31 ` [cip-dev] [PATCH 4.4.y-cip 15/83] mmc: tmio: stop clock when 0Hz is requested Biju Das
2019-11-08  9:15   ` Pavel Machek
2019-11-08 12:50     ` Biju Das
2019-11-07  8:31 ` [cip-dev] [PATCH 4.4.y-cip 16/83] mmc: tmio: Remove redundant runtime PM calls Biju Das
2019-11-07  8:31 ` [cip-dev] [PATCH 4.4.y-cip 17/83] mmc: sh_mobile_sdhi: remove obsolete irq_by_name registration Biju Das
2019-11-07  8:31 ` [cip-dev] [PATCH 4.4.y-cip 18/83] mmc: tmio: remove now unneeded seperate irq handlers Biju Das
2019-11-08  9:18   ` Pavel Machek
2019-11-08 12:53     ` Biju Das
2019-11-07  8:31 ` [cip-dev] [PATCH 4.4.y-cip 19/83] mmc: tmio: simplify irq handler Biju Das
2019-11-07  8:31 ` [cip-dev] [PATCH 4.4.y-cip 20/83] mmc: tmio: merge distributed include files Biju Das
2019-11-07  8:31 ` [cip-dev] [PATCH 4.4.y-cip 21/83] mmc: tmio: give read32/write32 functions more descriptive names Biju Das
2019-11-07  8:31 ` [cip-dev] [PATCH 4.4.y-cip 22/83] mmc: tmio: use BIT() within defines Biju Das
2019-11-07  8:31 ` [cip-dev] [PATCH 4.4.y-cip 23/83] mmc: tmio: use CTL_STATUS consistently Biju Das
2019-11-07  8:31 ` [cip-dev] [PATCH 4.4.y-cip 24/83] mmc: tmio/sdhi: distinguish between SCLKDIVEN and ILL_FUNC Biju Das
2019-11-07  8:31 ` [cip-dev] [PATCH 4.4.y-cip 25/83] mmc: tmio: document CTL_STATUS handling Biju Das
2019-11-07  8:31 ` [cip-dev] [PATCH 4.4.y-cip 26/83] mmc: tmio/sdhi: introduce flag for RCar 2+ specific features Biju Das
2019-11-08  9:20   ` Pavel Machek
2019-11-08 12:54     ` Biju Das
2019-11-07  8:31 ` [cip-dev] [PATCH 4.4.y-cip 27/83] mmc: sh_mobile_sdhi: make clk_update function more compact Biju Das
2019-11-07  8:31 ` [cip-dev] [PATCH 4.4.y-cip 28/83] mmc: sh_mobile_sdhi: only change the clock on RCar Gen2+ Biju Das
2019-11-07  8:31 ` [cip-dev] [PATCH 4.4.y-cip 29/83] mmc: sh_mobile_sdhi: check return value when changing clk Biju Das
2019-11-07  8:31 ` [cip-dev] [PATCH 4.4.y-cip 30/83] mmc: sh_mobile_sdhi: properly document R-Car versions Biju Das
2019-11-07  8:32 ` [cip-dev] [PATCH 4.4.y-cip 31/83] mmc: host: sh_mobile_sdhi: move card_busy from tmio to sdhi Biju Das
2019-11-08  9:22   ` Pavel Machek
2019-11-08 12:56     ` Biju Das
2019-11-07  8:32 ` [cip-dev] [PATCH 4.4.y-cip 32/83] mmc: host: sh_mobile_sdhi: don't populate unneeded functions Biju Das
2019-11-07  8:32 ` [cip-dev] [PATCH 4.4.y-cip 33/83] mmc: tmio: add eMMC support Biju Das
2019-11-08  9:24   ` Pavel Machek
2019-11-08 12:58     ` Biju Das
2019-11-07  8:32 ` [cip-dev] [PATCH 4.4.y-cip 34/83] mmc: tmio-mmc: add support for 32bit data port Biju Das
2019-11-07  8:32 ` [cip-dev] [PATCH 4.4.y-cip 35/83] mmc: add define for R1 response without CRC Biju Das
2019-11-07  8:32 ` [cip-dev] [PATCH 4.4.y-cip 36/83] mmc: sh_mobile_sdhi: add ocr_mask option Biju Das
2019-11-08  9:28   ` Pavel Machek
2019-11-19  8:39     ` Biju Das
2019-11-07  8:32 ` [cip-dev] [PATCH 4.4.y-cip 37/83] mmc: tmio: enhance illegal sequence handling Biju Das
2019-11-08  9:30   ` Pavel Machek
2019-11-08 13:17     ` Biju Das
2019-11-07  8:32 ` [cip-dev] [PATCH 4.4.y-cip 38/83] mmc: tmio: document mandatory and optional callbacks Biju Das
2019-11-07  8:32 ` [cip-dev] [PATCH 4.4.y-cip 39/83] mmc: tmio: Add hw reset support Biju Das
2019-11-07  8:32 ` [cip-dev] [PATCH 4.4.y-cip 40/83] mmc: core: Add helper to see if a host can be retuned Biju Das
2019-11-08  9:31   ` Pavel Machek
2019-11-07  8:32 ` [cip-dev] [PATCH 4.4.y-cip 41/83] mmc: tmio: Add tuning support Biju Das
2019-11-08  9:36   ` Pavel Machek
2019-11-08 13:20     ` Biju Das
2019-11-07  8:32 ` [cip-dev] [PATCH 4.4.y-cip 42/83] mmc: sh_mobile_sdhi: " Biju Das
2019-11-07  8:32 ` [cip-dev] [PATCH 4.4.y-cip 43/83] mmc: tmio: fix wrong bitmask for SDIO irqs Biju Das
2019-11-07  8:32 ` [cip-dev] [PATCH 4.4.y-cip 44/83] mmc: tmio: remove SDIO from TODO list Biju Das
2019-11-07  8:32 ` [cip-dev] [PATCH 4.4.y-cip 45/83] mmc: tmio: use SDIO master interrupt bit only when allowed Biju Das
2019-11-07  8:32 ` [cip-dev] [PATCH 4.4.y-cip 46/83] mmc: sh_mobile_sdhi: simplify accessing DT data Biju Das
2019-11-07  8:32 ` [cip-dev] [PATCH 4.4.y-cip 47/83] mmc: sh_mobile_sdhi: improve prerequisite for hw_reset Biju Das
2019-11-07  8:32 ` [cip-dev] [PATCH 4.4.y-cip 48/83] mmc: sh_mobile_sdhi: remove superfluous check in hw_reset Biju Das
2019-11-07  8:32 ` [cip-dev] [PATCH 4.4.y-cip 49/83] mmc: sh_mobile_sdhi: improve prerequisites for tuning Biju Das
2019-11-07  8:32 ` [cip-dev] [PATCH 4.4.y-cip 50/83] mmc: sh_mobile_sdhi: remove superfluous check in SCC error check Biju Das
2019-11-07  8:32 ` [cip-dev] [PATCH 4.4.y-cip 51/83] mmc: sh_mobile_sdhi: remove superfluous check in init_tuning Biju Das
2019-11-07  8:32 ` [cip-dev] [PATCH 4.4.y-cip 52/83] mmc: sh_mobile_sdhi: enable HS200 Biju Das
2019-11-07  8:32 ` [cip-dev] [PATCH 4.4.y-cip 53/83] mmc: host: tmio: drop superfluous exit path Biju Das
2019-11-07  8:32 ` [cip-dev] [PATCH 4.4.y-cip 54/83] mmc: tmio: Remove redundant check of mmc->slot.cd_irq Biju Das
2019-11-07  8:32 ` [cip-dev] [PATCH 4.4.y-cip 55/83] mmc: host: tmio: disable clocks when unbinding Biju Das
2019-11-07  8:32 ` [cip-dev] [PATCH 4.4.y-cip 56/83] mmc: host: tmio: refactor calls to sdio irq Biju Das
2019-11-08  9:42   ` Pavel Machek
2019-11-08 13:26     ` Biju Das
2019-11-07  8:32 ` [cip-dev] [PATCH 4.4.y-cip 57/83] mmc: host: tmio: SDIO_STATUS_QUIRK is rather SDIO_STATUS_SETBITS Biju Das
2019-11-07  8:32 ` [cip-dev] [PATCH 4.4.y-cip 58/83] mmc: tmio: discard obsolete SDIO irqs before enabling irqs Biju Das
2019-11-07  8:32 ` [cip-dev] [PATCH 4.4.y-cip 59/83] mmc: tmio: ensure end of DMA and SD access are in sync Biju Das
2019-11-07  8:32 ` [cip-dev] [PATCH 4.4.y-cip 60/83] mmc: host: tmio: use defines for CTL_STOP_INTERNAL_ACTION values Biju Das
2019-11-07  8:32 ` [cip-dev] [PATCH 4.4.y-cip 61/83] mmc: host: tmio: don't BUG on unsupported stop commands Biju Das
2019-11-07  8:32 ` [cip-dev] [PATCH 4.4.y-cip 62/83] mmc: host: tmio: fill in response from auto cmd12 Biju Das
2019-11-07  8:32 ` [cip-dev] [PATCH 4.4.y-cip 63/83] mmc: tmio: always get number of taps Biju Das
2019-11-08  9:44   ` Pavel Machek
2019-11-08 13:28     ` Biju Das
2019-11-07  8:32 ` [cip-dev] [PATCH 4.4.y-cip 64/83] mmc: tmio: drop filenames from comment at top of source Biju Das
2019-11-07  8:32 ` [cip-dev] [PATCH 4.4.y-cip 65/83] mmc: renesas-sdhi, tmio: make dma more modular Biju Das
2019-11-07  8:32 ` [cip-dev] [PATCH 4.4.y-cip 66/83] mmc: tmio: rename tmio_mmc_{pio => core}.c Biju Das
2019-11-08  9:47   ` Pavel Machek
2019-11-08 13:33     ` Biju Das
2019-11-08 20:02       ` Pavel Machek
2019-11-11 13:52         ` Biju Das
2019-11-07  8:32 ` [cip-dev] [PATCH 4.4.y-cip 67/83] mmc: renesas-sdhi: rename tmio_mmc_dma.c => renesas_sdhi_sys_dmac.c Biju Das
2019-11-07  8:32 ` [cip-dev] [PATCH 4.4.y-cip 68/83] mmc: renesas-sdhi: rename sh_mobile_sdhi.c => renesas_sdhi_core.c Biju Das
2019-11-07  8:32 ` Biju Das [this message]
2019-11-08  9:56   ` [cip-dev] [PATCH 4.4.y-cip 69/83] mmc: renesas-sdhi: make renesas_sdhi_sys_dmac main module file Pavel Machek
2019-11-08 13:34     ` Biju Das
2019-11-08 20:05       ` Pavel Machek
2019-11-07  8:32 ` [cip-dev] [PATCH 4.4.y-cip 70/83] mmc: renesas-sdhi: improve checkpatch cleanness Biju Das
2019-11-07  8:32 ` [cip-dev] [PATCH 4.4.y-cip 71/83] mmc: tmio, renesas-sdhi: add max_{segs, blk_count} to tmio_mmc_data Biju Das
2019-11-08 10:03   ` Pavel Machek
2019-11-08 13:41     ` Biju Das
2019-11-07  8:32 ` [cip-dev] [PATCH 4.4.y-cip 72/83] mmc: tmio, renesas-sdhi: add dataend to DMA ops Biju Das
2019-11-07  8:32 ` [cip-dev] [PATCH 4.4.y-cip 73/83] mmc: renesas-sdhi: add support for R-Car Gen3 SDHI DMAC Biju Das
2019-11-07  8:32 ` [cip-dev] [PATCH 4.4.y-cip 74/83] mmc: tmio-mmc: fix bad pointer math Biju Das
2019-11-08 10:38   ` Pavel Machek
2019-11-07  8:32 ` [cip-dev] [PATCH 4.4.y-cip 75/83] mmc: renesas_sdhi: consolidate DMAC CONFIG options Biju Das
2019-11-07  8:32 ` [cip-dev] [PATCH 4.4.y-cip 76/83] dt-bindings: mmc: renesas_sdhi: add R-Car Gen[123] fallback compatibility strings Biju Das
2019-11-07  8:32 ` [cip-dev] [PATCH 4.4.y-cip 77/83] mmc: renesas_sdhi: implement " Biju Das
2019-11-07  8:32 ` [cip-dev] [PATCH 4.4.y-cip 78/83] dt-bindings: mmc: renesas_sdhi: Add r8a77470 support Biju Das
2019-11-07  8:32 ` [cip-dev] [PATCH 4.4.y-cip 79/83] mmc: renesas_sdhi: Add r8a77470 SDHI1 support Biju Das
2019-11-07  8:32 ` [cip-dev] [PATCH 4.4.y-cip 80/83] ARM: dts: r8a77470: Add SDHI2 support Biju Das
2019-11-07  8:32 ` [cip-dev] [PATCH 4.4.y-cip 81/83] ARM: dts: r8a77470: Add SDHI0 support Biju Das
2019-11-07  8:32 ` [cip-dev] [PATCH 4.4.y-cip 82/83] ARM: dts: r8a77470: Add SDHI1 support Biju Das
2019-11-07  8:32 ` [cip-dev] [PATCH 4.4.y-cip 83/83] ARM: dts: iwg23s-sbc: Add uSD and eMMC support Biju Das
2019-11-07 21:01 ` [cip-dev] [PATCH 4.4.y-cip 00/83] Add RZ/G1C SD/eMMC support Pavel Machek
2019-11-08 10:32   ` Chris Paterson
2019-11-08 11:32     ` Pavel Machek
2019-11-08 13:43       ` Biju Das
2019-11-08 19:58         ` Pavel Machek
2019-11-14 16:13           ` Biju Das
     [not found]             ` <20191115123012.GA29996@duo.ucw.cz>
     [not found]               ` <OSBPR01MB2103290FD10A0643F9A78824B8700@OSBPR01MB2103.jpnprd01.prod.outlook.com>
2019-11-15 21:10                 ` Pavel Machek
2019-11-18  7:42                   ` Biju Das
2019-11-18 10:38                     ` Pavel Machek

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1573115572-13513-70-git-send-email-biju.das@bp.renesas.com \
    --to=biju.das@bp.renesas.com \
    --cc=cip-dev@lists.cip-project.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.