All of lore.kernel.org
 help / color / mirror / Atom feed
From: Shawn Lin <shawn.lin@rock-chips.com>
To: jh80.chung@samsung.com, ulf.hansson@linaro.org
Cc: heiko@sntech.de, dianders@chromium.org,
	Vineet.Gupta1@synopsys.com, Wei Xu <xuwei5@hisilicon.com>,
	Joachim Eastwood <manabian@gmail.com>,
	Alexey Brodkin <abrodkin@synopsys.com>,
	Kukjin Kim <kgene@kernel.org>,
	Krzysztof Kozlowski <k.kozlowski@samsung.com>,
	Russell King <linux@arm.linux.org.uk>,
	Jun Nie <jun.nie@linaro.org>, Ralf Baechle <ralf@linux-mips.org>,
	Govindraj Raja <govindraj.raja@imgtec.com>,
	linux-arm-kernel@lists.infradead.org,
	linux-samsung-soc@vger.kernel.org, linux-mips@linux-mips.org,
	linux-mmc@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-rockchip@lists.infradead.org, devicetree@vger.kernel.org,
	Shawn Lin <shawn.lin@rock-chips.com>
Subject: [RFC PATCH v4 0/9]
Date: Thu,  6 Aug 2015 14:44:29 +0800	[thread overview]
Message-ID: <1438843469-23807-1-git-send-email-shawn.lin@rock-chips.com> (raw)

Add external dma support for Synopsys MSHC

Synopsys DesignWare mobile storage host controller supports three
types of transfer mode: pio, internal dma and external dma. However,
dw_mmc can only supports pio and internal dma now. Thus some platforms
using dw-mshc integrated with generic dma can't work in dma mode. So we
submit this patch to achieve it.

And the config option, CONFIG_MMC_DW_IDMAC, was added by Will Newton
(commit:f95f3850) for the first version of dw_mmc and never be touched since
then. At that time dt-bindings hadn't been introduced into dw_mmc yet means
we should select CONFIG_MMC_DW_IDMAC to enable internal dma mode at compile
time. Nowadays, device-tree helps us to support a variety of boards with one
kernel. That's why we need to remove it and decide the transfer mode by reading
dw_mmc's HCON reg at runtime.

This RFC patch needs lots of ACKs. I know it's hard, but it does need someone
to make the running.

Patch does the following things:
- remove CONFIG_MMC_DW_IDMAC config option
- add bindings for edmac used by synopsys-dw-mshc
  at runtime
- add edmac support for synopsys-dw-mshc

Patch is based on next of git://git.linaro.org/people/ulf.hansson/mmc


Changes in v4:
- remove "host->trans_mode" and use "host->use_dma" to indicate
  transfer mode.
- remove all bt-bindings' changes since we don't need new properities.
- check transfer mode at runtime by reading HCON reg
- spilt defconfig changes for each sub-architecture
- fix the title of cover letter
- reuse some code for reducing code size

Changes in v3:
- choose transfer mode at runtime
- remove all CONFIG_MMC_DW_IDMAC config option
- add supports-idmac property for some platforms

Changes in v2:
- Fix typo of dev_info msg
- remove unused dmach from declaration of dw_mci_dma_slave

