From patchwork Mon Jul 30 12:15:16 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Marek Szyprowski X-Patchwork-Id: 174008 Return-Path: X-Original-To: incoming-imx@patchwork.ozlabs.org Delivered-To: patchwork-incoming-imx@bilbo.ozlabs.org Received: from merlin.infradead.org (unknown [IPv6:2001:4978:20e::2]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by ozlabs.org (Postfix) with ESMTPS id 3009C2C0090 for ; Mon, 30 Jul 2012 22:25:13 +1000 (EST) Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.76 #1 (Red Hat Linux)) id 1SvoxR-0002A4-DG; Mon, 30 Jul 2012 12:20:22 +0000 Received: from mailout4.samsung.com ([203.254.224.34]) by merlin.infradead.org with esmtp (Exim 4.76 #1 (Red Hat Linux)) id 1Svosv-0000cx-KU for linux-arm-kernel@lists.infradead.org; Mon, 30 Jul 2012 12:15:42 +0000 Received: from epcpsbgm1.samsung.com (mailout4.samsung.com [203.254.224.34]) by mailout4.samsung.com (Oracle Communications Messaging Server 7u4-24.01(7.0.4.24.0) 64bit (built Nov 17 2011)) with ESMTP id <0M7Z00I4J3D48B00@mailout4.samsung.com> for linux-arm-kernel@lists.infradead.org; Mon, 30 Jul 2012 21:15:33 +0900 (KST) X-AuditID: cbfee61a-b7f616d000004b7e-76-50167ae522e0 Received: from epmmp2 ( [203.254.227.17]) by epcpsbgm1.samsung.com (EPCPMTA) with SMTP id A9.0B.19326.5EA76105; Mon, 30 Jul 2012 21:15:33 +0900 (KST) Received: from mcdsrvbld02.digital.local ([106.116.37.23]) by mmp2.samsung.com (Oracle Communications Messaging Server 7u4-24.01 (7.0.4.24.0) 64bit (built Nov 17 2011)) with ESMTPA id <0M7Z00GLG3DN2VA0@mmp2.samsung.com> for linux-arm-kernel@lists.infradead.org; Mon, 30 Jul 2012 21:15:32 +0900 (KST) From: Marek Szyprowski To: Linus Torvalds Subject: [GIT PULL] DMA-mapping updates for v3.6 Date: Mon, 30 Jul 2012 14:15:16 +0200 Message-id: <1343650516-15726-1-git-send-email-m.szyprowski@samsung.com> X-Mailer: git-send-email 1.7.10 X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFjrFJMWRmVeSWpSXmKPExsVy+t9jQd2nVWIBBrPes1lsenyN1YHRY/OS +gDGKC6blNSczLLUIn27BK6Mjll9jAW/JCo2zjvE2sB4Q6iLkZNDQsBE4s60Y2wQtpjEhXvr gWwuDiGB6YwSP9bsYodwNjNJbP88lxGkik3AUKLrbRdYh4iAkcTnF1dYQYqYBbYzSbx++Rso wcEhLGAg8W2tCEgNi4CqxKsNa8B6eQU8JI482skIsU1e4un9PrYJjNwLGBlWMYqmFiQXFCel 5xrqFSfmFpfmpesl5+duYgT78JnUDsaVDRaHGAU4GJV4eA0viwYIsSaWFVfmHmKU4GBWEuGd JCIWIMSbklhZlVqUH19UmpNafIhRmoNFSZzX2Purv5BAemJJanZqakFqEUyWiYNTqoExbcLz WkGppQd/PClcc8zn0dfynTn7Xj7q+LI3sLhsfSunfs+0436buS5fmpJRfjV1Paeqx7Nbsk6/ H4hLzKhTbD+z58H7czNLFVdEPNyzKWrjl3xxi7BKu6+71uUvM35Z2Bz0i8Gy0+oJs/iC0vyo 8O1bv7vILLWS51WMvSyfc+TwAb87p/Z4KrEUZyQaajEXFScCAJ70xbfdAQAA X-TM-AS-MML: No X-Spam-Note: CRM114 invocation failed X-Spam-Note: SpamAssassin invocation failed Cc: Russell King , Arnd Bergmann , linux-kernel@vger.kernel.org, linaro-mm-sig@lists.linaro.org, Kyungmin Park , Andrew Morton , linux-arm-kernel@lists.infradead.org, Marek Szyprowski X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.14 Precedence: list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Sender: linux-arm-kernel-bounces@lists.infradead.org Errors-To: linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org List-Id: linux-imx-kernel.lists.patchwork.ozlabs.org Hi Linus, I would like to ask for pulling another set of DMA-mapping framework updates for v3.6. The following changes since commit 28a33cbc24e4256c143dce96c7d93bf423229f92: Linux 3.5 (2012-07-21 13:58:29 -0700) with the top-most commit 97ef952a20853fad72087a53fa556fbec45edd8f ARM: dma-mapping: add support for DMA_ATTR_SKIP_CPU_SYNC attribute are available in the git repository at: git://git.linaro.org/people/mszyprowski/linux-dma-mapping.git for-linus-for-3.6-rc1 Those patches are continuation of my earlier works merged in commits 58bca4a8fa90 and d484864dd96e1. They contains extensions to DMA-mapping framework to remove limitation of the current ARM implementation (like limited total size of DMA coherent/write combine buffers), improve performance of buffer sharing between devices (attributes to skip cpu cache operations or creation of additional kernel mapping for some specific use cases) as well as some unification of the common code for dma_mmap_attrs()/dma_mmap_coherent() functions. All extensions have been implemented and tested for ARM architecture. Thanks! Best regards Marek Szyprowski Samsung Poland R&D Center Patch summary: Marek Szyprowski (11): mm: vmalloc: use const void * for caller argument ARM: dma-mapping: remove custom consistent dma region ARM: dma-mapping: add more sanity checks in arm_dma_mmap() ARM: dma-mapping: fix error path for memory allocation failure common: dma-mapping: add support for generic dma_mmap_* calls common: DMA-mapping: add DMA_ATTR_NO_KERNEL_MAPPING attribute ARM: dma-mapping: add support for DMA_ATTR_NO_KERNEL_MAPPING attribute common: dma-mapping: introduce dma_get_sgtable() function ARM: dma-mapping: add support for dma_get_sgtable() common: DMA-mapping: add DMA_ATTR_SKIP_CPU_SYNC attribute ARM: dma-mapping: add support for DMA_ATTR_SKIP_CPU_SYNC attribute Tomasz Stanislawski (1): scatterlist: add sg_alloc_table_from_pages function Documentation/DMA-attributes.txt | 42 +++ Documentation/kernel-parameters.txt | 2 +- arch/arm/common/dmabounce.c | 1 + arch/arm/include/asm/dma-mapping.h | 24 +- arch/arm/mm/dma-mapping.c | 561 ++++++++++++------------------ arch/arm/mm/mm.h | 3 + arch/powerpc/include/asm/dma-mapping.h | 8 +- arch/powerpc/kernel/dma-iommu.c | 1 + arch/powerpc/kernel/dma-swiotlb.c | 1 + arch/powerpc/kernel/dma.c | 36 +- arch/powerpc/kernel/vio.c | 1 + drivers/base/dma-mapping.c | 49 +++ include/asm-generic/dma-coherent.h | 1 + include/asm-generic/dma-mapping-common.h | 55 +++ include/linux/dma-attrs.h | 2 + include/linux/dma-mapping.h | 3 + include/linux/scatterlist.h | 4 + include/linux/vmalloc.h | 9 +- lib/scatterlist.c | 64 ++++ mm/vmalloc.c | 28 +- 20 files changed, 505 insertions(+), 390 deletions(-)