Re: [PATCH 2/9] mmc: tmio: tmio_mmc_host has .dma

Kuninori Morimoto
2015-01-07T03:01:22Z

Hi Arnd

> dmaengine: shdma: use normal interface for passing slave id
>
> The shmobile platform is one of only two users of the slave_id field
> in dma_slave_config, which is incompatible with the way that the
> dmaengine API normally works.
>
> I've had a closer look at the existing code now and found that all
> slave drivers that pass a slave_id in dma_slave_config for SH do that
> right after passing the same ID into shdma_chan_filter, so we can just
> rely on that. However, the various shdma drivers currently do not
> remember the slave ID that was passed into the filter function when
> used in non-DT mode and only check the value to find a matching channel,
> unlike all other drivers.
>
> There might still be drivers that are not part of the kernel that rely
> on setting the slave_id to some other value, so to be on the safe side,
> this adds another 'real_slave_id' field to shdma_chan that remembers
> the ID and uses it when a driver passes a zero slave_id in dma_slave_config,
> like most drivers do.
>
> Eventually, the real_slave_id and slave_id fields should just get merged
> into one field, but that requires other changes.
>
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> ----
> drivers/dma/sh/shdma-base.c | 70 ++++++++++++++++++++++++++++++++++++++++++++++++-------------------
> drivers/mmc/host/sh_mmcif.c | 4 +---
> drivers/mmc/host/tmio_mmc_dma.c | 4 ----
> drivers/mtd/nand/sh_flctl.c | 2 --
> drivers/spi/spi-rspi.c | 1 -
> drivers/spi/spi-sh-msiof.c | 1 -
> include/linux/shdma-base.h | 1 +
> 7 files changed, 52 insertions(+), 31 deletions(-)
(snip)
> - /* In the OF case the driver will get the slave ID from the DT */
> - cfg.slave_id = slave_id;
> cfg.direction = direction;

My other drivers are using slave_id
linux/sound/soc/sh/fsi.c
linux/sound/soc/sh/rcar/core.c

I guess it should remove cfg.slave_id = xxx ?
Can you include these in this patch ?
or I can do it as other patch

Best regards
---
Kuninori Morimoto