RE: [PATCH RFC 4/4] mmc: host: renesas_sdhi_sys_dmac: Set dma_buswidth value to 32 byte

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Wolfram-san,

Thank you for your comments!

> From: Wolfram Sang, Sent: Friday, November 29, 2019 6:07 AM
> 
> Hi Shimoda-san,
> 
> Interesting series!
> 
> > -	.dma_buswidth	= DMA_SLAVE_BUSWIDTH_4_BYTES,
> > +	.dma_buswidth	= DMA_SLAVE_BUSWIDTH_32_BYTES,
> 
> Two very high level questions:
> 
> 1) can't we set dma_priv->dma_buswidth at runtime when we know what the
> card is capable of? Either DMA_SLAVE_BUSWIDTH_32_BYTES or
> DMA_SLAVE_BUSWIDTH_4_BYTES? Then we don't need to fallback to PIO.
> AFAIS, we only Gen2 sets .dma_buswidth in of_data, so we could even
> remove it from of_data entirely?

As I replied to Ulrich-san on other email thread, for now, rcar-dmac has a limitation
on dmaengine_slave_config(), we should not call it at runtime. But, I don't think
any sd card have such a limitation. In other words, if rcar-dmac doesn't have
the limitation, I think we can change the buswidth at runtime and then we can
remove the .dma_buswidth from of_data.

> 2) Just by grepping in mmc/hosts, I see that no driver uses
> DMA_SLAVE_BUSWIDTH_32_BYTES. Do you have an idea why? Because it is the
> convenient setting which works for all cards?

I also grepped in drivers/dma, and all dmaengine drivers except Renesas related
SoCs don't support DMA_SLAVE_BUSWIDTH_32_BYTES. So, I think no driver uses
the 32 bytes on mmc/hosts :)

Best regards,
Yoshihiro Shimoda

> Thanks and kind regards,
> 
>    Wolfram





[Index of Archives]     [Linux Samsung SOC]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]

  Powered by Linux