Re: [PATCH v3 8/9] spi: rockchip: modify DMA max burst to 1

From: Shawn Lin
Date: Thu Sep 03 2015 - 20:04:20 EST


On 2015/9/4 1:45, Mark Brown wrote:
On Thu, Sep 03, 2015 at 09:41:43PM +0800, Shawn Lin wrote:
On 2015/9/3 20:54, Mark Brown wrote:

If this is a quirk of the DMA controller why is it being fixed with a
property specific to the SPI controller? Can't the DMA controller just
override the burst size?

Cool...that's a good question. Actually DMA controller can't do that since
block peripheral controller(e.g sd/emmc, they always access data by
block-512Bytes.) can't meet the case. So It's hard for dma controller know
who is the caller, and what should be done.

You could take a guess based on request size, but that's going to be a
bit error prone I imagine.


yes, not always cover all cases.

The only thing dma controller can do is avoid to execute DMAFLUSHP on its
own. But how about peripheral controller trigger non-multiple access? So
that's what I mentioned on covery letter that we should do "broken things"
for both dma controller and some peripherals.

The other thing it could do is provide the information out via some
internal Linux API which the drivers could query instead of directly
having a DT property in each client driver. That way at least the DT
only needs the quirk in one place even if the clients need to handle it
individually.

Good idea. Thanks, Mark.




--
Best Regards
Shawn Lin

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/