aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sh/kernel/cpu
Commit message (Collapse)AuthorAge
...
* | | sh: introduce struct clk_div4_tableMagnus Damm2010-02-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch introduces struct clk_div4_table. The structure will be used to keep div4 specific data, and is with this patch replacing the struct clk_div_mult_table pointer arg used by the sh_clk_div4_register() functions. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | | sh: clock-cpg div4 set_rate() shift fixMagnus Damm2010-02-22
| | | | | | | | | | | | | | | | | | | | | | | | Make sure the div4 bitfield is shifted according to the enable_bit value in sh_clk_div4_set_rate(). Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | | Merge branch 'sh/pmb-dynamic'Paul Mundt2010-02-18
|\ \ \
| * | | sh: Fix up more 64-bit pgprot truncation on SH-X2 TLB.Paul Mundt2010-02-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Both the store queue API and the PMB remapping take unsigned long for their pgprot flags, which cuts off the extended protection bits. In the case of the PMB this isn't really a problem since the cache attribute bits that we care about are all in the lower 32-bits, but we do it just to be safe. The store queue remapping on the other hand depends on the extended prot bits for enabling userspace access to the mappings. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | | sh: Setup boot CPU VBR early to enable early page faults.Paul Mundt2010-02-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | vmemmap and the vmsplit code amongst others need to be able to take page faults much earlier than trap_init() time, so move this in to the early CPU initialization. VBR setup for secondary CPUs is already handled through start_secondary(), so we only need to do this for the boot CPU. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | | | sh: fix sh7723 SDHI support using INTC force_disableMagnus Damm2010-02-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Update the sh7723 INTC tables with force_enable support to mask out pending unsupported SDHI interrupt sources. Without this patch the kernel locks up due to a pending SDHI interrupt that the tmio_mmc driver cannot handle. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | | | sh: fix sh7722 SDHI support using INTC force_disableMagnus Damm2010-02-16
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Update the sh7722 INTC tables with force_enable support to mask out pending unsupported SDHI interrupt sources. Without this patch the kernel locks up due to a pending SDHI interrupt that the tmio_mmc driver cannot handle. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | | sh: fix sh7724 SDHI support using INTC force_disableMagnus Damm2010-02-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Update the sh7724 INTC tables with force_enable support to mask out pending unsupported SDHI interrupt sources. Without this patch the kernel locks up due to a pending SDHI interrupt that the tmio_mmc driver cannot handle. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | | sh: break out enable/reparent div4 clocks on sh7723Magnus Damm2010-02-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | Break out sh7723 div4 clocks for SIU and IRDA as reparent / enable clocks. Similar to the SIU clock patch for sh7722 by Guennadi. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | | sh: sh7724/Ecovec24/KFR2R09/MS7724SE SDHI vector mergeMagnus Damm2010-02-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | Merge the SDHI vectors in the sh7724 INTC table and update the SDHI platform data for Ecovec24, KFR2R09 and MS7724SE. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | | sh: sh7723/AP325 SDHI vector mergeMagnus Damm2010-02-09
| | | | | | | | | | | | | | | | | | | | | | | | Merge the SDHI vectors in the sh7723 INTC table and update the SDHI platform data for AP325. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | | sh: sh7722/Migo-R SDHI vector mergeMagnus Damm2010-02-09
| | | | | | | | | | | | | | | | | | | | | | | | Merge the SDHI vectors in the sh7722 INTC table and update the SDHI platform data for Migo-R. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| | |
| \ \
*-. | | Merge branches 'sh/dwarf-unwinder', 'sh/g3-prep' and 'sh/stable-updates'Paul Mundt2010-02-07
|\ \| |
| * | | sh: Remove superfluous setup_frame_reg callMatt Fleming2010-02-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There's no need to setup the frame pointer again in call_handle_tlbmiss. The frame pointer will already have been setup in handle_interrupt. Signed-off-by: Matt Fleming <matt@console-pimps.org> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | | sh: Setup frame pointer in handle_exception pathMatt Fleming2010-02-07
| |/ / | | | | | | | | | | | | | | | | | | | | | In order to allow the DWARF unwinder to unwind through exceptions we need to setup the frame pointer register (r14). Signed-off-by: Matt Fleming <matt@console-pimps.org> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | | sh: add high impedance mode management for SIUA pins on sh7722Guennadi Liakhovetski2010-02-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | This improves power management for the SIUA controller on sh7722. Similar patches might be desired for other SIU-enabled SH platforms. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Acked-by: Magnus Damm <damm@opensource.se> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | | Merge branch 'sh/stable-updates'Paul Mundt2010-02-01
|\| |
| * | sh: Fix access to released memory in clk_debugfs_register_one()Marek Skuczynski2010-02-01
| | | | | | | | | | | | | | | Signed-off-by: Marek Skuczynski <mareksk7@gmail.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | | sh: Mass ctrl_in/outX to __raw_read/writeX conversion.Paul Mundt2010-01-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The old ctrl in/out routines are non-portable and unsuitable for cross-platform use. While drivers/sh has already been sanitized, there is still quite a lot of code that is not. This converts the arch/sh/ bits over, which permits us to flag the routines as deprecated whilst still building with -Werror for the architecture code, and to ensure that future users are not added. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | | sh: Kill off the special uncached section and fixmap.Paul Mundt2010-01-21
| | | | | | | | | | | | | | | | | | | | | | | | Now that cached_to_uncached works as advertized in 32-bit mode and we're never going to be able to map < 16MB anyways, there's no need for the special uncached section. Kill it off. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | | sh: Handle SH-4 FPU variants with broken CVR values.Paul Mundt2010-01-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | Usually we can look to the CVR to work out whether we have an FPU or not. Unfortunately not all parts comply with this, so just set the flag manually for all SH-4 parts and clear it on the only SH-4 that doesn't have one (SH4-501). Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | | sh: support SIU sourcing from external clock on sh7722Guennadi Liakhovetski2010-01-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Implement .set_rate() for all SH "div4 clocks," .enable(), .disable(), and .set_parent() for those, that support them. This allows, among other uses, reparenting of SIU clocks to the external source, and enabling and disabling of the IrDA clock on sh7722. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | | sh: SH7786 clock framework rewrite.Paul Mundt2010-01-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | This rewrites the SH7786 clock framework support completely. It's reworked to provide all of the DIV4 and MSTP function clocks. This brings it in line with the current clock framework code and lets us drop SH7786 from the list of CPUs that require legacy CPG handling. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | | sh64: Fixup build breakage from breakpoint handler rename.Paul Mundt2010-01-19
| | | | | | | | | | | | | | | | | | | | | The breakpoint handler was renamed on sh32, but sh64 was overlooked in the conversion. Fix it up now. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | | sh64: Use the shared FPU state restorer.Paul Mundt2010-01-19
| | | | | | | | | | | | | | | | | | | | | This kills off the sh64-specific state restorer and switches over to the generic one. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | | sh64: Fix up the build for the thread_xstate changes.Paul Mundt2010-01-19
| | | | | | | | | | | | | | | | | | | | | This updates the sh64 processor info with the sh32 changes in order to tie in to the generic task_xstate management code. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | | sh: Need IRQs enabled for init_fpu().Paul Mundt2010-01-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This tosses in a local_irq_enable()/disable() pair around the init_fpu() callsite in the FPU state restore exception handler. Fixes up a slab BUG triggered by making a slab cache allocation that can sleep whilst irqs_disabled(). This follows the behaviour undertaken by the x86 implementation. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | | sh: Fix up the secondary CPU entry point for 32bit mode.Paul Mundt2010-01-15
| | | | | | | | | | | | | | | | | | | | | | | | Presently the secondary CPU entry point is only aimed at 29bit phys mode, causing it to point to a stray virtual address in 32bit mode. Fix it up after consulting with our shiny new __in_29bit_mode(). Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | | sh: Fix up L2 cache comment typo.Paul Mundt2010-01-13
| | | | | | | | | | | | | | | | | | Valid sizes include 256kB, not 258kB. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | | sh: PVR detection for 2nd cut SH7786.Matt Fleming2010-01-13
| | | | | | | | | | | | | | | | | | | | | The mass produced cuts use an updated PVR value, add them to the list. Signed-off-by: Matt Fleming <matt@console-pimps.org> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| | |
| \ \
*-. \ \ Merge branches 'sh/xstate', 'sh/hw-breakpoints' and 'sh/stable-updates'Paul Mundt2010-01-12
|\ \ \ \ | |_|/ / |/| | |
| | * | sh: Kill off dead UBC headers.Paul Mundt2010-01-05
| | | | | | | | | | | | | | | | | | | | | | | | Nothing is using these now, so kill them all off. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| | * | sh: Abstracted SH-4A UBC support on hw-breakpoint core.Paul Mundt2010-01-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is the next big chunk of hw_breakpoint support. This decouples the SH-4A support from the core and moves it out in to its own stub, following many of the conventions established with the perf events layering. In addition to extending SH-4A support to encapsulate the remainder of the UBC channels, clock framework support for handling the UBC interface clock is added as well, allowing for dynamic clock gating. This also fixes up a regression introduced by the SIGTRAP handling that broke the ksym_tracer, to the extent that the current support works well with all of the ksym_tracer/ptrace/kgdb. The kprobes singlestep code will follow in turn. With this in place, the remaining UBC variants (SH-2A and SH-4) can now be trivially plugged in. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| | * | Merge branch 'master' into sh/hw-breakpointsPaul Mundt2009-12-21
| | |\ \ | |_|/ / |/| | |
| | * | Merge branch 'master' into sh/hw-breakpointsPaul Mundt2009-12-08
| | |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflict between FPU thread flag migration and debug thread flag addition. Conflicts: arch/sh/include/asm/thread_info.h arch/sh/include/asm/ubc.h arch/sh/kernel/process_32.c
| | * | | sh: hw-breakpoints: Add preliminary support for SH-4A UBC.Paul Mundt2009-12-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds preliminary support for the SH-4A UBC to the hw-breakpoints API. Presently only a single channel is implemented, and the ptrace interface still needs to be converted. This is the first step to cleaning up the long-standing UBC mess, making the UBC more generally accessible, and finally making it SMP safe. An additional abstraction will be layered on top of this as with the perf events code to permit the various CPU families to wire up support for their own specific UBCs, as many variations exist. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | | | sh: Move over to dynamically allocated FPU context.Paul Mundt2010-01-12
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This follows the x86 xstate changes and implements a task_xstate slab cache that is dynamically sized to match one of hard FP/soft FP/FPU-less. This also tidies up and consolidates some of the SH-2A/SH-4 FPU fragmentation. Now fpu state restorers are commonly defined, with the init_fpu()/fpu_init() mess reworked to follow the x86 convention. The fpu_init() register initialization has been replaced by xstate setup followed by writing out to hardware via the standard restore path. As init_fpu() now performs a slab allocation a secondary lighterweight restorer is also introduced for the context switch. In the future the DSP state will be rolled in here, too. More work remains for math emulation and the SH-5 FPU, which presently uses its own special (UP-only) interfaces. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | | | sh: dmaengine support for SH7785Nobuhiro Iwamatsu2009-12-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Add dmaengine platform device to SH7785. Signed-off-by: Nobuhiro Iwamatsu <iwamatsu.nobuhiro@renesas.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | | | sh: dmaengine support for sh7724.Guennadi Liakhovetski2009-12-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a dmaengine platform device to sh7724, fix DMA channel interrupt numbers. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | | | sh: Fix up FPU build for SH5Matt Fleming2009-12-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | After the recent FPU optimisation commit the signature of save_fpu() changed. "regs" wasn't used in the implementation of save_fpu() anyway. Signed-off-by: Matt Fleming <matt@console-pimps.org> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | | | sh: sh5 scif pdata (sh5-101/sh5-103)Magnus Damm2009-12-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch breaks out the sh5 scif serial port platform data from a shared platform device to one platform device per port. Also, move the serial port to the list of early platform devices. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | | | sh: sh4a scif pdata (sh7757/sh7763/sh7770/sh7780/sh7785/sh7786/x3)Magnus Damm2009-12-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch breaks out the sh4a scif serial port platform data from a shared platform device to one platform device per port. Also, add serial ports to the list of early platform devices. All sh4a except SuperH Mobile processors are modified by this patch. While at it, sh7757 gets early platform device support. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | | | sh: sh4a scif pdata (sh7343/sh7366/sh7722/sh7723/sh7724)Magnus Damm2009-12-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch breaks out the sh4a scif serial port platform data from a shared platform device to one platform device per port. Also, add serial ports to the list of early platform devices. Only sh4a SuperH Mobile processors are modified by this patch. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | | | sh: sh4 scif pdata (sh7750/sh7760/sh4-202)Magnus Damm2009-12-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch breaks out the sh4 scif serial port platform data from a shared platform device to one platform device per port. Also, add serial ports to the list of early platform devices. While at it, get rid of the R2D ifdef in the processor code and adjust the defconfigs to use ttySC1. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | | | sh: sh3 scif pdata (sh7705/sh770x/sh7710/sh7720)Magnus Damm2009-12-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch breaks out the sh3 scif serial port platform data from a shared platform device to one platform device per port. Also, add serial ports to the list of early platform devices. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | | | sh: sh2a scif pdata (sh7201/sh7203/sh7206/mxg)Magnus Damm2009-12-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch breaks out the sh2a scif serial port platform data from a shared platform device to one platform device per port. Also, add serial ports to the list of early platform devices. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | | | sh: sh2 scif pdata (sh7616)Magnus Damm2009-12-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch breaks out the sh2 scif serial port platform data from a shared platform device to one platform device per port. Also, add serial ports to the list of early platform devices. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | | | sh: Replace an explicit computation by the use of the container_of macroNicolas Palix2009-12-08
| |/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The macro container_of from kernel.h performs the same pointer arithmetic operation. The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ type T; expression mptr; expression member; @@ - (void *)((char *)mptr - offsetof(T, member)) + container_of(mptr, T, member) // </smpl> Signed-off-by: Nicolas Palix <npalix@diku.dk> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | | sh: Make associative cache writes fatal on all SH-4A parts.Paul Mundt2009-12-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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>