lkml.org 
[lkml]   [2015]   [Oct]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    SubjectRe: [RFC PATCH v8 0/10] Add external dma support for Synopsys MSHC
    From
    Date
    On 2015/10/5 9:36, Jaehoon Chung wrote:
    > Hi, Shawn.
    >
    > On 10/02/2015 06:49 PM, Shawn Lin wrote:
    >> On 2015/10/1 17:14, Jaehoon Chung wrote:
    >>> Dear, All.
    >>>
    >>> I will apply patch 01-03 at my repository on today.
    >>> But i don't know better how i do about other patches relevant to config file.
    >>>
    >>
    >> Thanks, Jaehoon. :)
    >>
    >> I guess it would be acceptable to pick the config changes, already they were acked by the soc maintainers, via dw_mmc tree when ulf merge dw_mmc tree into his mmc-tree.
    >
    > Some patches didn't get the maintainer's acked-by.
    > I will wait for that..until this week. How about?
    >

    No problem, take your time. :)

    > Best Regards,
    > Jaehoon Chung
    >
    >>
    >>
    >>> Best Regards,
    >>> Jaehoon Chung
    >>>
    >>> On 09/16/2015 03:40 PM, Shawn Lin wrote:
    >>>> 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
    >>>>
    >>>> Test emmc throughput on my platform with edmac support and without edmac support(pio only)
    >>>> iozone -L64 -S32 -azecwI -+n -r4k -r64k -r128k -s1g -i0 -i1 -i2 -f datafile -Rb out.xls > /mnt/result.txt
    >>>> (light cpu loading, Direct IO, fixed line size, all pattern recycle, 1GB data in total)
    >>>> ___________________________________________________________
    >>>> | external dma mode |
    >>>> |-----------------------------------------------------------|
    >>>> |blksz | Random Read | Random Write | Seq Read | Seq Write|
    >>>> |-----------------------------------------------------------|
    >>>> |4kB | 13953kB/s | 8602kB/s | 13672kB/s | 9785kB/s|
    >>>> |-----------------------------------------------------------|
    >>>> |64kB | 46058kB/s | 24794kB/s | 48058kB/s | 25418kB/s|
    >>>> |-----------------------------------------------------------|
    >>>> |128kB | 57026kB/s | 35117kB/s | 57375kB/s | 35183kB/s|
    >>>> |-----------------------------------------------------------|
    >>>> VS
    >>>> ___________________________________________________________
    >>>> | pio mode |
    >>>> |-----------------------------------------------------------|
    >>>> |blksz | Random Read | Random Write | Seq Read | Seq Write|
    >>>> |-----------------------------------------------------------|
    >>>> |4kB | 11720kB/s | 8644kB/s | 11549kB/s | 9624kB/s|
    >>>> |-----------------------------------------------------------|
    >>>> |64kB | 21869kB/s | 24414kB/s | 22031kB/s | 27986kB/s|
    >>>> |-----------------------------------------------------------|
    >>>> |128kB | 23718kB/s | 34495kB/s | 24698kB/s | 34637kB/s|
    >>>> |-----------------------------------------------------------|
    >>>>
    >>>>
    >>>> Changes in v8:
    >>>> - remove trans_mode variable
    >>>> - remove unnecessary dma_ops check
    >>>> - remove unnecessary comment
    >>>> - fix coding style based on latest ulf's next
    >>>> - add Acked-by: Jaehoon Chung <jh80.chung@samsung.com>
    >>>> for HCON's changes
    >>>>
    >>>> Changes in v7:
    >>>> - rebased on Ulf's next
    >>>> - combine condition state
    >>>> - elaborate more about DMA_INTERFACE
    >>>> - define some macro for DMA_INERFACE value
    >>>> - spilt HCON ops' changes into another patch
    >>>>
    >>>> Changes in v6:
    >>>> - add trans_mode condition for IDMAC initialization
    >>>> suggested by Heiko
    >>>> - re-test my patch on rk3188 platform and update commit msg
    >>>> - update performance of pio vs edmac in cover letter
    >>>>
    >>>> Changes in v5:
    >>>> - add the title of cover letter
    >>>> - fix typo of comment
    >>>> - add macro for reading HCON register
    >>>> - add "Acked-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>" for exynos_defconfig patch
    >>>> - add "Acked-by: Vineet Gupta <vgupta@synopsys.com>" for axs10x_defconfig patch
    >>>> - add "Acked-by: Govindraj Raja <govindraj.raja@imgtec.com>" and
    >>>> "Acked-by: Ralf Baechle <ralf@linux-mips.org>" for pistachio_defconfig patch
    >>>> - add "Acked-by: Joachim Eastwood <manabian@gmail.com>" for lpc18xx_defconfig patch
    >>>> - add "Acked-by: Wei Xu <xuwei5@hisilicon.com>" for hisi_defconfig patch
    >>>> - rebase on "https://github.com/jh80chung/dw-mmc.git tags/dw-mmc-for-ulf-v4.2" for merging easily
    >>>>
    >>>> 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 (10):
    >>>> mmc: dw_mmc: Add external dma interface support
    >>>> mmc: dw_mmc: use macro for HCON register operations
    >>>> 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 | 272 +++++++++++++++++----
    >>>> drivers/mmc/host/dw_mmc.h | 9 +
    >>>> include/linux/mmc/dw_mmc.h | 23 +-
    >>>> 15 files changed, 276 insertions(+), 75 deletions(-)
    >>>>
    >>>
    >>>
    >>>
    >>>
    >>
    >>
    >
    >
    >
    >


    --
    Best Regards
    Shawn Lin



    \
     
     \ /
      Last update: 2015-10-05 12:01    [W:2.462 / U:0.012 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site