On Tue, May 11, 2010 at 11:47:20PM +0300, Pekka Enberg wrote: > Mike Frysinger wrote: > >On Tue, May 11, 2010 at 16:38, Pekka Enberg wrote: > >>Mike Frysinger wrote: > >>>that is a question for David/Grant. i'm not the SPI core maintainer, > >>>i'm merely watching over some SPI drivers. however, this answer also > >>>doesnt sound like it's thinking big enough because what you're > >>>proposing isnt specific to the SPI bus -- any time a DMA safe buffer > >>>is needed dynamically, this function could be used. > >>Well, we have dma_alloc_coherent(), shouldn't you be using that instead? > > > >my understanding is that dma_alloc_coherent() gives you a buffer that > >is always coherent. the SPI layers take care of flushing and such on > >the fly which means allocating coherent memory is overkill and bad for > >performance. > > OK, I'm out of my expert area here but if dma_alloc_coherent() doesn't > work for you, you should probably extend the DMA API, not kmalloc(). > Note that the DMA API already has dma_alloc_noncoherent() for these sorts of cases. If the driver is taking care of cache maintenance then dma_alloc_noncoherent() is certainly a reasonable way to go. Most architectures today simply wrap dma_alloc_noncoherent() to dma_alloc_coherent(), but if there were more users of the API then that would quickly change. -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html