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