summaryrefslogtreecommitdiffstats
path: root/arch/sh/kernel
Commit message (Collapse)AuthorAgeFilesLines
* Merge git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6Linus Torvalds2009-12-0949-1188/+2429
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6: (137 commits) sh: include empty zero page in romImage sh: Make associative cache writes fatal on all SH-4A parts. sh: Drop associative writes for SH-4 cache flushes. sh: Partial revert of copy/clear_user_highpage() optimizations. sh: Add default uImage rule for se7724, ap325rxa, and migor. sh: allow runtime pm without suspend/resume callbacks sh: mach-ecovec24: Remove un-defined settings for VPU sh: mach-ecovec24: LCDC drive ability become high sh: fix sh7724 VEU3F resource size serial: sh-sci: Fix too early port disabling. sh: pfc: pr_info() -> pr_debug() cleanups. sh: pfc: Convert from ctrl_xxx() to __raw_xxx() I/O routines. sh: Improve kfr2r09 serial port setup code sh: Break out SuperH PFC code sh: Move KEYSC header file sh: convert /proc/cpu/aligmnent, /proc/cpu/kernel_alignment to seq_file sh: Add CPG save/restore code for sh7724 R-standby sh: Add SDHI power control support to Ecovec mfd: Add power control platform data to SDHI driver sh: mach-ecovec24: modify address map ...
| * sh: Make associative cache writes fatal on all SH-4A parts.Paul Mundt2009-12-041-9/+4
| | | | | | | | | | | | | | | | | | Now that associative cache writes are no longer needed by the SH-4/SH-4A cache flush code, associative write support can be explicitly disabled for all SH-4A parts. This makes any associative write throw an exception, as this behaviour can not be assumed to exist on future parts. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * sh: allow runtime pm without suspend/resume callbacksMagnus Damm2009-12-041-6/+11
| | | | | | | | | | | | | | | | | | This patch updates the Runtime PM code for SuperH Mobile to allow drivers to have NULL as pm or callback value. With this in place there is no need for no-op functions. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * sh: fix sh7724 VEU3F resource sizeMagnus Damm2009-12-041-2/+2
| | | | | | | | | | | | | | Fix one-off VEU3F size error for sh7724. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * sh: Break out SuperH PFC codeMagnus Damm2009-11-302-585/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | This file breaks out the SuperH PFC code from arch/sh/kernel/gpio.c + arch/sh/include/asm/gpio.h to drivers/sh/pfc.c + include/linux/sh_pfc.h. Similar to the INTC stuff. The non-SuperH specific file location makes it possible to share the code between multiple architectures. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * sh: convert /proc/cpu/aligmnent, /proc/cpu/kernel_alignment to seq_fileAlexey Dobriyan2009-11-301-46/+31
| | | | | | | | | | Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * sh: Add CPG save/restore code for sh7724 R-standbyMagnus Damm2009-11-301-0/+11
| | | | | | | | | | | | | | | | | | Add sh7724 code to save and restore CPG state during R-standby. Only CPG registers IRDACLKCR and SPUCLKCR require software save and restore. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * sh: Fix up the FPU emulation build.Paul Mundt2009-11-251-7/+3
| | | | | | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * sh: Apply the sleazy FPU changes for SH-2A FPU as well.Paul Mundt2009-11-241-4/+12
| | | | | | | | | | | | This plugs in the fpu_counter manipulation for the SH-2A side also. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * sh: Minor optimisations to FPU handlingStuart Menefy2009-11-244-25/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A number of small optimisations to FPU handling, in particular: - move the task USEDFPU flag from the thread_info flags field (which is accessed asynchronously to the thread) to a new status field, which is only accessed by the thread itself. This allows locking to be removed in most cases, or can be reduced to a preempt_lock(). This mimics the i386 behaviour. - move the modification of regs->sr and thread_info->status flags out of save_fpu() to __unlazy_fpu(). This gives the compiler a better chance to optimise things, as well as making save_fpu() symmetrical with restore_fpu() and init_fpu(). - implement prepare_to_copy(), so that when creating a thread, we can unlazy the FPU prior to copying the thread data structures. Also make sure that the FPU is disabled while in the kernel, in particular while booting, and for newly created kernel threads, In a very artificial benchmark, the execution time for 2500000 context switches was reduced from 50 to 45 seconds. Signed-off-by: Stuart Menefy <stuart.menefy@st.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * Merge branch 'master' into sh/st-integrationPaul Mundt2009-11-2445-505/+2306
| |\
| | * Merge branch 'sh/stable-updates'Paul Mundt2009-11-182-2/+2
| | |\
| | * | sh64: Fix up the CONFIG_GENERIC_BUG=n build.Paul Mundt2009-11-121-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | sh64 doesn't use GENERIC_BUG, which presently causes the handle_BUG() code to blow up. Fix up the dependencies and get it all building again. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| | * | sh: Use the generic I/O port base for slowdown.Paul Mundt2009-11-122-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes up the build and behaviour for various configurations. Namely the CONFIG_32BIT cases where legacy mappings do not exist, as well as the sh64 build. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| | * | sh: Fix up the CONFIG_PERF_EVENTS=n build for SH-4.Paul Mundt2009-11-121-4/+5
| | | | | | | | | | | | | | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| | * | sh: perf events: Document SH-4A raw event codes.Paul Mundt2009-11-091-0/+38
| | | | | | | | | | | | | | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| | * | Merge branch 'sh/stable-updates'Paul Mundt2009-11-091-1/+1
| | |\ \
| | * | | sh: perf events: Add support for SH7750-style counters.Paul Mundt2009-11-052-0/+258
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds perf events support for the SH7750/SH7750S/SH7091 performance counters. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| | * | | sh: perf events: Preliminary callchain support.Paul Mundt2009-11-052-1/+99
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This implements preliminary support for perf callchains (at the moment only the kernel side is implemented). The actual implementation itself is just a simple wrapper around the unwinder API, which allows for callchain generation with or without the dwarf unwinder. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| | * | | sh: Default-enable SPU clock for SH7724.Paul Mundt2009-11-051-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Wanted by the SPU2 UIO driver, which really ought to be handling this itself. Default enable it for now, until the driver gets a bit more intelligent. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| | * | | sh: sh7724: Add SPU2 supportKuninori Morimoto2009-11-051-0/+68
| | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Kuninori Morimoto <morimoto.kuninori@renesas.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| | * | | sh: perf events: Fix up uninitialized variable warning.Paul Mundt2009-11-051-3/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 'config' can be unintialized, and although it's not really an error, it still manages to trigger the -Werror with certain toolchains. Initialize it early to shut up gcc. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| | * | | sh: Add RWDT save/restore code for sh7724 R-standbyMagnus Damm2009-11-041-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add sh7724 code to save and restore RWDT state during R-standby. Without this patch the watchdog will generate a reset shortly after resuming from R-standby. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| | * | | sh: intc: Handle legacy IRQ reservation in vector map.Paul Mundt2009-11-021-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Different CPUs will have different starting vectors, with varying amounts of reserved or unusable vector space prior to the first slot. This introduces a legacy vector reservation system that inserts itself in between the CPU vector map registration and the platform specific IRQ setup. This works fine in practice as the only new vectors that boards need to establish on their own should be dynamically allocated rather than arbitrarily assigned. As a plus, this also makes all of the converted platforms sparseirq ready. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| | * | | sh: Add R-standby sleep mode supportMagnus Damm2009-10-303-7/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add R-standby specific bits to the SuperH Mobile sleep code. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| | * | | sh: Use RSMEM for sleep code on sh7724Magnus Damm2009-10-301-4/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use RSMEM instead of ILMEM for sleep mode code storage on SH7724. This allows us to use R-standby mode on SH7724. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| | * | | sh: Add MMU and Cache handling sleep mode codeMagnus Damm2009-10-303-0/+117
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add MMU and cache handling functionality to the SuperH Mobile sleep code. The MMU and cache registers are saved and restored. The MMU is disabled and the cache is flushed and disabled before entering sleep modes if the SUSP_SH_MMU flag is set. This flag should be set in the case of R-standby and most likely for future U-standby support as well. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| | * | | sh: Keep track of allowed sleep modesMagnus Damm2009-10-302-18/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add code to keep track of supported sleep modes. This to only export cpuidle modes that are backed by board support code. Also, do not allow suspend-to-ram if sdram board code is missing. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| | * | | sh: Rework SuperH Mobile sleep mode codeMagnus Damm2009-10-303-164/+144
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Rework the SuperH Mobile sleep code from including board specific code to allowing each board to provide pre/post code snippets. These snippets should contain sdram management code to enter and leave self-refresh. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| | * | | sh: Allow boards to register memory pre/post sleep codeMagnus Damm2009-10-301-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add code to allow boards registering self-contained functions for going to/from self-refresh. At this point the board code is unused. When all supported boards have been converted then the new sleep code will make use of these functions. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| | * | | sh: Add sh7724 notifier for R-standby save/restoreMagnus Damm2009-10-301-0/+167
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make use of the recently added notifier chains for sh7724 r-standby register save/restore handling. At this point only the BSC and INTC are handled. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| | * | | sh: Add notifiers chains for cpu/board codeMagnus Damm2009-10-301-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds atomic notifier chains for pre/post sleep events. Useful for cpu code and boards that need to save and restore register state before and after entering a sleep mode. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| | * | | sh: perf events: Kill off left over debugging cruft.Paul Mundt2009-10-281-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | num_events should be compared > MAX_HWEVENTS and not >=. The latter was used as a debugging test which accidentally slipped in. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| | * | | sh: perf events: Add preliminary support for SH-4A counters.Paul Mundt2009-10-284-0/+547
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds in preliminary support for the SH-4A performance counters. Presently only the first 2 counters are supported, as these are the ones of the most interest to the perf tool and end users. Counter chaining is not presently handled, so these are simply implemented as 32-bit counters. This also establishes a perf event support framework for other hardware counters, which the existing SH-4 oprofile code will migrate over to as the SH-4A support evolves. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| | * | | sh: Clean up more superfluous symbol exports.Paul Mundt2009-10-274-51/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Many of these symbols went away completely, or we just never cared about them in the first place. Trim the exports down to the essential set. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| | * | | sh64: cache flush symbol exports.Paul Mundt2009-10-271-11/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These were previously hidden in sh_ksyms_32, despite also being needed for sh64 now that the cache.c code is shared. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| | * | | sh: Revamp PCI DMA coherence Kconfig bits.Paul Mundt2009-10-271-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Leaving this configurable caused more trouble than it was ever worth, so just make it explicit. Boards that are verified one way or the other can fix up their selects accordingly. We presently default to non-coherent for most platforms. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| | * | | sh: Annotate irq functions with "notrace"Matt Fleming2009-10-272-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Now that SH's irqflags functions are out of line it becomes necessary to mark them as "notrace" so that we don't try to trace them. [ Do the same for irq_64.c -- PFM. ] Signed-off-by: Matt Fleming <matt@console-pimps.org> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| | * | | sh: fix kexec by removing check for old kexec-toolsMagnus Damm2009-10-261-6/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This unbreaks kexec support. Without this fix all cases of kexec fails since __pa() does not behave like PHYSADDR(). The downside is that we also kill the code blocking users running old kexec-tools. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| | * | | Merge branch 'sh/stable-updates'Paul Mundt2009-10-263-1/+38
| | |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: arch/sh/kernel/dwarf.c
| | * | | | sh: Add dma-mapping support for dma_alloc/free_coherent() overrides.Paul Mundt2009-10-261-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This moves the current dma_alloc/free_coherent() calls to a generic variant and plugs them in for the nommu default. Other variants can override the defaults in the dma mapping ops directly. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| | * | | | sh: Convert to asm-generic/dma-mapping-common.hPaul Mundt2009-10-202-1/+78
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This converts the old DMA mapping support to the new generic dma-mapping-common.h abstraction. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| | * | | | sh: Fix up cacheflush routine symbol exports.Paul Mundt2009-10-191-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes up flush_dcache_page() references by modules with run-time cache disabling. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| | * | | | sh: Fix up uninitialized variable warning in dwarf unwinder.Paul Mundt2009-10-191-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| | * | | | sh: Disable SCIF2 on the SH-X3 proto CPU.Paul Mundt2009-10-183-46/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | SCIF2 and the FPU exceptions happen to share vector numbers, one in EXPEVT and the other in INTEVT. This is a violation of the interface and should have never made it in to silicon. On top of that, the demux hack that was added for special dispatch is rather error prone, and introduces more problems than it solves. Kill all of it off, and just refuse to deal with SCIF2 outright. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| | * | | | sh: Convert to asm-generic/irqflags.h.Paul Mundt2009-10-173-2/+110
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This simplifies the irqflags support by switching over to the asm-generic version. The necessary support functions are brought out-of-line for both SHcompact and SHmedia instruction sets. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| | * | | | sh: Kill off legacy UBC wakeup cruft.Paul Mundt2009-10-163-71/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This code was added for some ancient SH-4 solution engines with peculiar boot ROMs that did silly things to the UBC MSTP bits. None of these have been in the wild for years, and these days the clock framework wraps up the MSTP bits, meaning that the UBC code is one of the few interfaces that is stomping MSTP bits underneath the clock framework. At this point the risks far outweigh any benefit this code provided, so just kill it off. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| | * | | | sh: Support SCHED_MC for SH-X3 multi-cores.Paul Mundt2009-10-161-0/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This enables SCHED_MC support for SH-X3 multi-cores. Presently this is just a simple wrapper around the possible map, but this allows for tying in support for some of the more exotic NUMA clusters where we can actually do something with the topology. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| | * | | | sh: Fix up IRQ re-enabling for the need_resched() case.Paul Mundt2009-10-161-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In the case where need_resched() is set in between the cpu_idle() and pm_idle() calls we were missing an else case for just re-enabling local IRQs and bailing out. This was noticed by the irqs_disabled() warning, even though IRQs were being re-enabled elsewhere. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| | * | | | sh: Make check_pgt_cache() more aggressive while idling.Paul Mundt2009-10-161-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This follows the x86 change and moves check_pgt_cache() up under the !need_resched() tight loop, rather than simply calling in to it when exiting idle. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
OpenPOWER on IntegriCloud