Linus Torvalds
d484864dd9
Merge branch 'for-linus' of git://git.linaro.org/people/mszyprowski/linux-dma-mapping
...
Pull CMA and ARM DMA-mapping updates from Marek Szyprowski:
"These patches contain two major updates for DMA mapping subsystem
(mainly for ARM architecture). First one is Contiguous Memory
Allocator (CMA) which makes it possible for device drivers to allocate
big contiguous chunks of memory after the system has booted.
The main difference from the similar frameworks is the fact that CMA
allows to transparently reuse the memory region reserved for the big
chunk allocation as a system memory, so no memory is wasted when no
big chunk is allocated. Once the alloc request is issued, the
framework migrates system pages to create space for the required big
chunk of physically contiguous memory.
For more information one can refer to nice LWN articles:
- 'A reworked contiguous memory allocator':
http://lwn.net/Articles/447405/
- 'CMA and ARM':
http://lwn.net/Articles/450286/
- 'A deep dive into CMA':
http://lwn.net/Articles/486301/
- and the following thread with the patches and links to all previous
versions:
https://lkml.org/lkml/2012/4/3/204
The main client for this new framework is ARM DMA-mapping subsystem.
The second part provides a complete redesign in ARM DMA-mapping
subsystem. The core implementation has been changed to use common
struct dma_map_ops based infrastructure with the recent updates for
new dma attributes merged in v3.4-rc2. This allows to use more than
one implementation of dma-mapping calls and change/select them on the
struct device basis. The first client of this new infractructure is
dmabounce implementation which has been completely cut out of the
core, common code.
The last patch of this redesign update introduces a new, experimental
implementation of dma-mapping calls on top of generic IOMMU framework.
This lets ARM sub-platform to transparently use IOMMU for DMA-mapping
calls if one provides required IOMMU hardware.
For more information please refer to the following thread:
http://www.spinics.net/lists/arm-kernel/msg175729.html
The last patch merges changes from both updates and provides a
resolution for the conflicts which cannot be avoided when patches have
been applied on the same files (mainly arch/arm/mm/dma-mapping.c)."
Acked by Andrew Morton <akpm@linux-foundation.org>:
"Yup, this one please. It's had much work, plenty of review and I
think even Russell is happy with it."
* 'for-linus' of git://git.linaro.org/people/mszyprowski/linux-dma-mapping: (28 commits)
ARM: dma-mapping: use PMD size for section unmap
cma: fix migration mode
ARM: integrate CMA with DMA-mapping subsystem
X86: integrate CMA with DMA-mapping subsystem
drivers: add Contiguous Memory Allocator
mm: trigger page reclaim in alloc_contig_range() to stabilise watermarks
mm: extract reclaim code from __alloc_pages_direct_reclaim()
mm: Serialize access to min_free_kbytes
mm: page_isolation: MIGRATE_CMA isolation functions added
mm: mmzone: MIGRATE_CMA migration type added
mm: page_alloc: change fallbacks array handling
mm: page_alloc: introduce alloc_contig_range()
mm: compaction: export some of the functions
mm: compaction: introduce isolate_freepages_range()
mm: compaction: introduce map_pages()
mm: compaction: introduce isolate_migratepages_range()
mm: page_alloc: remove trailing whitespace
ARM: dma-mapping: add support for IOMMU mapper
ARM: dma-mapping: use alloc, mmap, free from dma_ops
ARM: dma-mapping: remove redundant code and do the cleanup
...
Conflicts:
arch/x86/include/asm/dma-mapping.h
2012-05-25 09:18:59 -07:00
..
ABI
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input
2012-05-24 10:34:29 -07:00
accounting
acpi
Update documentation for parameter *notrigger* in einj.txt
2012-03-30 03:30:19 -04:00
aoe
Documentation: remove references to /etc/modprobe.conf
2012-03-30 16:03:15 -07:00
arm
arm-soc: device tree conversions, part 1
2012-05-22 09:30:52 -07:00
auxdisplay
backlight
backlight: new backlight driver for LP855x devices
2012-03-23 16:58:33 -07:00
blackfin
Documentation: Fix typo in multiple files in Documentation
2012-04-16 14:37:13 +02:00
block
blockdev
Documentation: remove references to /etc/modprobe.conf
2012-03-30 16:03:15 -07:00
cdrom
cgroups
Merge branch 'for-3.5' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup
2012-05-22 17:40:19 -07:00
connector
console
cpu-freq
cpuidle
cpuidle: add a sysfs entry to disable specific C state for debug purpose.
2012-03-30 01:52:58 -04:00
cris
CRIS: Update documentation
2012-04-03 13:09:18 +02:00
crypto
development-process
device-mapper
dm: add verity target
2012-03-28 18:43:38 +01:00
devicetree
Sound updates #2 for 3.5-rc1
2012-05-25 08:45:25 -07:00
DocBook
Merge branch 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media
2012-05-24 10:21:51 -07:00
driver-model
Pin control subsystem changes for kernel 3.5:
2012-05-21 16:58:23 -07:00
dvb
Merge branch 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media
2012-05-24 10:21:51 -07:00
early-userspace
EDID
drm: allow loading an EDID as firmware to override broken monitor
2012-03-20 10:09:28 +00:00
extcon
Documentation/extcon: porting guide for Android kernel switch driver.
2012-04-20 09:24:27 -07:00
fault-injection
fb
Documentation: remove references to /etc/modprobe.conf
2012-03-30 16:03:15 -07:00
filesystems
Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs
2012-05-25 08:14:59 -07:00
firmware_class
frv
hid
hwmon
hwmon updates for 3.5-rc1
2012-05-23 14:15:09 -07:00
i2c
Documentation: remove references to /etc/modprobe.conf
2012-03-30 16:03:15 -07:00
i2o
Documentation: Fix multiple typo in Documentation
2012-03-07 16:08:24 +01:00
ia64
ide
Documentation: remove references to /etc/modprobe.conf
2012-03-30 16:03:15 -07:00
infiniband
input
Documentation: input.txt: clarify mousedev 'cat' command syntax
2012-03-30 16:03:15 -07:00
ioctl
mei: update Documentation/ioctl/ioctl-number.txt
2012-05-09 14:00:31 -07:00
isdn
Documentation: remove references to /etc/modprobe.conf
2012-03-30 16:03:15 -07:00
ja_JP
kbuild
Documentation: mention scripts/diffconfig tool
2012-03-30 16:03:15 -07:00
kdump
ko_KR
driver-core: documentation: fix up Greg's email address
2012-02-15 14:48:01 -08:00
laptops
Documentation: remove references to /etc/modprobe.conf
2012-03-30 16:03:15 -07:00
leds
drivers/leds/leds-lp5521.c: support led pattern data
2012-03-23 16:58:34 -07:00
m68k
make
memory-devices
memory: emif: add basic infrastructure for EMIF driver
2012-05-02 00:10:49 -07:00
mips
misc-devices
mei: Documentation: add generated example binary into .gitignore file
2012-05-14 15:43:44 -07:00
mmc
mn10300
mtd
namespaces
netlabel
networking
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial
2012-05-22 19:22:50 -07:00
nfc
NFC: Update Documentation/nfc-hci.txt
2012-05-15 17:28:01 -04:00
parisc
Documentation: Fix typo in multiple files in Documentation
2012-04-16 14:37:13 +02:00
PCI
pcmcia
power
Power management updates for 3.5
2012-05-23 14:07:06 -07:00
powerpc
Revert "powerpc/hw-breakpoint: Use generic hw-breakpoint interfaces for new PPC ptrace flags"
2012-05-22 14:37:24 +10:00
pps
prctl
Documentation: prctl/seccomp_filter
2012-04-14 11:13:22 +10:00
pti
ptp
rapidio
RCU
rcu: Introduce rcutorture testing for rcu_barrier()
2012-04-30 10:48:18 -07:00
s390
Documentation: remove references to /etc/modprobe.conf
2012-03-30 16:03:15 -07:00
scheduler
sched: Remove stale power aware scheduling remnants and dysfunctional knobs
2012-05-17 13:48:56 +02:00
scsi
Merge branch 'delete-mca' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux
2012-05-23 17:12:06 -07:00
security
Smack: allow for significantly longer Smack labels v4
2012-05-14 22:48:38 -07:00
serial
serial: delete the MCA specific 8250 support.
2012-05-17 19:02:14 -04:00
sh
sound
Sound updates for 3.5-rc1
2012-05-23 13:05:43 -07:00
spi
spi: create a message queueing infrastructure
2012-03-07 19:19:48 -07:00
sysctl
net: doc: merge /proc/sys/net/core/* documents into one place
2012-04-27 00:09:26 -04:00
target
Documentation: Fix typo in tcm_mod_builder.py
2012-02-10 09:52:18 +01:00
telephony
thermal
thermal: Rename generate_netlink_event
2012-01-23 03:15:25 -05:00
timers
trace
tracing: Fix kconfig warning due to a typo
2012-05-08 14:17:25 +02:00
usb
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial
2012-05-22 19:22:50 -07:00
vDSO
video4linux
Merge branch 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media
2012-05-24 10:21:51 -07:00
virtual
Merge branch 'next' of git://git.kernel.org/pub/scm/virt/kvm/kvm
2012-05-24 16:17:30 -07:00
vm
mm: move hugepage test examples to tools/testing/selftests/vm
2012-03-28 17:14:37 -07:00
w1
watchdog
Documentation/watchdog: Fix the file descriptor leak when no cmdline arg given
2012-05-23 16:27:48 +02:00
wimax
x86
zh_CN
Fix a mistake sentence in the file 'Documentation/zh_CN/magic-number.txt'
2012-05-07 17:20:27 -07:00
.gitignore
00-INDEX
MCA: delete all remaining traces of microchannel bus support.
2012-05-17 19:06:13 -04:00
applying-patches.txt
atomic_ops.txt
bad_memory.txt
basic_profiling.txt
binfmt_misc.txt
braille-console.txt
bt8xxgpio.txt
btmrvl.txt
BUG-HUNTING
bus-virt-phys-mapping.txt
cachetlb.txt
Changes
circular-buffers.txt
clk.txt
Documentation: common clk API
2012-03-16 20:35:01 +00:00
coccinelle.txt
coccinelle.txt: update documentation to include M= option
2012-01-14 22:25:56 +01:00
CodingStyle
Documentation: CodingStyle: add inline assembly guidelines
2012-03-30 16:03:15 -07:00
cpu-hotplug.txt
documentation: remove references to cpu_*_map.
2012-03-29 15:38:31 +10:30
cpu-load.txt
cputopology.txt
crc32.txt
crc32: move long comment about crc32 fundamentals to Documentation/
2012-03-23 16:58:37 -07:00
dcdbas.txt
debugging-modules.txt
debugging-via-ohci1394.txt
dell_rbu.txt
devices.txt
Merge branch 'delete-mca' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux
2012-05-23 17:12:06 -07:00
digsig.txt
DMA-API-HOWTO.txt
DMA-API.txt
DMA-attributes.txt
common: DMA-mapping: add NON-CONSISTENT attribute
2012-03-28 16:36:44 +02:00
dma-buf-sharing.txt
dma-buf: document fd flags and O_CLOEXEC requirement
2012-03-26 11:33:22 +05:30
DMA-ISA-LPC.txt
dmaengine.txt
Documentation: Fix multiple typo in Documentation
2012-03-07 16:08:24 +01:00
dontdiff
Documentation: remove 'mach' from dontdiff file
2012-03-30 16:03:15 -07:00
dynamic-debug-howto.txt
dynamic_debug: update Documentation/*, Kconfig.debug
2012-04-30 16:26:30 -04:00
edac.txt
Documentation: Fix typo in multiple files in Documentation
2012-04-16 14:37:13 +02:00
eisa.txt
MCA: delete all remaining traces of microchannel bus support.
2012-05-17 19:06:13 -04:00
email-clients.txt
feature-removal-schedule.txt
MMC highlights for 3.5:
2012-05-25 08:23:32 -07:00
flexible-arrays.txt
futex-requeue-pi.txt
gcov.txt
gpio.txt
gpio: add flags to export GPIOs when requesting
2012-04-05 21:24:06 -07:00
highuid.txt
HOWTO
docs: update HOWTO for 2.6.x -> 3.x versioning
2012-04-19 19:13:08 -07:00
hw_random.txt
hwspinlock.txt
init.txt
initrd.txt
Intel-IOMMU.txt
intel_txt.txt
io-mapping.txt
io_ordering.txt
iostats.txt
IPMI.txt
IRQ-affinity.txt
IRQ-domain.txt
irq_domain: add documentation and MAINTAINERS entry.
2012-02-14 14:06:47 -07:00
IRQ.txt
irqflags-tracing.txt
isapnp.txt
java.txt
kernel-doc-nano-HOWTO.txt
kernel-docs.txt
kernel-parameters.txt
Merge branch 'for-linus' of git://git.linaro.org/people/mszyprowski/linux-dma-mapping
2012-05-25 09:18:59 -07:00
kmemcheck.txt
kmemleak.txt
kobject.txt
driver-core: documentation: fix up Greg's email address
2012-02-15 14:48:01 -08:00
kprobes.txt
kref.txt
ldm.txt
local_ops.txt
lockdep-design.txt
lockstat.txt
lockup-watchdogs.txt
watchdog: Update documentation
2012-02-11 15:11:28 +01:00
logo.gif
logo.txt
magic-number.txt
drivers/net: fix up stale paths from driver reorg
2012-01-30 12:54:40 -05:00
Makefile
mei: move doc files Documentation/misc-devices/mei
2012-05-09 13:59:09 -07:00
ManagementStyle
md.txt
media-framework.txt
[media] media: Add link_validate() op to check links to the sink pad
2012-05-14 08:44:11 -03:00
memory-barriers.txt
memory-hotplug.txt
Documentation: Fix typo in multiple files in Documentation
2012-04-16 14:37:13 +02:00
memory.txt
mono.txt
Documentation: remove references to /etc/modprobe.conf
2012-03-30 16:03:15 -07:00
mutex-design.txt
nommu-mmap.txt
numastat.txt
Doc: Update numastat.txt
2012-02-28 16:05:06 +01:00
oops-tracing.txt
padata.txt
parport-lowlevel.txt
parport.txt
Documentation: remove references to /etc/modprobe.conf
2012-03-30 16:03:15 -07:00
pi-futex.txt
pinctrl.txt
pinctrl: implement devm_pinctrl_get()/put()
2012-04-18 13:53:13 +02:00
pnp.txt
preempt-locking.txt
printk-formats.txt
prio_tree.txt
ramoops.txt
pstore/ram: Add ECC support
2012-05-17 08:51:59 -07:00
rbtree.txt
remoteproc.txt
remoteproc: remove the single rpmsg vdev limitation
2012-03-06 19:14:12 +02:00
rfkill.txt
robust-futex-ABI.txt
robust-futexes.txt
rpmsg.txt
rpmsg: add virtio-based remote processor messaging bus
2012-02-08 22:53:58 +02:00
rt-mutex-design.txt
rt-mutex.txt
rtc.txt
SAK.txt
SecurityBugs
serial-console.txt
sgi-ioc4.txt
sgi-visws.txt
SM501.txt
sparse.txt
spinlocks.txt
stable_api_nonsense.txt
stable_kernel_rules.txt
stable: update documentation to ask for kernel version
2012-01-24 10:50:22 -08:00
static-keys.txt
Documentation: Fix typo in multiple files in Documentation
2012-04-16 14:37:13 +02:00
SubmitChecklist
SubmittingDrivers
SubmittingPatches
svga.txt
sysfs-rules.txt
sysrq.txt
Documentation: sysrq: Crutcher Dunnavant is unavailable
2012-03-30 16:03:15 -07:00
unaligned-memory-access.txt
unicode.txt
unshare.txt
VGA-softcursor.txt
vgaarbiter.txt
video-output.txt
vme_api.txt
VME: Move API documentation to Documentation folder
2012-05-08 16:01:34 -07:00
volatile-considered-harmful.txt
workqueue.txt
xz.txt
zorro.txt