From mboxrd@z Thu Jan 1 00:00:00 1970 From: Marek Szyprowski Subject: Re: [PATCH] arm: dma-mapping: fix compilation error when CONFIG_MMU is not present Date: Thu, 23 Oct 2014 10:15:44 +0200 Message-ID: <5448B930.7070800@samsung.com> References: <1413734340-53108-1-git-send-email-stefan.hengelein@fau.de> <5444BCFF.8030803@samsung.com> <5445A345.7010401@codeaurora.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-reply-to: <5445A345.7010401-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: iommu-bounces-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org Errors-To: iommu-bounces-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org To: Laura Abbott , Stefan Hengelein Cc: linux-lFZ/pmaqli7XmaaqVzeoHQ@public.gmane.org, linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org, andreas.herrmann-bsGFqQB8/DxBDgjK7y7TUQ@public.gmane.org, akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org, Valentin Rothberg List-Id: iommu@lists.linux-foundation.org SGVsbG8sCgpPbiAyMDE0LTEwLTIxIDAyOjA1LCBMYXVyYSBBYmJvdHQgd3JvdGU6Cj4gT24gMTAv MjAvMjAxNCA2OjUwIEFNLCBTdGVmYW4gSGVuZ2VsZWluIHdyb3RlOgo+PiBXZWxsLAo+Pgo+PiBh cmNoL2FybS9tbS9kbWEtbWFwcGluZy5jOiBJbiBmdW5jdGlvbiDigJhfX2F0b21pY19nZXRfcGFn ZXPigJk6Cj4+IGFyY2gvYXJtL21tL2RtYS1tYXBwaW5nLmM6MTI2NTozMTogZXJyb3I6IOKAmGF0 b21pY19wb29s4oCZIHVuZGVjbGFyZWQKPj4gKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQo+ Pgo+PiBhcmNoL2FybS9tbS9kbWEtbWFwcGluZy5jOiBJbiBmdW5jdGlvbiDigJhfX2lvbW11X2dl dF9wYWdlc+KAmToKPj4gYXJjaC9hcm0vbW0vZG1hLW1hcHBpbmcuYzoxMjc1OjI6IGVycm9yOiBp bXBsaWNpdCBkZWNsYXJhdGlvbiBvZgo+PiBmdW5jdGlvbiDigJhfX2luX2F0b21pY19wb29s4oCZ IFstV2Vycm9yPWltcGxpY2l0LWZ1bmN0aW9uLWRlY2xhcmF0aW9uXQo+Pgo+Pgo+PiBvdGhlcnM6 Cj4+IGFyY2gvYXJtL21tL2RtYS1tYXBwaW5nLmM6IEluIGZ1bmN0aW9uIOKAmF9faW9tbXVfYWxs b2NfcmVtYXDigJk6Cj4+IGFyY2gvYXJtL21tL2RtYS1tYXBwaW5nLmM6MTIwMDo0OiBlcnJvcjog 4oCYVk1fQVJNX0RNQV9DT05TSVNURU5U4oCZCj4+IHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0 aGlzIGZ1bmN0aW9uKQo+PiBhcmNoL2FybS9tbS9kbWEtbWFwcGluZy5jOjEyMDA6NDogbm90ZTog ZWFjaCB1bmRlY2xhcmVkIGlkZW50aWZpZXIgaXMKPj4gcmVwb3J0ZWQgb25seSBvbmNlIGZvciBl YWNoIGZ1bmN0aW9uIGl0IGFwcGVhcnMgaW4KPj4KPj4gYXJjaC9hcm0vbW0vZG1hLW1hcHBpbmcu YzogSW4gZnVuY3Rpb24g4oCYX19pb21tdV9nZXRfcGFnZXPigJk6Cj4+IGFyY2gvYXJtL21tL2Rt YS1tYXBwaW5nLmM6MTI4MjoyOTogZXJyb3I6IOKAmFZNX0FSTV9ETUFfQ09OU0lTVEVOVOKAmQo+ PiB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKPj4gYXJjaC9hcm0vbW0v ZG1hLW1hcHBpbmcuYzogSW4gZnVuY3Rpb24g4oCYYXJtX2lvbW11X2ZyZWVfYXR0cnPigJk6Cj4+ IGFyY2gvYXJtL21tL2RtYS1tYXBwaW5nLmM6MTQxMTo0OiBlcnJvcjog4oCYVk1fQVJNX0RNQV9D T05TSVNURU5U4oCZCj4+IHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQo+ Pgo+Pgo+PiBpJ3ZlIGF0dGFjaGVkIGEgY29uZmlndXJhdGlvbiB3aGVyZSBpdCBoYXBwZW5zLgo+ PiB3aGVuIHlvdSBwbGFjZSB0aGUgY29uZmlndXJhdGlvbiBpbiB5b3VyIHRyZWUgYW5kIGNvbXBp bGUgdGhlIGZpbGUsCj4+IHRoZSBlcnJvcnMgc2hvdWxkIHNob3cgdXAuCj4+Cj4+IEhvd2V2ZXIs IHdpdGhpbiB0aGUgY29uZmlndXJhdGlvbiBDT05GSUdfQVJNX0RNQV9VU0VfSU9NTVUgaXMgZGVm aW5lZAo+PiBhbmQgQ09ORklHX01NVSBpcyBub3QuIEFGQUlVSSwgaWYgYm90aCBzaG91bGQgYmUg ZW5hYmxlZCB0b2dldGhlciwgaXQKPj4gc2hvdWxkIGJlIG1hcHBlZCBpbiBLY29uZmlnIHNvbWV3 aGVyZSwgcmlnaHQ/Cj4KPiBUaGVyZSBpc24ndCBhIG5pY2Ugd2F5IHRvIGZpeHVwIHRoZSBkbWEg Y29uc2lzdGVudCBmbGFncyBzbyBJIHdvdWxkCj4gc2F5IHRoaXMgb3B0aW9uIHNob3VsZCBqdXN0 IGRlcGVuZCBvbiBNTVUuCgpUaGUgcXVlc3Rpb24gaXMgd2hpY2ggb3B0aW9uIHNob3VsZCBkZXBl bmQgb24gTU1VPyBNYWtpbmcgCkNPTkZJR19BUk1fRE1BX1VTRV9JT01NVQp0byBkZXBlbmQgb24g TU1VIGRvZXNuJ3Qgc29sdmUgdGhpcyBjYXNlLiBJdCBvbmx5IGdpdmVzIGZvbGxvd2luZyAKd2Fy bmluZyB3aXRoIHRoZQptZW50aW9uZWQgLmNvbmZpZzoKd2FybmluZzogKFZJREVPX09NQVAzICYm IEVYWU5PU19JT01NVSAmJiBTSE1PQklMRV9JT01NVSAmJiBJUE1NVV9WTVNBICYmIApBUk1fU01N VSkgc2VsZWN0cyBBUk1fRE1BX1VTRV9JT01NVSB3aGljaCBoYXMgdW5tZXQgZGlyZWN0IGRlcGVu ZGVuY2llcyAKKE1NVSkKCklNSE8gdGhlIGJlc3Qgc29sdXRpb24gd2lsbCBiZSB0byBlaXRoZXIg bWFrZSB0aGUgd2hvbGUgSU9NTVUgc3Vic3lzdGVtIAp0byBkZXBlbmQKb24gTU1VIG9yIGFsdGVy bmF0aXZlbHksIGFkZCB0aGlzIGRlcGVuZGVuY3kgdG8gYWxsIElPTU1VIGRyaXZlcnMgd2hpY2gg CmNhbiBiZQplbmFibGVkIGJ5IENPTVBJTEVfVEVTVCBvcHRpb24gKGhlcmUgdGhlIGlzc3VlIGlz IGNhdXNlZCBieSAKU0hNT0JJTEVfSU9NTVUsIHdoaWNoCm90aGVyd2lzZSBjYW5ub3QgYmUgZW5h YmxlZCB3aGVuIG5vLW1tdSBzeXN0ZW1zIGFyZSBzZWxlY3RlZCkuCgpCZXN0IHJlZ2FyZHMKLS0g Ck1hcmVrIFN6eXByb3dza2ksIFBoRApTYW1zdW5nIFImRCBJbnN0aXR1dGUgUG9sYW5kCgpfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwppb21tdSBtYWlsaW5n IGxpc3QKaW9tbXVAbGlzdHMubGludXgtZm91bmRhdGlvbi5vcmcKaHR0cHM6Ly9saXN0cy5saW51 eGZvdW5kYXRpb24ub3JnL21haWxtYW4vbGlzdGluZm8vaW9tbXU= From mboxrd@z Thu Jan 1 00:00:00 1970 From: m.szyprowski@samsung.com (Marek Szyprowski) Date: Thu, 23 Oct 2014 10:15:44 +0200 Subject: [PATCH] arm: dma-mapping: fix compilation error when CONFIG_MMU is not present In-Reply-To: <5445A345.7010401@codeaurora.org> References: <1413734340-53108-1-git-send-email-stefan.hengelein@fau.de> <5444BCFF.8030803@samsung.com> <5445A345.7010401@codeaurora.org> Message-ID: <5448B930.7070800@samsung.com> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org Hello, On 2014-10-21 02:05, Laura Abbott wrote: > On 10/20/2014 6:50 AM, Stefan Hengelein wrote: >> Well, >> >> arch/arm/mm/dma-mapping.c: In function ?__atomic_get_pages?: >> arch/arm/mm/dma-mapping.c:1265:31: error: ?atomic_pool? undeclared >> (first use in this function) >> >> arch/arm/mm/dma-mapping.c: In function ?__iommu_get_pages?: >> arch/arm/mm/dma-mapping.c:1275:2: error: implicit declaration of >> function ?__in_atomic_pool? [-Werror=implicit-function-declaration] >> >> >> others: >> arch/arm/mm/dma-mapping.c: In function ?__iommu_alloc_remap?: >> arch/arm/mm/dma-mapping.c:1200:4: error: ?VM_ARM_DMA_CONSISTENT? >> undeclared (first use in this function) >> arch/arm/mm/dma-mapping.c:1200:4: note: each undeclared identifier is >> reported only once for each function it appears in >> >> arch/arm/mm/dma-mapping.c: In function ?__iommu_get_pages?: >> arch/arm/mm/dma-mapping.c:1282:29: error: ?VM_ARM_DMA_CONSISTENT? >> undeclared (first use in this function) >> arch/arm/mm/dma-mapping.c: In function ?arm_iommu_free_attrs?: >> arch/arm/mm/dma-mapping.c:1411:4: error: ?VM_ARM_DMA_CONSISTENT? >> undeclared (first use in this function) >> >> >> i've attached a configuration where it happens. >> when you place the configuration in your tree and compile the file, >> the errors should show up. >> >> However, within the configuration CONFIG_ARM_DMA_USE_IOMMU is defined >> and CONFIG_MMU is not. AFAIUI, if both should be enabled together, it >> should be mapped in Kconfig somewhere, right? > > There isn't a nice way to fixup the dma consistent flags so I would > say this option should just depend on MMU. The question is which option should depend on MMU? Making CONFIG_ARM_DMA_USE_IOMMU to depend on MMU doesn't solve this case. It only gives following warning with the mentioned .config: warning: (VIDEO_OMAP3 && EXYNOS_IOMMU && SHMOBILE_IOMMU && IPMMU_VMSA && ARM_SMMU) selects ARM_DMA_USE_IOMMU which has unmet direct dependencies (MMU) IMHO the best solution will be to either make the whole IOMMU subsystem to depend on MMU or alternatively, add this dependency to all IOMMU drivers which can be enabled by COMPILE_TEST option (here the issue is caused by SHMOBILE_IOMMU, which otherwise cannot be enabled when no-mmu systems are selected). Best regards -- Marek Szyprowski, PhD Samsung R&D Institute Poland From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932359AbaJWIPx (ORCPT ); Thu, 23 Oct 2014 04:15:53 -0400 Received: from mailout3.w1.samsung.com ([210.118.77.13]:13905 "EHLO mailout3.w1.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754602AbaJWIPs (ORCPT ); Thu, 23 Oct 2014 04:15:48 -0400 MIME-version: 1.0 Content-type: text/plain; charset=utf-8; format=flowed X-AuditID: cbfec7f4-b7f6c6d00000120b-b8-5448b931eec8 Content-transfer-encoding: 8BIT Message-id: <5448B930.7070800@samsung.com> Date: Thu, 23 Oct 2014 10:15:44 +0200 From: Marek Szyprowski User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:31.0) Gecko/20100101 Thunderbird/31.2.0 To: Laura Abbott , Stefan Hengelein Cc: linux-kernel@vger.kernel.org, linux@arm.linux.org.uk, akpm@linux-foundation.org, linux-arm-kernel@lists.infradead.org, andreas.herrmann@calxeda.com, Valentin Rothberg , iommu@lists.linux-foundation.org Subject: Re: [PATCH] arm: dma-mapping: fix compilation error when CONFIG_MMU is not present References: <1413734340-53108-1-git-send-email-stefan.hengelein@fau.de> <5444BCFF.8030803@samsung.com> <5445A345.7010401@codeaurora.org> In-reply-to: <5445A345.7010401@codeaurora.org> X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFrrOLMWRmVeSWpSXmKPExsVy+t/xq7qGOz1CDBZ9lbOYs34Nm8XiIzEW C/ZbW2zvnMFusenxNVaLy7vmsFncvsxr0X1/EpvFp+Y2ZgdOj5bmHjaPBZ+vsHtc7utl8jjf PpvFY+esu+weJ2b8ZvHYvKTeY/KN5YwenzfJBXBGcdmkpOZklqUW6dslcGWceLaUrWCqcMWZ /Q+YGhgnC3QxcnJICJhITLu6gRnCFpO4cG89WxcjF4eQwFJGiQ9XzzCCJHgFBCV+TL7H0sXI wcEsIC9x5FI2SJhZwEziy8vDrBD1nxgl9sy6wwxRryUxZ84mZpB6FgFViSUHuUHCbAKGEl1v u9hAbFGBGIn7O1eD2SICYRJ3Dz8F28ss8J5RYlnbCiaQhLBArMTKvkNMEAsuM0rcbZoP1sEp oCdx7vZ8pgmMArOQ3DcL4b5ZSO5bwMi8ilE0tTS5oDgpPddQrzgxt7g0L10vOT93EyMkMr7s YFx8zOoQowAHoxIPb0WyR4gQa2JZcWXuIUYJDmYlEd60HUAh3pTEyqrUovz4otKc1OJDjEwc nFINjCXfqnOy4/MeMRT/iI/6tDj7ocnKVdMjDt3ybmANk1z0N3irgX516e6aYy4ZH7sm6dvn JEvdOLNf+OSFZeHtv47XrA2TO5fPJJI9K+ooX77w1agblWs+mfX4pdQJ5NvIx+zijdcuq1+h 4iBS8vR05UuGOmsW5vuzWW2fXC07Y5oTxHnl53oPJZbijERDLeai4kQAdjLcUmoCAAA= Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hello, On 2014-10-21 02:05, Laura Abbott wrote: > On 10/20/2014 6:50 AM, Stefan Hengelein wrote: >> Well, >> >> arch/arm/mm/dma-mapping.c: In function ‘__atomic_get_pages’: >> arch/arm/mm/dma-mapping.c:1265:31: error: ‘atomic_pool’ undeclared >> (first use in this function) >> >> arch/arm/mm/dma-mapping.c: In function ‘__iommu_get_pages’: >> arch/arm/mm/dma-mapping.c:1275:2: error: implicit declaration of >> function ‘__in_atomic_pool’ [-Werror=implicit-function-declaration] >> >> >> others: >> arch/arm/mm/dma-mapping.c: In function ‘__iommu_alloc_remap’: >> arch/arm/mm/dma-mapping.c:1200:4: error: ‘VM_ARM_DMA_CONSISTENT’ >> undeclared (first use in this function) >> arch/arm/mm/dma-mapping.c:1200:4: note: each undeclared identifier is >> reported only once for each function it appears in >> >> arch/arm/mm/dma-mapping.c: In function ‘__iommu_get_pages’: >> arch/arm/mm/dma-mapping.c:1282:29: error: ‘VM_ARM_DMA_CONSISTENT’ >> undeclared (first use in this function) >> arch/arm/mm/dma-mapping.c: In function ‘arm_iommu_free_attrs’: >> arch/arm/mm/dma-mapping.c:1411:4: error: ‘VM_ARM_DMA_CONSISTENT’ >> undeclared (first use in this function) >> >> >> i've attached a configuration where it happens. >> when you place the configuration in your tree and compile the file, >> the errors should show up. >> >> However, within the configuration CONFIG_ARM_DMA_USE_IOMMU is defined >> and CONFIG_MMU is not. AFAIUI, if both should be enabled together, it >> should be mapped in Kconfig somewhere, right? > > There isn't a nice way to fixup the dma consistent flags so I would > say this option should just depend on MMU. The question is which option should depend on MMU? Making CONFIG_ARM_DMA_USE_IOMMU to depend on MMU doesn't solve this case. It only gives following warning with the mentioned .config: warning: (VIDEO_OMAP3 && EXYNOS_IOMMU && SHMOBILE_IOMMU && IPMMU_VMSA && ARM_SMMU) selects ARM_DMA_USE_IOMMU which has unmet direct dependencies (MMU) IMHO the best solution will be to either make the whole IOMMU subsystem to depend on MMU or alternatively, add this dependency to all IOMMU drivers which can be enabled by COMPILE_TEST option (here the issue is caused by SHMOBILE_IOMMU, which otherwise cannot be enabled when no-mmu systems are selected). Best regards -- Marek Szyprowski, PhD Samsung R&D Institute Poland