Shawn Lin (9):
  mmc: dw_mmc: Add external dma interface support
  Documentation: synopsys-dw-mshc: add bindings for idmac and edmac
  mips: pistachio_defconfig: remove CONFIG_MMC_DW_IDMAC
  arc: axs10x_defconfig: remove CONFIG_MMC_DW_IDMAC
  arm: exynos_defconfig: remove CONFIG_MMC_DW_IDMAC
  arm: hisi_defconfig: remove CONFIG_MMC_DW_IDMAC
  arm: lpc18xx_defconfig: remove CONFIG_MMC_DW_IDMAC
  arm: multi_v7_defconfig: remove CONFIG_MMC_DW_IDMAC
  arm: zx_defconfig: remove CONFIG_MMC_DW_IDMAC

 .../devicetree/bindings/mmc/synopsys-dw-mshc.txt   |  25 ++
 arch/arc/configs/axs101_defconfig                  |   1 -
 arch/arc/configs/axs103_defconfig                  |   1 -
 arch/arc/configs/axs103_smp_defconfig              |   1 -
 arch/arm/configs/exynos_defconfig                  |   1 -
 arch/arm/configs/hisi_defconfig                    |   1 -
 arch/arm/configs/lpc18xx_defconfig                 |   1 -
 arch/arm/configs/multi_v7_defconfig                |   1 -
 arch/arm/configs/zx_defconfig                      |   1 -
 arch/mips/configs/pistachio_defconfig              |   1 -
 drivers/mmc/host/Kconfig                           |  11 +-
 drivers/mmc/host/dw_mmc-pltfm.c                    |   2 +
 drivers/mmc/host/dw_mmc.c                          | 258 +++++++++++++++++----
 include/linux/mmc/dw_mmc.h                         |  27 ++-
 14 files changed, 257 insertions(+), 75 deletions(-)

-- 
2.3.7



WARNING: multiple messages have this Message-ID (diff)
From: Shawn Lin <shawn.lin-TNX95d0MmH7DzftRWevZcw@public.gmane.org>
To: jh80.chung-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org,
	ulf.hansson-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org
Cc: heiko-4mtYJXux2i+zQB+pC5nmwQ@public.gmane.org,
	dianders-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org,
	Vineet.Gupta1-HKixBCOQz3hWk0Htik3J/w@public.gmane.org,
	Wei Xu <xuwei5-C8/M+/jPZTeaMJb+Lgu22Q@public.gmane.org>,
	Joachim Eastwood
	<manabian-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
	Alexey Brodkin <abrodkin-HKixBCOQz3hWk0Htik3J/w@public.gmane.org>,
	Kukjin Kim <kgene-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>,
	Krzysztof Kozlowski
	<k.kozlowski-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>,
	Russell King <linux-lFZ/pmaqli7XmaaqVzeoHQ@public.gmane.org>,
	Jun Nie <jun.nie-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>,
	Ralf Baechle <ralf-6z/3iImG2C8G8FEW9MqTrA@public.gmane.org>,
	Govindraj Raja
	<govindraj.raja-1AXoQHu6uovQT0dZR+AlfA@public.gmane.org>,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org,
	linux-samsung-soc-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-mips-6z/3iImG2C8G8FEW9MqTrA@public.gmane.org,
	linux-mmc-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-rockchip-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org,
	devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	Shawn Lin <shawn.lin-TNX95d0MmH7DzftRWevZcw@public.gmane.org>
Subject: [RFC PATCH v4 0/9]
Date: Thu,  6 Aug 2015 14:44:29 +0800	[thread overview]
Message-ID: <1438843469-23807-1-git-send-email-shawn.lin@rock-chips.com> (raw)

Add external dma support for Synopsys MSHC

Synopsys DesignWare mobile storage host controller supports three
types of transfer mode: pio, internal dma and external dma. However,
dw_mmc can only supports pio and internal dma now. Thus some platforms
using dw-mshc integrated with generic dma can't work in dma mode. So we
submit this patch to achieve it.

And the config option, CONFIG_MMC_DW_IDMAC, was added by Will Newton
(commit:f95f3850) for the first version of dw_mmc and never be touched since
then. At that time dt-bindings hadn't been introduced into dw_mmc yet means
we should select CONFIG_MMC_DW_IDMAC to enable internal dma mode at compile
time. Nowadays, device-tree helps us to support a variety of boards with one
kernel. That's why we need to remove it and decide the transfer mode by reading
dw_mmc's HCON reg at runtime.

This RFC patch needs lots of ACKs. I know it's hard, but it does need someone
to make the running.

