Linus Torvalds
58bca4a8fa
Merge branch 'for-linus' of git://git.linaro.org/people/mszyprowski/linux-dma-mapping
...
Pull DMA mapping branch from Marek Szyprowski:
"Short summary for the whole series:
A few limitations have been identified in the current dma-mapping
design and its implementations for various architectures. There exist
more than one function for allocating and freeing the buffers:
currently these 3 are used dma_{alloc, free}_coherent,
dma_{alloc,free}_writecombine, dma_{alloc,free}_noncoherent.
For most of the systems these calls are almost equivalent and can be
interchanged. For others, especially the truly non-coherent ones
(like ARM), the difference can be easily noticed in overall driver
performance. Sadly not all architectures provide implementations for
all of them, so the drivers might need to be adapted and cannot be
easily shared between different architectures. The provided patches
unify all these functions and hide the differences under the already
existing dma attributes concept. The thread with more references is
available here:
http://www.spinics.net/lists/linux-sh/msg09777.html
These patches are also a prerequisite for unifying DMA-mapping
implementation on ARM architecture with the common one provided by
dma_map_ops structure and extending it with IOMMU support. More
information is available in the following thread:
http://thread.gmane.org/gmane.linux.kernel.cross-arch/12819
More works on dma-mapping framework are planned, especially in the
area of buffer sharing and managing the shared mappings (together with
the recently introduced dma_buf interface: commit d15bd7ee44
"dma-buf: Introduce dma buffer sharing mechanism").
The patches in the current set introduce a new alloc/free methods
(with support for memory attributes) in dma_map_ops structure, which
will later replace dma_alloc_coherent and dma_alloc_writecombine
functions."
People finally started piping up with support for merging this, so I'm
merging it as the last of the pending stuff from the merge window.
Looks like pohmelfs is going to wait for 3.5 and more external support
for merging.
* 'for-linus' of git://git.linaro.org/people/mszyprowski/linux-dma-mapping:
common: DMA-mapping: add NON-CONSISTENT attribute
common: DMA-mapping: add WRITE_COMBINE attribute
common: dma-mapping: introduce mmap method
common: dma-mapping: remove old alloc_coherent and free_coherent methods
Hexagon: adapt for dma_map_ops changes
Unicore32: adapt for dma_map_ops changes
Microblaze: adapt for dma_map_ops changes
SH: adapt for dma_map_ops changes
Alpha: adapt for dma_map_ops changes
SPARC: adapt for dma_map_ops changes
PowerPC: adapt for dma_map_ops changes
MIPS: adapt for dma_map_ops changes
X86 & IA64: adapt for dma_map_ops changes
common: dma-mapping: introduce generic alloc() and free() methods
2012-04-04 17:13:43 -07:00
David Howells
141124c020
Delete all instances of asm/system.h
...
Delete all instances of asm/system.h as they should be redundant by this
point.
Signed-off-by: David Howells <dhowells@redhat.com >
2012-03-28 18:30:03 +01:00
David Howells
8335896bed
Disintegrate asm/system.h for Hexagon
...
Disintegrate asm/system.h for Hexagon. Not compiled.
Signed-off-by: David Howells <dhowells@redhat.com >
Acked-by: Richard Kuo <rkuo@codeaurora.org >
cc: linux-hexagon@vger.kernel.org
2012-03-28 18:30:02 +01:00
Marek Szyprowski
77345520c4
Hexagon: adapt for dma_map_ops changes
...
Adapt core Hexagon architecture code for dma_map_ops changes: replace
alloc/free_coherent with generic alloc/free methods.
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com >
Acked-by: Kyungmin Park <kyungmin.park@samsung.com >
Reviewed-by: Arnd Bergmann <arnd@arndb.de >
Acked-by: Richard Kuo <rkuo@codeaurora.org >
2012-03-28 16:36:40 +02:00
Peter Zijlstra
35edc2a509
perf, arch: Rework perf_event_index()
...
Put the logic to compute the event index into a per pmu method. This
is required because the x86 rules are weird and wonderful and don't
match the capabilities of the current scheme.
AFAIK only powerpc actually has a usable userspace read of the PMCs
but I'm not at all sure anybody actually used that.
ARM is restored to the default since it currently does not support
userspace access at all. And all software events are provided with a
method that reports their index as 0 (disabled).
Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl >
Cc: Michael Cree <mcree@orcon.net.nz >
Cc: Will Deacon <will.deacon@arm.com >
Cc: Deng-Cheng Zhu <dengcheng.zhu@gmail.com >
Cc: Anton Blanchard <anton@samba.org >
Cc: Eric B Munson <emunson@mgebm.net >
Cc: Heiko Carstens <heiko.carstens@de.ibm.com >
Cc: Paul Mundt <lethal@linux-sh.org >
Cc: David S. Miller <davem@davemloft.net >
Cc: Richard Kuo <rkuo@codeaurora.org >
Cc: Stephane Eranian <eranian@google.com >
Cc: Arun Sharma <asharma@fb.com >
Link: http://lkml.kernel.org/n/tip-dfydxodki16lylkt3gl2j7cw@git.kernel.org
Signed-off-by: Ingo Molnar <mingo@elte.hu >
2011-12-21 11:01:07 +01:00
Linas Vepstas
0d71e8791f
Hexagon: kgdb support files
...
Signed-off-by: Linas Vepstas <linas@codeaurora.org >
Acked-by: Arnd Bergmann <arnd@arndb.de >
Signed-off-by: Richard Kuo <rkuo@codeaurora.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2011-11-01 07:34:21 -07:00
Richard Kuo
499236d9db
Hexagon: Add page-fault support.
...
Signed-off-by: Richard Kuo <rkuo@codeaurora.org >
Signed-off-by: Linas Vepstas <linas@codeaurora.org >
Acked-by: Arnd Bergmann <arnd@arndb.de >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2011-11-01 07:34:20 -07:00
Richard Kuo
a7e7984099
Hexagon: Add page table header files & etc.
...
Signed-off-by: Richard Kuo <rkuo@codeaurora.org >
Signed-off-by: Linas Vepstas <linas@codeaurora.org >
Acked-by: Arnd Bergmann <arnd@arndb.de >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2011-11-01 07:34:20 -07:00
Richard Kuo
65c3d7c525
Hexagon: Provide DMA implementation
...
Signed-off-by: Richard Kuo <rkuo@codeaurora.org >
Signed-off-by: Linas Vepstas <linas@codeaurora.org >
Acked-by: Arnd Bergmann <arnd@arndb.de >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2011-11-01 07:34:20 -07:00
Richard Kuo
5df87c1556
Hexagon: Implement basic TLB management routines for Hexagon.
...
Mostly all stubs, as the TLB is managed by the hypervisor.
Signed-off-by: Richard Kuo <rkuo@codeaurora.org >
Acked-by: Arnd Bergmann <arnd@arndb.de >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2011-11-01 07:34:20 -07:00
Richard Kuo
2d3cbc7804
Hexagon: Implement basic cache-flush support
...
Signed-off-by: Richard Kuo <rkuo@codeaurora.org >
Acked-by: Arnd Bergmann <arnd@arndb.de >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2011-11-01 07:34:20 -07:00
Richard Kuo
013bf24c38
Hexagon: Provide basic implementation and/or stubs for I/O routines.
...
Signed-off-by: Richard Kuo <rkuo@codeaurora.org >
Signed-off-by: Linas Vepstas <linas@codeaurora.org >
Acked-by: Arnd Bergmann <arnd@arndb.de >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2011-11-01 07:34:20 -07:00
Richard Kuo
7567746e1c
Hexagon: Add user access functions
...
Signed-off-by: Richard Kuo <rkuo@codeaurora.org >
Acked-by: Arnd Bergmann <arnd@arndb.de >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2011-11-01 07:34:20 -07:00
Richard Kuo
dd472da380
Hexagon: Add locking types and functions
...
Signed-off-by: Richard Kuo <rkuo@codeaurora.org >
Acked-by: Arnd Bergmann <arnd@arndb.de >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2011-11-01 07:34:20 -07:00
Richard Kuo
43afdf5083
Hexagon: Add SMP support
...
Signed-off-by: Richard Kuo <rkuo@codeaurora.org >
Signed-off-by: Linas Vepstas <linas@codeaurora.org >
Acked-by: Arnd Bergmann <arnd@arndb.de >
Reviewed-by: Thomas Gleixner <tglx@linutronix.de >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2011-11-01 07:34:20 -07:00
Richard Kuo
cf9750bae2
Hexagon: Provide basic debugging and system trap support.
...
Signed-off-by: Richard Kuo <rkuo@codeaurora.org >
Signed-off-by: Linas Vepstas <linas@codeaurora.org >
Acked-by: Arnd Bergmann <arnd@arndb.de >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2011-11-01 07:34:19 -07:00
Richard Kuo
39e89c9fc5
Hexagon: Add ptrace support
...
Signed-off-by: Richard Kuo <rkuo@codeaurora.org >
Signed-off-by: Linas Vepstas <linas@codeaurora.org >
Acked-by: Arnd Bergmann <arnd@arndb.de >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2011-11-01 07:34:19 -07:00
Richard Kuo
71e4a47f32
Hexagon: Add time and timer functions
...
Signed-off-by: Richard Kuo <rkuo@codeaurora.org >
Acked-by: Arnd Bergmann <arnd@arndb.de >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2011-11-01 07:34:19 -07:00
Richard Kuo
2ac211bc42
Hexagon: Add interrupts
...
Signed-off-by: Richard Kuo <rkuo@codeaurora.org >
Signed-off-by: Linas Vepstas <linas@codeaurora.org >
Reviewed-by: Thomas Gleixner <tglx@linutronix.de >
Acked-by: Arnd Bergmann <arnd@arndb.de >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2011-11-01 07:34:19 -07:00
Richard Kuo
cd5b61d6f4
Hexagon: Add signal functions
...
Signed-off-by: Richard Kuo <rkuo@codeaurora.org >
Signed-off-by: Linas Vepstas <linas@codeaurora.org >
Acked-by: Arnd Bergmann <arnd@arndb.de >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2011-11-01 07:34:19 -07:00
Richard Kuo
e49ee2906c
Hexagon: Add hypervisor interface
...
Signed-off-by: Richard Kuo <rkuo@codeaurora.org >
Acked-by: Arnd Bergmann <arnd@arndb.de >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2011-11-01 07:34:19 -07:00
Richard Kuo
075a46a049
Hexagon: Add checksum functions
...
Signed-off-by: Richard Kuo <rkuo@codeaurora.org >
Signed-off-by: Linas Vepstas <linas@codeaurora.org >
Acked-by: Arnd Bergmann <arnd@arndb.de >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2011-11-01 07:34:18 -07:00
Richard Kuo
b7840983e8
Hexagon: Add delay functions
...
Signed-off-by: Richard Kuo <rkuo@codeaurora.org >
Acked-by: Arnd Bergmann <arnd@arndb.de >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2011-11-01 07:34:18 -07:00
Richard Kuo
52f710249e
Hexagon: Add threadinfo
...
Signed-off-by: Richard Kuo <rkuo@codeaurora.org >
Acked-by: Arnd Bergmann <arnd@arndb.de >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2011-11-01 07:34:18 -07:00
Richard Kuo
99a70aa051
Hexagon: Add processor and system headers
...
Signed-off-by: Richard Kuo <rkuo@codeaurora.org >
Signed-off-by: Linas Vepstas <linas@codeaurora.org >
Acked-by: Arnd Bergmann <arnd@arndb.de >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2011-11-01 07:34:18 -07:00
Richard Kuo
b9398a8459
Hexagon: Add syscalls
...
Signed-off-by: Richard Kuo <rkuo@codeaurora.org >
Signed-off-by: Linas Vepstas <linas@codeaurora.org >
Acked-by: Arnd Bergmann <arnd@arndb.de >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2011-11-01 07:34:18 -07:00
Richard Kuo
750850189b
Hexagon: Add atomic ops support
...
Signed-off-by: Richard Kuo <rkuo@codeaurora.org >
Acked-by: Arnd Bergmann <arnd@arndb.de >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2011-11-01 07:34:18 -07:00
Richard Kuo
a86a7ce30a
Hexagon: Add bitops support
...
Signed-off-by: Richard Kuo <rkuo@codeaurora.org >
Acked-by: Arnd Bergmann <arnd@arndb.de >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2011-11-01 07:34:18 -07:00
Richard Kuo
8feca0e182
Hexagon: Core arch-specific header files
...
Signed-off-by: Richard Kuo <rkuo@codeaurora.org >
Signed-off-by: Linas Vepstas <linas@codeaurora.org >
Acked-by: Arnd Bergmann <arnd@arndb.de >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2011-11-01 07:34:18 -07:00
Richard Kuo
cd8e65fb96
Hexagon: Add generic headers
...
Signed-off-by: Richard Kuo <rkuo@codeaurora.org >
Signed-off-by: Linas Vepstas <linas@codeaurora.org >
Acked-by: Arnd Bergmann <arnd@arndb.de >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2011-11-01 07:34:18 -07:00