aboutsummaryrefslogtreecommitdiffstats
path: root/arch
Commit message (Collapse)AuthorAge
* [ARM] dma: convert IOMD DMA to use sg_next()Russell King2008-12-11
| | | | | | ... rather than incrementing the sg pointer. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] dma: ensure that the single entry sg is properly initializedRussell King2008-12-11
| | | | Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] dma: constify dma controller name and dma opsRussell King2008-12-11
| | | | Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] dma: move RiscPC specific DMA data out of dma_structRussell King2008-12-11
| | | | | | | Separate the RiscPC specific (IOMD and floppy FIQ) data out of the core DMA structure by making the IOMD and floppy DMA supersets. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] dma: rejig DMA initializationRussell King2008-12-11
| | | | | | | | | | | | | | Rather than having the central DMA multiplexer call the architecture specific DMA initialization function, have each architecture DMA initialization function use core_initcall(), and register each DMA channel separately with the multiplexer. This removes the array of dma structures in the central multiplexer, replacing it with an array of pointers instead; this is more flexible since it allows the drivers to wrap the DMA structure (eventually allowing us to transition non-ISA DMA drivers away.) Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] dma: factor out code looking up the DMA channelRussell King2008-12-08
| | | | | | | This is a preparitory patch to allow us to easily change the way we add and lookup DMA channel structures. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] dma: remove dmach_t typedefRussell King2008-12-08
| | | | | | Remove a pointless integer typedef. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] Rename ISA mach/dma.h header to mach/isa-dma.hRussell King2008-11-29
| | | | | | | This avoids confusion with platform specific DMA implementations in mach/dma.h Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] Hide ISA DMA API when ISA_DMA_API is unsetRussell King2008-11-29
| | | | | | | | | | | | | When ISA_DMA_API is unset, we're not implementing the ISA DMA API, so there's no point in publishing the prototypes via asm/dma.h, nor including the machine dependent parts of that API. This allows us to remove a lot of mach/dma.h files which don't contain any useful code. Unfortunately though, some platforms put their own private non-ISA definitions into mach/dma.h, so we leave these behind and fix the appropriate #include statments. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] fix constant values of MAX_DMA_ADDRESSRussell King2008-11-29
| | | | | | | | | Since 8d5796d2ec6b5a4e7a52861144e63af438d6f8f7, we have allowed PAGE_OFFSET to be configurable, so a constant virtual address for MAX_DMA_ADDRESS is buggy. It should be defined in terms of PAGE_OFFSET rather than a constant virtual address. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] move MAX_DMA_ADDRESS to mach/memory.hRussell King2008-11-29
| | | | | | | Move the definition of MAX_DMA_ADDRESS from mach/dma.h to mach/memory.h, thereby placing it along side its relative, ISA_DMA_THRESHOLD. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] Remove unnecessary mach/hardware.h includes in arch/arm/mmRussell King2008-11-28
| | | | Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] asm/system.h does not require asm/memory.hRussell King2008-11-28
| | | | Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] ns9xxx: mach/hardware.h doesn't need asm/memory.hRussell King2008-11-28
| | | | Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] ixp4xx: clean up includesRussell King2008-11-28
| | | | | | | mach/io.h doesn't need linux/mm.h. mach/dma.h doesn't need linux/device.h, asm/page.h or mach/hardware.h Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] ixp23xx: mach/io.h doesn't need BUG() anymoreRussell King2008-11-28
| | | | | | | ixp23xx's mach/io.h claims to need linux/kernel.h for BUG(). However, this header doesn't make use of BUG(). Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] iop13xx: avoid polluting the kernel's namespaceRussell King2008-11-28
| | | | | | | Avoid unnecessarily pollution of the kernel's namespace by avoiding mach/hardware.h in mach/timex.h. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] iop3xx: avoid polluting the kernel's namespaceRussell King2008-11-28
| | | | | | | | Avoid unnecessarily pollution of the kernel's namespace by avoiding mach/hardware.h in mach/io.h, mach/memory.h and mach/timex.h. Include this header file where necessary. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] shark: avoid polluting the kernel's namespaceRussell King2008-11-28
| | | | | | | Avoid unnecessarily pollution of the kernel's namespace by avoiding mach/hardware.h in mach/io.h. Include this header file where necessary. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] shark: remove old unused "translated" IO macrosRussell King2008-11-28
| | | | Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] clps711x: avoid polluting the kernel's namespaceRussell King2008-11-28
| | | | | | | Avoid unnecessarily pollution of the kernel's namespace by avoiding mach/hardware.h in mach/io.h. Include this header file where necessary. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] footbridge: mach/hardware.h doesn't require mach/memory.hRussell King2008-11-28
| | | | Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] footbridge: avoid polluting the kernel's namespaceRussell King2008-11-28
| | | | | | | Avoid unnecessarily pollution of the kernel's namespace by avoiding mach/hardware.h in mach/io.h. Include this header file where necessary. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] aaec2000: avoid polluting the kernel's namespaceRussell King2008-11-28
| | | | | | | Avoid unnecessarily pollution of the kernel's namespace by avoiding mach/hardware.h in mach/io.h. Include this header file where necessary. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] lh7a40x: avoid polluting the kernel's namespaceRussell King2008-11-28
| | | | | | | Avoid unnecessarily pollution of the kernel's namespace by avoiding mach/hardware.h in mach/io.h. Include this header file where necessary. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] l7200: avoid polluting the kernel's namespaceRussell King2008-11-28
| | | | | | | Avoid unnecessarily pollution of the kernel's namespace by avoiding mach/hardware.h in mach/io.h. Include this header file where necessary. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] h720x: avoid polluting the kernel's namespaceRussell King2008-11-28
| | | | | | | Avoid unnecessarily pollution of the kernel's namespace by avoiding mach/hardware.h in mach/io.h. Include this header file where necessary. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] imx: avoid polluting the kernel's namespaceRussell King2008-11-28
| | | | | | | Avoid unnecessarily pollution of the kernel's namespace by avoiding mach/hardware.h in mach/io.h. Include this header file where necessary. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] pxa: avoid polluting the kernel's namespaceRussell King2008-11-28
| | | | | | | Avoid unnecessarily pollution of the kernel's namespace by avoiding mach/hardware.h. Include this header file where necessary. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] rpc: remove obsolete IO accessorsRussell King2008-11-28
| | | | | | | Remove __arch_base_xxx() and __ioaddrc() macros; they're obsolete and unused. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] versatile: remove IRQ mask definitionsRussell King2008-11-28
| | | | | | These definitions are unused and serve no purpose with genirq. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* Merge branch 'highmem' into develRussell King2008-11-28
|\ | | | | | | | | | | Conflicts: arch/arm/mach-clps7500/include/mach/memory.h
| * [ARM] remove a common set of __virt_to_bus definitionsNicolas Pitre2008-11-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Let's provide an overridable default instead of having every machine class define __virt_to_bus and __bus_to_virt to the same thing. What most platforms are using is bus_addr == phys_addr so such is the default. One exception is ebsa110 which has no DMA what so ever, so the actual definition is not important except only for proper compilation. Also added a comment about the special footbridge bus translation. Let's also remove comments alluding to set_dma_addr which is not (and should not) be commonly used. Signed-off-by: Nicolas Pitre <nico@marvell.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * [ARM] unconditionally define __virt_to_phys and __phys_to_virtNicolas Pitre2008-11-28
| | | | | | | | | | | | | | | | | | There is no machine class overriding this. If non linear translations are implemented again for some machines then this could be restored at that time. Signed-off-by: Nicolas Pitre <nico@marvell.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * [ARM] remove bogus #ifdef CONFIG_HIGHMEM in show_pte()Nicolas Pitre2008-11-28
| | | | | | | | | | | | | | | | | | | | The restriction on !CONFIG_HIGHMEM is unneeded since page tables are currently never allocated with highmem pages, and actually disable PTE dump whenever highmem is configured. Let's have a dynamic test to better describe the current limitation instead. Signed-off-by: Nicolas Pitre <nico@marvell.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * [ARM] prevent the vmalloc cmdline argument from eating all memoryNicolas Pitre2008-11-28
| | | | | | | | | | | | | | | | | | Commit 8d5796d2ec6b5a4e7a52861144e63af438d6f8f7 allows for the vmalloc area to be resized from the kernel cmdline. Make sure it cannot overlap with RAM entirely. Signed-off-by: Nicolas Pitre <nico@marvell.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * [ARM] mem_init() cleanupsNicolas Pitre2008-11-28
| | | | | | | | | | | | | | | | | | | | | | Make free_area() arguments pfn based, and return number of freed pages. This will simplify highmem initialization later. Also, codepages, datapages and initpages are actually codesize, datasize and initsize. Signed-off-by: Nicolas Pitre <nico@marvell.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * [ARM] split highmem into its own memory bankNicolas Pitre2008-11-28
| | | | | | | | | | | | | | | | | | Doing so will greatly simplify the bootmem initialization code as each bank is therefore entirely lowmem or highmem with no crossing between those zones. Signed-off-by: Nicolas Pitre <nico@marvell.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * [ARM] rationalize memory configuration code some moreNicolas Pitre2008-11-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently there are two instances of struct meminfo: one in kernel/setup.c marked __initdata, and another in mm/init.c with permanent storage. Let's keep only the later to directly populate the permanent version from arm_add_memory(). Also move common validation tests between the MMU and non-MMU cases into arm_add_memory() to remove some duplication. Protection against overflowing the membank array is also moved in there in order to cover the kernel cmdline parsing path as well. Signed-off-by: Nicolas Pitre <nico@marvell.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * [ARM] fix a couple clear_user_highpage assembly constraintsNicolas Pitre2008-11-28
| | | | | | | | | | | | | | | | | | | | | | | | | | In all cases the kaddr is assigned an input register even though it is modified in the assembly code. Let's assign a new variable to the modified value and mark those inline asm with volatile otherwise they get optimized away because the output variable is otherwise not used. Also fix a few conversion errors in copypage-feroceon.c and copypage-v4mc.c. Signed-off-by: Nicolas Pitre <nico@marvell.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * [ARM] clearpage: provide our own clear_user_highpage()Russell King2008-11-27
| | | | | | | | | | | | | | For similar reasons as copy_user_page(), we want to avoid the additional kmap_atomic if it's unnecessary. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * [ARM] copypage: provide our own copy_user_highpage()Russell King2008-11-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | We used to override the copy_user_page() function. However, this is not only inefficient, it also causes additional complexity for highmem support, since we convert from a struct page to a kernel direct mapped address and back to a struct page again. Moreover, with highmem support, we end up pointlessly setting up kmap entries for pages which we're going to remap. So, push the kmapping down into the copypage implementation files where it's required. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * [ARM] copypage: convert assembly files to CRussell King2008-11-27
| | | | | | | | Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * Merge branch 'omap-fixes' of ↵Russell King2008-11-27
| |\ | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6
| | * ARM: OMAP: Fixes for suspend / resume GPIO wake-up handlingTero Kristo2008-11-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | Use the correct wake-up enable register, and make it work with 34xx also. Signed-off-by: Tero Kristo <tero.kristo@nokia.com> Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
| | * ARM: OMAP: Typo fix for clock_allow_idleAmit Kucheria2008-11-25
| | | | | | | | | | | | | | | | | | | | | The second clk_deny_idle instance should be clk_allow_idle instead. Signed-off-by: Amit Kucheria <amit.kucheria@verdurent.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
| * | [ARM] pxa/MioA701: bluetooth resume fixRobert Jarzmik2008-11-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The G3IPL expects the value at RAM address 0xa020b020 to be exactly 1 to setup the bluetooth GPIOs properly. The actual code got a value from gpio_get_value() which was not 1, but a "not equal to 0" integer. Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr> Acked-by: Russell King <rmk+kernel@arm.linux.org.uk> Signed-off-by: Eric Miao <eric.miao@marvell.com>
| * | [ARM] pxa/MioA701: fix memory corruption.Robert Jarzmik2008-11-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In the resume bootstrap, the early disable address is wrong. Fix it to RAM address 0xa020b000 instead of 0xa0200000, and make it consistent with RESUME_ENABLE_ADDR in mioa701.c. Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr> Acked-by: Russell King <rmk+kernel@arm.linux.org.uk> Signed-off-by: Eric Miao <eric.miao@marvell.com>
* | | Merge branch 'for-rmk' of git://linux-arm.org/linux-2.6 into develRussell King2008-11-27
|\ \ \
| * | | Fix the teehbr_read function prototypeCatalin Marinas2008-11-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A "void" was missing inside brackets. Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>