Patch does the following things:
- remove CONFIG_MMC_DW_IDMAC config option
- add bindings for edmac used by synopsys-dw-mshc
  at runtime
- add edmac support for synopsys-dw-mshc

Patch is based on next of git://git.linaro.org/people/ulf.hansson/mmc


Changes in v4:
- remove "host->trans_mode" and use "host->use_dma" to indicate
  transfer mode.
- remove all bt-bindings' changes since we don't need new properities.
- check transfer mode at runtime by reading HCON reg
- spilt defconfig changes for each sub-architecture
- fix the title of cover letter
- reuse some code for reducing code size

Changes in v3:
- choose transfer mode at runtime
- remove all CONFIG_MMC_DW_IDMAC config option
- add supports-idmac property for some platforms

Changes in v2:
- Fix typo of dev_info msg
- remove unused dmach from declaration of dw_mci_dma_slave

Shawn Lin (9):
  mmc: dw_mmc: Add external dma interface support
  Documentation: synopsys-dw-mshc: add bindings for idmac and edmac
  mips: pistachio_defconfig: remove CONFIG_MMC_DW_IDMAC
  arc: axs10x_defconfig: remove CONFIG_MMC_DW_IDMAC
  arm: exynos_defconfig: remove CONFIG_MMC_DW_IDMAC
  arm: hisi_defconfig: remove CONFIG_MMC_DW_IDMAC
  arm: lpc18xx_defconfig: remove CONFIG_MMC_DW_IDMAC
  arm: multi_v7_defconfig: remove CONFIG_MMC_DW_IDMAC
  arm: zx_defconfig: remove CONFIG_MMC_DW_IDMAC

 .../devicetree/bindings/mmc/synopsys-dw-mshc.txt   |  25 ++
 arch/arc/configs/axs101_defconfig                  |   1 -
 arch/arc/configs/axs103_defconfig                  |   1 -
 arch/arc/configs/axs103_smp_defconfig              |   1 -
 arch/arm/configs/exynos_defconfig                  |   1 -
 arch/arm/configs/hisi_defconfig                    |   1 -
 arch/arm/configs/lpc18xx_defconfig                 |   1 -
 arch/arm/configs/multi_v7_defconfig                |   1 -
 arch/arm/configs/zx_defconfig                      |   1 -
 arch/mips/configs/pistachio_defconfig              |   1 -
 drivers/mmc/host/Kconfig                           |  11 +-
 drivers/mmc/host/dw_mmc-pltfm.c                    |   2 +
 drivers/mmc/host/dw_mmc.c                          | 258 +++++++++++++++++----
 include/linux/mmc/dw_mmc.h                         |  27 ++-
 14 files changed, 257 insertions(+), 75 deletions(-)

-- 
2.3.7


--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

             reply	other threads:[~2015-08-06  6:48 UTC|newest]

