Messages in this thread | | | Date | Mon, 11 May 2020 18:44:14 +0100 | From | Mark Brown <> | Subject | Re: [PATCH v2 4/6] dmaengine: dw: Print warning if multi-block is unsupported |
| |
On Mon, May 11, 2020 at 04:45:02PM +0300, Serge Semin wrote: > On Mon, May 11, 2020 at 12:58:13PM +0100, Mark Brown wrote:
> > That sounds like you need to also impose a limit on the maximum message > > size as well then, with that you should be able to handle messages up > > to whatever that limit is. There's code for that bit already, so long > > as the limit is not too low it should be fine for most devices and > > client drivers can see the limit so they can be updated to work with it > > if needed.
> Hmm, this might work. The problem will be with imposing such limitation through > the DW APB SSI driver. In order to do this I need to know:
> 1) Whether multi-block LLP is supported by the DW DMA controller. > 2) Maximum DW DMA transfer block size.
There is a constraint enumeration interface in the DMA API which you should be able to extend for this if it doesn't already support what you need.
> Then I'll be able to use this information in the can_dma() callback to enable > the DMA xfers only for the safe transfers. Did you mean something like this when > you said "There's code for that bit already" ? If you meant the max_dma_len > parameter, then setting it won't work, because it just limits the SG items size > not the total length of a single transfer.
You can set max_transfer_size and/or max_message_size in the SPI driver - you should be able to do this on probe. [unhandled content-type:application/pgp-signature] | |