Re: [PATCH mmc/next v3 0/4] mmc: renesas_sdhi: add support for R-Car Gen3 SDHI DMAC

2017-07-12 Thread Simon Horman
On Tue, Jul 11, 2017 at 04:43:00PM +0200, Ulf Hansson wrote:
> On 21 June 2017 at 16:00, Simon Horman  wrote:
> > Hi,
> >
> > this series adds support for the internal DMAC used by r8a779[56] SoCs.
> > This is achieved by adding a new variant of the SDHI driver for this
> > DMA controller with compat strings for the r8a779[56] SoCs.
> > Compat strings for these SoCs are also removed from the existing SYS DMAC
> > variant of the SDHI driver.
> >
> > Based on mmc/next
> >
> > Headline performance boost: 9.5MB/s -> 39.7MB/s
> > Details below.
> >
> > Simon Horman (3):
> >   mmc: tmio, renesas-sdhi: add dataend to DMA ops
> >   mmc: renesas-sdhi: add support for R-Car Gen3 SDHI DMAC
> >   mmc: renesas-sdhi: remove gen3 support from SYS-DMAC driver
> >
> > Yoshihiro Shimoda (1):
> >   mmc: tmio, renesas-sdhi: add max_{segs,blk_count} to tmio_mmc_data
> >
> >  drivers/mmc/host/Kconfig  |  19 ++
> >  drivers/mmc/host/Makefile |   8 +-
> >  drivers/mmc/host/renesas_sdhi.h   |   2 +
> >  drivers/mmc/host/renesas_sdhi_core.c  |   2 +
> >  drivers/mmc/host/renesas_sdhi_internal_dmac.c | 271 
> > ++
> >  drivers/mmc/host/renesas_sdhi_sys_dmac.c  |  29 +--
> >  drivers/mmc/host/tmio_mmc.h   |   2 +
> >  drivers/mmc/host/tmio_mmc_core.c  |  16 +-
> >  include/linux/mfd/tmio.h  |   2 +
> >  9 files changed, 323 insertions(+), 28 deletions(-)
> >  create mode 100644 drivers/mmc/host/renesas_sdhi_internal_dmac.c
> 
> Thanks, applied patch 1->3 for next!

Great, thanks.


Re: [PATCH mmc/next v3 0/4] mmc: renesas_sdhi: add support for R-Car Gen3 SDHI DMAC

2017-07-11 Thread Ulf Hansson
On 21 June 2017 at 16:00, Simon Horman  wrote:
> Hi,
>
> this series adds support for the internal DMAC used by r8a779[56] SoCs.
> This is achieved by adding a new variant of the SDHI driver for this
> DMA controller with compat strings for the r8a779[56] SoCs.
> Compat strings for these SoCs are also removed from the existing SYS DMAC
> variant of the SDHI driver.
>
> Based on mmc/next
>
> Headline performance boost: 9.5MB/s -> 39.7MB/s
> Details below.
>
> Simon Horman (3):
>   mmc: tmio, renesas-sdhi: add dataend to DMA ops
>   mmc: renesas-sdhi: add support for R-Car Gen3 SDHI DMAC
>   mmc: renesas-sdhi: remove gen3 support from SYS-DMAC driver
>
> Yoshihiro Shimoda (1):
>   mmc: tmio, renesas-sdhi: add max_{segs,blk_count} to tmio_mmc_data
>
>  drivers/mmc/host/Kconfig  |  19 ++
>  drivers/mmc/host/Makefile |   8 +-
>  drivers/mmc/host/renesas_sdhi.h   |   2 +
>  drivers/mmc/host/renesas_sdhi_core.c  |   2 +
>  drivers/mmc/host/renesas_sdhi_internal_dmac.c | 271 
> ++
>  drivers/mmc/host/renesas_sdhi_sys_dmac.c  |  29 +--
>  drivers/mmc/host/tmio_mmc.h   |   2 +
>  drivers/mmc/host/tmio_mmc_core.c  |  16 +-
>  include/linux/mfd/tmio.h  |   2 +
>  9 files changed, 323 insertions(+), 28 deletions(-)
>  create mode 100644 drivers/mmc/host/renesas_sdhi_internal_dmac.c

Thanks, applied patch 1->3 for next!

[...]

Kind regards
Uffe


Re: [PATCH mmc/next v3 0/4] mmc: renesas_sdhi: add support for R-Car Gen3 SDHI DMAC

