ARM: 8304/1: Respect NO_KERNEL_MAPPING when we don't have an IOMMU
authorCarlo Caione <carlo@caione.org>
Mon, 9 Feb 2015 09:38:35 +0000 (10:38 +0100)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Mon, 23 Feb 2015 14:43:59 +0000 (14:43 +0000)
commit6e8266e3333bd01700decf9866725e254d84f21a
tree59968b8da6ae5cecbdb79dc7ffe90220ba3e53e5
parent415ae101caf9fbf6746a88126494eda333174e90
ARM: 8304/1: Respect NO_KERNEL_MAPPING when we don't have an IOMMU

Even without an iommu, NO_KERNEL_MAPPING is still convenient to save on
kernel address space in places where we don't need a kernel mapping.
Implement support for it in the two places where we're creating an
expensive mapping.

__alloc_from_pool uses an internal pool from which we already have
virtual addresses, so it's not relevant, and __alloc_simple_buffer uses
alloc_pages, which will always return a lowmem page, which is already
mapped into kernel space, so we can't prevent a mapping for it in that
case.

Signed-off-by: Jasper St. Pierre <jstpierre@mecheye.net>
Signed-off-by: Carlo Caione <carlo@caione.org>
Reviewed-by: Rob Clark <robdclark@gmail.com>
Reviewed-by: Daniel Drake <dsd@endlessm.com>
Acked-by: Marek Szyprowski <m.szyprowski@samsung.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
arch/arm/mm/dma-mapping.c