Thread overview: 56+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-08-06  6:44 Shawn Lin [this message]
2015-08-06  6:44 ` [RFC PATCH v4 0/9] Shawn Lin
2015-08-06  6:44 ` [RFC PATCH v4 1/9] mmc: dw_mmc: Add external dma interface support Shawn Lin
2015-08-06  7:08   ` Krzysztof Kozlowski
2015-08-06  7:08     ` Krzysztof Kozlowski
2015-08-06  7:26     ` Shawn Lin
2015-08-06  7:37       ` Krzysztof Kozlowski
2015-08-06  7:37         ` Krzysztof Kozlowski
2015-08-07 21:32   ` Joachim Eastwood
2015-08-07 21:32     ` Joachim Eastwood
2015-08-07 21:32     ` Joachim Eastwood
2015-08-07 23:37     ` Shawn Lin
2015-08-07 23:37       ` Shawn Lin
2015-08-07 23:37       ` Shawn Lin
2015-08-10 18:03   ` Alim Akhtar
2015-08-10 18:03     ` Alim Akhtar
2015-08-10 18:03     ` Alim Akhtar
2015-08-10 23:35     ` Shawn Lin
2015-08-10 23:35       ` Shawn Lin
2015-08-06  6:45 ` [RFC PATCH v4 2/9] Documentation: synopsys-dw-mshc: add bindings for idmac and edmac Shawn Lin
2015-08-06  6:45 ` [RFC PATCH v4 3/9] mips: pistachio_defconfig: remove CONFIG_MMC_DW_IDMAC Shawn Lin
2015-08-06  9:05   ` Govindraj Raja
2015-08-06  9:05     ` Govindraj Raja
2015-08-06  9:05     ` Govindraj Raja
2015-08-06  9:05     ` Govindraj Raja
2015-08-06 13:17   ` Ralf Baechle
2015-08-06 13:17     ` Ralf Baechle
2015-08-12 22:05   ` Ralf Baechle
2015-08-12 22:05     ` Ralf Baechle
2015-08-13  0:08     ` Shawn Lin
2015-08-13  0:08       ` Shawn Lin
2015-08-13  0:08       ` Shawn Lin
2015-08-06  6:45 ` [RFC PATCH v4 4/9] arc: axs10x_defconfig: " Shawn Lin
2015-08-07  5:48   ` Vineet Gupta
2015-08-07  5:48     ` Vineet Gupta
2015-08-07  5:48     ` Vineet Gupta
2015-08-07  5:48     ` Vineet Gupta
2015-08-06  6:45 ` [RFC PATCH v4 5/9] arm: exynos_defconfig: " Shawn Lin
2015-08-06  7:08   ` Krzysztof Kozlowski
2015-08-06  7:08     ` Krzysztof Kozlowski
2015-08-06  6:45 ` [RFC PATCH v4 6/9] arm: hisi_defconfig: " Shawn Lin
2015-08-13 10:18   ` Wei Xu
2015-08-13 10:18     ` Wei Xu
2015-08-13 10:18     ` Wei Xu
2015-08-13 10:18     ` Wei Xu
2015-08-06  6:46 ` [RFC PATCH v4 7/9] arm: lpc18xx_defconfig: " Shawn Lin
2015-08-07 21:34   ` Joachim Eastwood
2015-08-07 21:34     ` Joachim Eastwood
2015-08-06  6:46 ` [RFC PATCH v4 8/9] arm: multi_v7_defconfig: " Shawn Lin
2015-08-06  6:46 ` [RFC PATCH v4 9/9] arm: zx_defconfig: " Shawn Lin
2015-08-06  6:46   ` Shawn Lin
2015-08-06  7:08 ` [RFC PATCH v4 0/9] Jaehoon Chung
2015-08-06  7:08   ` Jaehoon Chung
2015-08-06  7:31   ` Shawn Lin
2015-08-06  7:33     ` Jaehoon Chung
2015-08-06  7:33       ` Jaehoon Chung

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=1438843469-23807-1-git-send-email-shawn.lin@rock-chips.com \
    --to=shawn.lin@rock-chips.com \
    --cc=Vineet.Gupta1@synopsys.com \
    --cc=abrodkin@synopsys.com \
    --cc=devicetree@vger.kernel.org \
    --cc=dianders@chromium.org \
    --cc=govindraj.raja@imgtec.com \
    --cc=heiko@sntech.de \
    --cc=jh80.chung@samsung.com \
    --cc=jun.nie@linaro.org \
    --cc=k.kozlowski@samsung.com \
    --cc=kgene@kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mips@linux-mips.org \
    --cc=linux-mmc@vger.kernel.org \
    --cc=linux-rockchip@lists.infradead.org \
    --cc=linux-samsung-soc@vger.kernel.org \
    --cc=linux@arm.linux.org.uk \
    --cc=manabian@gmail.com \
    --cc=ralf@linux-mips.org \
    --cc=ulf.hansson@linaro.org \
    --cc=xuwei5@hisilicon.com \
    /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.