2017-06-28 Thread Wolfram Sang
On Mon, Jun 26, 2017 at 10:16:50PM +0200, Wolfram Sang wrote:
> 
> > this series adds support for the internal DMAC used by r8a779[56] SoCs.
> > This is achieved by adding a new variant of the SDHI driver for this
> > DMA controller with compat strings for the r8a779[56] SoCs.
> > Compat strings for these SoCs are also removed from the existing SYS DMAC
> > variant of the SDHI driver.
> 
> Okay, I tested some more today. My conclusion is that the series works
> so far. However, it quite often triggers a SDR50 retune with one card.
> And that sends an explicit CMD12 which we don't handle well. I always
> suspected the code to be imperfect, now I have a proof. So, that is a
> good thing but seems unrelated to this series to me.
> 
> Another card does not retune and works flawlessly.
> 
> I will sleep over it, re-test tomorrow and if my findings will get
> confirmed, then I'll give my Reviewed-by tags to this series.

I could successfully move around big files on Lager/H2 and
Salvator-X/M3-W with multiple cards. The md5sum of the files matched.

The transfer speedups match Simon's numbers.

On M3-W, one card has problems because it wants to retune and that
causes problems independently of this DMA driver. M3-W works fine with
other cards. The card in question works fine with H2.

Tested-by: Wolfram Sang 



signature.asc
Description: PGP signature


Re: [PATCH mmc/next v3 0/4] mmc: renesas_sdhi: add support for R-Car Gen3 SDHI DMAC

2017-06-26 Thread Wolfram Sang

> this series adds support for the internal DMAC used by r8a779[56] SoCs.
> This is achieved by adding a new variant of the SDHI driver for this
> DMA controller with compat strings for the r8a779[56] SoCs.
> Compat strings for these SoCs are also removed from the existing SYS DMAC
> variant of the SDHI driver.

Okay, I tested some more today. My conclusion is that the series works
so far. However, it quite often triggers a SDR50 retune with one card.
And that sends an explicit CMD12 which we don't handle well. I always
suspected the code to be imperfect, now I have a proof. So, that is a
good thing but seems unrelated to this series to me.

Another card does not retune and works flawlessly.

I will sleep over it, re-test tomorrow and if my findings will get
confirmed, then I'll give my Reviewed-by tags to this series.



signature.asc
Description: PGP signature


[PATCH mmc/next v3 0/4] mmc: renesas_sdhi: add support for R-Car Gen3 SDHI DMAC

2017-06-21 Thread Simon Horman
Hi,

this series adds support for the internal DMAC used by r8a779[56] SoCs.
This is achieved by adding a new variant of the SDHI driver for this
DMA controller with compat strings for the r8a779[56] SoCs.
Compat strings for these SoCs are also removed from the existing SYS DMAC
variant of the SDHI driver.

Based on mmc/next

Headline performance boost: 9.5MB/s -> 39.7MB/s
Details below.

Simon Horman (3):
  mmc: tmio, renesas-sdhi: add dataend to DMA ops
  mmc: renesas-sdhi: add support for R-Car Gen3 SDHI DMAC
  mmc: renesas-sdhi: remove gen3 support from SYS-DMAC driver

Yoshihiro Shimoda (1):
  mmc: tmio, renesas-sdhi: add max_{segs,blk_count} to tmio_mmc_data

 drivers/mmc/host/Kconfig  |  19 ++
 drivers/mmc/host/Makefile |   8 +-
 drivers/mmc/host/renesas_sdhi.h   |   2 +
 drivers/mmc/host/renesas_sdhi_core.c  |   2 +
 drivers/mmc/host/renesas_sdhi_internal_dmac.c | 271 ++
 drivers/mmc/host/renesas_sdhi_sys_dmac.c  |  29 +--
 drivers/mmc/host/tmio_mmc.h   |   2 +
 drivers/mmc/host/tmio_mmc_core.c  |  16 +-
 include/linux/mfd/tmio.h  |   2 +
 9 files changed, 323 insertions(+), 28 deletions(-)
 create mode 100644 drivers/mmc/host/renesas_sdhi_internal_dmac.c

-- 
2.1.4


Salvator-X/M3-W ES1.0
=

With Gen3 DMA Patches
-

97ac7011f8d3 (topic/sdhi-gen3-dma-2017-v3) mmc: renesas-sdhi: remove gen3 
support from SYS-DMAC driver

