summaryrefslogtreecommitdiffstats
path: root/arch/sh
Commit message (Collapse)AuthorAgeFilesLines
* sh: Fixup last users of irq_chip->typenameThomas Gleixner2009-11-182-2/+2
| | | | | | | | | The typename member of struct irq_chip was kept for migration purposes and is obsolete since more than 2 years. Fix up the leftovers. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: linux-sh@vger.kernel.org Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Replace old style lock initializerThomas Gleixner2009-11-091-1/+1
| | | | | | | | SPIN_LOCK_UNLOCKED is deprecated. Use __SPIN_LOCK_UNLOCKED instead. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: linux-sh@vger.kernel.org Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Account for cache aliases in flush_icache_range()Matt Fleming2009-11-091-1/+4
| | | | | | | | | | | The icache may also contain aliases so we must account for them just like we do when manipulating the dcache. We usually get away with aliases in the icache because the instructions that are read from memory are read-only, i.e. they never change. However, the place where this bites us is when the code has been modified. Signed-off-by: Matt Fleming <matt@console-pimps.org> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: unwinder: Fix up invalid PC refetch in dwarf unwinder.Paul Mundt2009-11-061-1/+1
| | | | | | | | | The dwarf unwinder presently attempts to provide a sane PC value if none is provided, however the logic is broken and cases where a previous valid dwarf frame exists along with a bogus PC value can still proceed. This fixes up the test and prevents the unwinder from blowing up. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Fix hugetlbfs dependencies for SH-3 && MMU configurations.Paul Mundt2009-10-272-1/+6
| | | | | | | | | | | | | | | | The hugetlb dependencies presently depend on SUPERH && MMU while the hugetlb page size definitions depend on CPU_SH4 or CPU_SH5. This unfortunately allows SH-3 + MMU configurations to enable hugetlbfs without a corresponding HPAGE_SHIFT definition, resulting in the build blowing up. As SH-3 doesn't support variable page sizes, we tighten up the dependenies a bit to prevent hugetlbfs from being enabled. These days we also have a shiny new SYS_SUPPORTS_HUGETLBFS, so switch to using that rather than adding to the list of corner cases in fs/Kconfig. Reported-by: Kristoffer Ericson <kristoffer.ericson@gmail.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Document uImage.bin target in archhelp.Paul Mundt2009-10-271-0/+1
| | | | | | | This was missing from the previous patch. Reported-by: Mike Frysinger <vapier@gentoo.org> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: add uImage.bin targetMagnus Damm2009-10-262-2/+6
| | | | | | | | | Add an uImage.bin target to allow uncompressed uImages. Useful for boards with busted u-boot decompression like the rsk7203 on my desk. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: rsk7203 CONFIG_MTD=n fixMagnus Damm2009-10-262-13/+14
| | | | | | | Fix the rsk7203 board code to build with CONFIG_MTD=n. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Check for return_to_handler when unwinding the stackMatt Fleming2009-10-261-0/+22
| | | | | | | | | | | | | | | | | | | | | When CONFIG_FUNCTION_GRAPH_TRACER is enabled the function graph tracer may patch return addresses on the stack with the address of return_to_handler(). This really confuses the DWARF unwinder because it will try find the caller of return_to_handler(), not the caller of the real return address. So teach the DWARF unwinder how to find the real return address whenever it encounters return_to_handler(). This patch does not cope very well when multiple return addresses on the stack have been patched. To make it work properly it would require state to track how many return_to_handler()'s have been seen so that we'd know where to look in current->curr_ret_stack[]. So for now, instead of trying to handle this, just moan if more than one return address on the stack has been patched. Signed-off-by: Matt Fleming <matt@console-pimps.org> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Build fix: define more __movmem* symbolsLubomir Rintel2009-10-261-0/+14
| | | | | | | | | | | | | ERROR: "__movmemSI12" [net/unix/unix.ko] undefined! ERROR: "__movmemSI52" [net/ipv6/sit.ko] undefined! ERROR: "__movmemSI24" [net/ipv6/ipv6.ko] undefined! ERROR: "__movmemSI60" [net/ipv6/ipv6.ko] undefined! ERROR: "__movmemSI16" [net/ipv6/ipv6.ko] undefined! ERROR: "__movmemSI20" [net/ipv6/ipv6.ko] undefined! ERROR: "__movmemSI32" [net/ipv6/ipv6.ko] undefined! Signed-off-by: Lubomir Rintel <lkundrak@v3.sk> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: __irq_entry annotate do_IRQ().Paul Mundt2009-10-261-1/+2
| | | | | | | | | This adds an __irq_entry annotation for do_IRQ() so that the IRQ annotation in the function graph tracer works as advertized. We already have the IRQENTRY section wired up, so this is just a trivial addition to actually make use of it. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Kill off stray HAVE_FTRACE_SYSCALLS reference.Paul Mundt2009-10-161-1/+0
| | | | | | This seems to have popped back in via some merge damage. Kill it off. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Remove BKL from landisk gio.Thomas Gleixner2009-10-161-6/+4
| | | | | | | | | | | | The open function got the BKL via the big push down. Replace it by preempt_enable/disable as this is sufficient for an UP machine. The ioctl can be unlocked because there is no functionality which requires serialization. The usage by multiple callers is broken with and without the BKL due to the local static variable addr. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: disabled cache handling fix.Magnus Damm2009-10-161-0/+10
| | | | | | | | | | | Add code to handle the cache disabled case. Fixes breakage introduced by 37443ef3f0406e855e169c87ae3f4ffb4b6ff635 ("sh: Migrate SH-4 cacheflush ops to function pointers."). Without this patch configuring caches off with CONFIG_CACHE_OFF=y makes kfr2r09 and migo-r lock up in fbdev deferred io or early user space. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Fix up single page flushing to use PAGE_SIZE.Valentin Sitdikov2009-10-161-12/+10
| | | | | | | | | | | | Presently The SH-4 cache flushing code uses flush_cache_4096() for most of the real flushing work, which breaks down to a fixed 4096 unroll and increment. Not only is this sub-optimal for larger page sizes, it's also uncovered a bug in sh4_flush_dcache_page() when large page sizes are used and we have no cache aliases -- resulting in only a part of the page's D-cache lines being written back. Signed-off-by: Valentin Sitdikov <valentin.sitdikov@siemens.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Fix a TRACE_IRQS_OFF typo.Paul Mundt2009-10-141-1/+1
| | | | | | | | The resume_userspace path had TRACE_IRQS_OFF written incorrectly and so never handled the transition properly. This was fixed once before but seems to have made it back in the tree. Fix it for good. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Optimize the setup_rt_frame() I-cache flush.Paul Mundt2009-10-141-2/+1
| | | | | | | | This only needs to flush the return code via the legacy path, and just invalidates uselessly otherwise. This makes the behaviour consistent for all of the trampoline setup paths. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Populate initial secondary CPU info from boot_cpu_data.Paul Mundt2009-10-141-0/+2
| | | | | | | | The secondary CPU info was seeing corrupted results due to not entering all of the setup paths taken by the boot CPU. So we just memcpy() the boot cpu data over directly, and then fix up the per-CPU bits. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Tidy up SMP cpuinfo.Paul Mundt2009-10-141-0/+2
| | | | | | | Trivial change for cleaning up the cpuinfo pretty printing on SMP, adds a newline between CPUs. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Use boot_cpu_data for FPU tests in sigcontext paths.Paul Mundt2009-10-141-3/+3
| | | | | | | We do not want to use smp_processor_id() from these paths, as they trip preempt BUGs. Switch the test over to the boot cpu directly. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: ftrace: Fix up syscall tracepoint support.Paul Mundt2009-10-131-10/+27
| | | | | | | | | | | | Sync up with latest core changes in the syscalls tracing area: - tracing: Map syscall name to number (syscall_name_to_nr()) - tracing: Call arch_init_ftrace_syscalls at boot - tracing: add support tracepoint ids (set_syscall_{enter,exit}_id()) Taken from the s390 change. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: force dcache flush if dcache_dirty bit set.Paul Mundt2009-10-131-1/+1
| | | | | | | | | | | | | | | This too follows the ARM change, given that the issue at hand applies to all platforms that implement lazy D-cache writeback. This fixes up the case when a page mapping disappears between the flush_dcache_page() call (when PG_dcache_dirty is set for the page) and the update_mmu_cache() call -- such as in the case of swap cache being freed early. This kills off the mapping test in update_mmu_cache() and switches to simply testing for PG_dcache_dirty. Reported-by: Nitin Gupta <ngupta@vflare.org> Reported-by: Hugh Dickins <hugh.dickins@tiscali.co.uk> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: update die() output.Paul Mundt2009-10-131-3/+4
| | | | | | | | | | | This follows the ARM change, as SH had all of the same issues: Make die() better match x86: - add printing of the last accessed sysfs file - ensure console_verbose() is called under the lock - ensure we panic outside of oops_exit() Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Don't allocate smaller sized mappings on every iterationMatt Fleming2009-10-091-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | Currently, we've got the less than ideal situation where if we need to allocate a 256MB mapping we'll allocate four entries like so, entry 1: 128MB entry 2: 64MB entry 3: 16MB entry 4: 16MB This is because as we execute the loop in pmb_remap() we will progressively try mapping the remaining address space with smaller and smaller sizes. This isn't good because the size we use on one iteration may be the perfect size to use on the next iteration, for instance when the initial size is divisible by one of the PMB mapping sizes. With this patch, we now only need two entries in the PMB to map 256MB of address space, entry 1: 128MB entry 2: 128MB Signed-off-by: Matt Fleming <matt@console-pimps.org> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Try PMB mapping based on physical address, not mapping sizeMatt Fleming2009-10-091-1/+1
| | | | | | | | We should favour PMB mappings when the physical address cannot be reached with 29-bits. Signed-off-by: Matt Fleming <matt@console-pimps.org> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Plug PMB alloc memory leakMatt Fleming2009-10-091-6/+24
| | | | | | | | | If we fail to allocate a PMB entry in pmb_remap() we must remember to clear and free any PMB entries that we may have previously allocated, e.g. if we were allocating a multiple entry mapping. Signed-off-by: Matt Fleming <matt@console-pimps.org> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Sprinkle __uses_jump_to_uncachedMatt Fleming2009-10-092-3/+3
| | | | | | | | Fix some callers of jump_to_uncached() and back_to_cached() that were not annotated with __uses_jump_to_uncached. Signed-off-by: Matt Fleming <matt@console-pimps.org> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: enable sleep state LEDs on Ecovec24Magnus Damm2009-10-091-0/+5
| | | | | | | | Extend the ecovec24 board code to enable Power Management LEDs showing the current sh7724 sleep state. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: mach-ecovec24: Document DS2 switch settings.Kuninori Morimoto2009-10-051-0/+14
| | | | | Signed-off-by: Kuninori Morimoto <morimoto.kuninori@renesas.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Build fix: export __movmemLubomir Rintel2009-09-301-0/+1
| | | | | | | | | | ERROR: "__movmem" [net/irda/irda.ko] undefined! ERROR: "__movmem" [fs/nfsd/nfsd.ko] undefined! ERROR: "__movmem" [fs/lockd/lockd.ko] undefined! ERROR: "__movmem" [crypto/sha1_generic.ko] undefined! Signed-off-by: Lubomir Rintel <lkundrak@v3.sk> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Disable unaligned kernel access printks by default.Paul Mundt2009-09-301-2/+2
| | | | | | | | | Certain networking and USB workloads generate floods of these accesses, so just disable it by default (thereby restoring the old behaviour). The option remains configurable from userspace, and can still be used as a debugging aid. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: mach-ecovec24: modify 1st MTD area to read onlyKuninori Morimoto2009-09-301-1/+1
| | | | | | Tested-by: Yusuke Goda <goda.yusuke@renesas.com> Signed-off-by: Kuninori Morimoto <morimoto.kuninori@renesas.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: mach-ecovec24: Add TouchScreen supportKuninori Morimoto2009-09-301-0/+42
| | | | | Signed-off-by: Kuninori Morimoto <morimoto.kuninori@renesas.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: magicpanelr2 and dreamcast can use the generic I/O base.Paul Mundt2009-09-282-4/+0
| | | | | | | | There is now no need for the magicpanelr2 and dreamcast platforms to set their own I/O port bas values, given that the generic machvec code now sets this to P2SEG for everyone. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Don't enable interrupts in the page fault pathMatt Fleming2009-09-281-2/+0
| | | | | | | | | | There's already code in do_page_fault() to conditionally enable interrupts, so we don't need to unconditonally enable them before calling it. This fixes a lockdep warning where we called trace_hardirqs_off() but with irqs still enabled. Signed-off-by: Matt Fleming <matt@console-pimps.org> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Set the default I/O port base to P2SEG.Paul Mundt2009-09-281-0/+3
| | | | | | | | | | | | | | | This bumps up the default I/O base to P2SEG, which allows legacy probing to bail out gracefully rather than oopsing. Platforms that have a real PIO offset still need to fix this up on their own, although most platforms are content with P2SEG already. The previous change to teach ioport_map() about >= P1SEG offsets in combination with this patch allows both the already remapped and the legacy address probing to pass through and succeed. Fixes up an oops with i8042 on the sh7785lcr board. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Handle ioport_map() cases for >= P1SEG addresses.Paul Mundt2009-09-281-0/+3
| | | | | | | | | This fixes up the case where certain drivers already do their own remapping and subsequently attempt to use the PIO calls for I/O. In this case there is no additional remapping that needs to be done, and the address can be casted in to the cookie directly. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Add support DMA Engine to SH7780Nobuhiro Iwamatsu2009-09-251-0/+14
| | | | | Signed-off-by: Nobuhiro Iwamatsu <iwamatsu.nobuhiro@renesas.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Add support DMA Engine to SH7722Nobuhiro Iwamatsu2009-09-251-0/+14
| | | | | Signed-off-by: Nobuhiro Iwamatsu <iwamatsu.nobuhiro@renesas.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* Merge branch 'master' of ↵Paul Mundt2009-09-253-5/+23
|\ | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6
| * Merge branch 'for-linus' of git://neil.brown.name/mdLinus Torvalds2009-09-243-5/+23
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 'for-linus' of git://neil.brown.name/md: (97 commits) md: raid-1/10: fix RW bits manipulation md: remove unnecessary memset from multipath. md: report device as congested when suspended md: Improve name of threads created by md_register_thread md: remove sparse warnings about lock context. md: remove sparse waring "symbol xxx shadows an earlier one" async_tx/raid6: add missing dma_unmap calls to the async fail case ioat3: fix uninitialized var warnings drivers/dma/ioat/dma_v2.c: fix warnings raid6test: fix stack overflow ioat2: clarify ring size limits md/raid6: cleanup ops_run_compute6_2 md/raid6: eliminate BUG_ON with side effect dca: module load should not be an error message ioat: driver version 4.0 dca: registering requesters in multiple dca domains async_tx: remove HIGHMEM64G restriction dmaengine: sh: Add Support SuperH DMA Engine driver dmaengine: Move all map_sg/unmap_sg for slave channel to its client fsldma: Add DMA_SLAVE support ...
| | * Merge branch 'next' of ↵NeilBrown2009-09-233-5/+23
| | |\ | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx into for-linus
| | | * dmaengine: sh: Add Support SuperH DMA Engine driverNobuhiro Iwamatsu2009-09-083-5/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This supported all DMA channels, and it was tested in SH7722, SH7780, SH7785 and SH7763. This can not use with SH DMA API. Signed-off-by: Nobuhiro Iwamatsu <iwamatsu.nobuhiro@renesas.com> Reviewed-by: Matt Fleming <matt@console-pimps.org> Acked-by: Maciej Sosnowski <maciej.sosnowski@intel.com> Acked-by: Paul Mundt <lethal@linux-sh.org> Signed-off-by: Dan Williams <dan.j.williams@intel.com>
* | | | sh: enable onenand support in kfr2r09 defconfig.Paul Mundt2009-09-251-2/+7
| | | | | | | | | | | | | | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | | | sh: update defconfigs.Paul Mundt2009-09-2548-1271/+3269
| | | | | | | | | | | | | | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | | | sh: add FSI driver support for ms7724seKuninori Morimoto2009-09-251-0/+89
| | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Kuninori Morimoto <morimoto.kuninori@renesas.com> Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | | | sh: Fix up uninitialized variable use caught by gcc 4.4.Paul Mundt2009-09-241-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In the unaligned kernel exception fixup case the printk() was ordered before the copy_from_user(), resulting in a nonsensical instruction value. This fixes up the ordering properly. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | | | sh: Handle unaligned 16-bit instructions on SH-2A.Paul Mundt2009-09-241-3/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds some sanity checking in the unaligned instruction handler to verify the instruction size, which enables basic support for 16-bit fixups on SH-2A parts. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | | | sh: mach-ecovec24: Add active low setting for sh_ethKuninori Morimoto2009-09-241-0/+1
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Kuninori Morimoto <morimoto.kuninori@renesas.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | | | sh: includecheck fix: dwarf.cJaswinder Singh Rajput2009-09-241-1/+0
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | fix the following 'make includecheck' warning: arch/sh/kernel/dwarf.c: asm/dwarf.h is included more than once. Signed-off-by: Jaswinder Singh Rajput <jaswinderrajput@gmail.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>