RE: [GIT PULL] DMA-mapping framework updates for 3.4
flat view
From: Marek Szyprowski <m.szyprowski@samsung.com>
Date: 2012-03-27 09:59:44
Also in:
linux-alpha, linux-arch, linux-arm-kernel, linux-mips, linux-mm, linux-sh, lkml, sparclinux
Hi Linus, On Friday, March 23, 2012 10:36 PM Linus Torvalds wrote:
On Tue, Mar 20, 2012 at 12:24 AM, Marek Szyprowski [off-list ref] wrote:quoted
=A0git://git.infradead.org/users/kmpark/linux-samsung =
dma-mapping-next
quoted
Those patches introduce a new alloc method (with support for memory attributes) in dma_map_ops structure, which will later replace dma_alloc_coherent and dma_alloc_writecombine functions.=20 So I'm quite unhappy with these patches. =20 Here's just the few problems I saw from some *very* quick look-through of the git tree: =20 - I'm not seeing ack's from the architecture maintainers for the patches that change some architecture.
Ok, I've asked personally each respective maintainer for an ack or=20 comments. Before I've sent my pull request there were only a few = comments on the mailing lists, but this topic have been discussed at ELC-E in = Prague and Linaro Memory-management summit in Budapest (May 2011). =20
- Even more importantly, what I really want is acks and comments from the people who are expected to *use* this.
The plan is to use it as a base for further cleanup in the dma-mapping=20 implementations, especially on ARM architecture. The changes are = designed in such a way to keep compatibility with the existing users of the API.=20 ARM will be the first architecture which will use the new attributes.=20 The main clients for this new API will be mainly multimedia drivers = (v4l2, drm) and dma_buf buffer sharing. The advantage of this approach is the=20 fact that the same drivers can be used on other architectures without = any changes in the dma calls. The attributes which are not supported by the architecture will be simply ignored.
- it looks like patches break compilation half-way through the series. Just one example I noticed: the "x86 adaptation" patch changes the functions in lib/swiotlb.c, but afaik ia64 *also* uses those. So now ia64 is broken until a couple of patches later. I suspect there are other examples like that.
Ok, I missed this and I will fix this issue asap.
- the sign-off chains are odd. What happened there? Several patches are signed off by Kyungmin Park, but he doesn't seem to be "in the chain" at all. Whazzup? (*)
That was caused by our internal flow of the patches, but I see that it=20 made only a lot of confusion. I got my own git repository at=20 git.linaro.org and I will resolve these sign-off issues correctly there.
- Finally, how/why are "dma attributes" different from the per-device
dma limits ("device_dma_parameters")Device dma parameters are global for all dma mapping operations for the=20 specified device, while dma attributes can be set for each allocation or mapping call. Dma attributes are mainly used to provide some hints to = the dma mapping core, which might improve speed/performance/throughput for some particular sw&hw architectures. Unsupported attributes are ignored, so the in the worst case a driver gets coherent mapping. Best regards --=20 Marek Szyprowski Samsung Poland R&D Center