2010/5/7 jassi brar <jassisinghbrar@xxxxxxxxx>: > On Fri, May 7, 2010 at 8:43 PM, Linus Walleij > <linus.ml.walleij@xxxxxxxxx> wrote: >> 2010/5/7 Russell King - ARM Linux <linux@xxxxxxxxxxxxxxxx>: >>> >>> Or let me put it another way - if people are happy for Linux to support >>> new ARM CPU architectures, but with very little attention given to DMA >>> support on those architectures, then feel free to box the ARM platforms >>> into a corner on DMA support - but on the understanding that _you_ will >>> have to deal with the DMA API breakage on those architectures yourself. >>> Because with ARM platforms not having DMA support, there's absolutely >>> no way to run any checks what so ever on DMA when the CPU architecture >>> support is created. >> >> I'm doing the best I can to meet exactly this goal. The changes done in >> the DMA engine were done towards the end of making the DMA >> engine support *any* DMA controller for the PrimeCells, > > with due respect, I think DMA Engine API is very restricting. And it is not > just the 'async' character of it but also some desirable features like > Circular-Linked-Buffer are missing. It may be good enough for Mem->Mem > but is found wanting for Mem<->Dev transfers. > I would like to see some new API defined that address reasonable > requirements of extant platform specific implementations. I understand these concerns, however I believe the DMAdevices/DMAengine API can surely be refactored towards this end. Dan Williams has proved *very* cooperative in doing changes and testing for regressions in the DMAengine, and I see no fundamental problem with it. Surely circular linked buffers and other goodies can be retrofitted into the DMAengine without a complete redesign? I only see a new slave call to support that really, in addition to the existing sglist interface. I remember we discussed circular buffer device->device transfers with Dan some while ago, and he was all for including that but wanted some real-world example to go along with it. >> So now I guess I have to make it tick on the block known as PL080/PL081 >> as well, and I'll have a try at it. > > I always hoped the pl080 core would be segregated out of S3C implementation, > but for some new common DMA API. Well, I don't see any fundamental problems with DMAengine, just wanted extensions really. I don't know if I'll be able to provide the nice breakout of the PL080 core from S3C that you'd like to see but I will try to hack something up as a proof-of-concept that the DMAengine can support the PrimeCells found on the RealView. Yours, Linus Walleij -- To unsubscribe from this list: send the line "unsubscribe linux-mmc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html