# dmesg | egrep '(sd|mmc)'
[1.419150] sdhci: Secure Digital Host Controller Interface driver
[1.425367] sdhci: Copyright(c) Pierre Ossman
[1.430237] renesas_sdhi_internal_dmac ee10.sd: Got CD GPIO
[1.436224] renesas_sdhi_internal_dmac ee10.sd: Got WP GPIO
[1.564915] renesas_sdhi_internal_dmac ee14.sd: mmc0 base at 0xee14 
max clock rate 200 MHz
[1.574277] renesas_sdhi_internal_dmac ee16.sd: Got CD GPIO
[1.580250] renesas_sdhi_internal_dmac ee16.sd: Got WP GPIO
[1.595002] sdhci-pltfm: SDHCI platform and OF driver helper
[1.643641] renesas_sdhi_internal_dmac ee10.sd: Got CD GPIO
[1.649678] renesas_sdhi_internal_dmac ee10.sd: Got WP GPIO
[1.780987] renesas_sdhi_internal_dmac ee10.sd: mmc1 base at 0xee10 
max clock rate 200 MHz
[1.791301] renesas_sdhi_internal_dmac ee16.sd: Got CD GPIO
[1.797269] renesas_sdhi_internal_dmac ee16.sd: Got WP GPIO
[1.830209] mmc0: new high speed MMC card at address 0001
[1.836044] mmcblk0: mmc0:0001 eMMC   28.8 GiB 
[1.844818] mmcblk0boot0: mmc0:0001 eMMC   partition 1 4.00 MiB
[1.854940] mmcblk0boot1: mmc0:0001 eMMC   partition 2 4.00 MiB
[1.866738] mmcblk0rpmb: mmc0:0001 eMMC   partition 3 4.00 MiB
[1.877064]  mmcblk0: p1
[1.933007] renesas_sdhi_internal_dmac ee16.sd: mmc2 base at 0xee16 
max clock rate 200 MHz
[2.080957] mmc1: new ultra high speed SDR50 SDHC card at address e624
[2.087962] mmcblk1: mmc1:e624 SU08G 7.40 GiB 
[2.103240]  mmcblk1: p1
[2.188956] mmc2: new ultra high speed SDR50 SDHC card at address 0001
[2.195833] mmcblk2: mmc2:0001 0 29.8 GiB 
[2.20]  mmcblk2: p1

# grep sd /proc/interrupts
100:396  0 GIC-0 197 Level ee10.sd
101:676  0 GIC-0 199 Level ee14.sd
102:394  0 GIC-0 200 Level ee16.sd
178:  0  0  e6053000.gpio  12 Edge  ee10.sd cd
197:  0  0  e6054000.gpio  15 Edge  ee16.sd cd

# cat /sys/devices/platform/soc/ee10.sd/mmc_host/mmc1/mmc1:*/cid
035344535530384780b1b8a11200d300
# dd if=/dev/mmcblk1 of=/dev/null bs=1M count=512 iflag=direct
512+0 records in
512+0 records out
536870912 bytes (537 MB) copied, 13.4726 s, 39.8 MB/s
# dd if=/dev/urandom of=/dev/mmcblk1 bs=1M count=512 oflag=direct
512+0 records in
512+0 records out
536870912 bytes (537 MB) copied, 25.1835 s, 21.3 MB/s
# dd if=/dev/zero of=/dev/mmcblk1 bs=1M count=512 oflag=direct
512+0 records in
512+0 records out
536870912 bytes (537 MB) copied, 20.9813 s, 25.6 MB/s

# cat /sys/devices/platform/soc/ee16.sd/mmc_host/mmc2/mmc2:*/cid
1b534d3030303030103916141700f600
# dd if=/dev/mmcblk2 of=/dev/null bs=1M count=512 iflag=direct
512+0 records in
512+0 records out
536870912 bytes (537 MB) copied, 17.4752 s, 30.7 MB/s
# dd if=/dev/urandom of=/dev/mmcblk2 bs=1M count=512 oflag=direct
512+0 records in
512+0 records out
536870912 bytes (537 MB) copied, 25.9727 s, 20.7 MB/s
# dd if=/dev/zero of=/dev/mmcblk2 bs=1M count=512 oflag=direct
512+0 records in
512+0 records out
536870912 bytes (537 MB) copied, 21.4667 s, 25.0 MB/s

# grep sd /proc/interrupts
100:  90886  0 GIC-0 197 Level ee10.sd
101:676  0 GIC-0 199 Level ee14.sd
102:  90884  0 GIC-0 200 Level ee16.sd
178:  0  0  e6053000.gpio  12 Edge  ee10.sd cd