summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2007-09-28sh: Follow gUSA preempt changes in __switch_to().Paul Mundt1-3/+3
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-09-28sh: Tidy up gUSA preempt handling.Paul Mundt1-7/+3
Currently gUSA toggles hardirqs to disable preemption in the signal handler. Make the preemption toggling explicit, and kill off some CONFIG_PREEMPT ifdefs in the process. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-09-28sh: __copy_user() optimizations for small copies.Stuart Menefy1-61/+108
This implements a fast-path for small (less than 12 bytes) copies, with the existing path treated as the slow-path and left as the default behaviour for all other copy sizes. Signed-off-by: Stuart Menefy <stuart.menefy@st.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-09-28sh: clkfwk: Support multi-level clock propagation.Stuart Menefy1-0/+2
Currently clock propagation only works for one level, but we have some clocks which need to propagate multiple levels, so make this recursive. Signed-off-by: Stuart Menefy <stuart.menefy@st.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-09-27sh: Fix URAM start address on SH7785.Paul Mundt1-1/+1
Not all of the SH-X2 URAM blocks are mapped in the same place, SH7785 happens to map it on the opposite end of the address space from SH7722, correct the addresses. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-09-27sh: Use boot_cpu_data for CPU probe.Paul Mundt5-130/+126
This moves off of smp_processor_id() and only sets the probe information for the boot CPU directly. This will be copied out for the secondaries, so there's no reason to do this each time. This also allows for some header tidying. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-09-27sh: Support extended mode TLB on SH-X3.Paul Mundt1-1/+1
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-09-27sh: Bump MAX_ACTIVE_REGIONS for SH7785.Paul Mundt1-1/+2
When using URAM in NUMA mode another active region is needed. Bump this up so we don't trigger the region truncation in add_active_range(). Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-09-27sh: Fix plat_irq_setup_pins() for SH7785.Paul Mundt1-4/+0
There was some debug code left in here that caused the pin changes to never be hit. Kill that off, and all is well. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-09-27sh: Kill off duplicate NODES_SHIFT.Paul Mundt1-5/+0
We already set this in arch/sh/mm/Kconfig, don't set a conflicting one in arch/sh/Kconfig too.. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-09-27sh: processor.h needs smp.hPaul Mundt1-0/+1
Trivial build fix for SH-2. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-09-27sh: Disable 4kB pages on extended mode TLB.Paul Mundt1-3/+5
4kB pages are unstable on extended mode TLB, it's recommended that TLB compat mode be used when using a 4kB PAGE_SIZE. Set the default for extended mode to 8kB. This should have negligible impact, as other than the extra swap cache entry bits, there's no reason to use the extended mode TLB with 4kB pages. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-09-27sh: Disable L2 reporting for present URAM only parts.Paul Mundt1-5/+2
The probing logic works for both URAM and L2, with no way to distinguish between the two. Disable the probing for now and let the CPU subtypes that have this in a real L2 configuration explicitly say so. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-09-24sh: Define _ebss for uClinux MTD map driver.Paul Mundt3-1/+4
The uClinux MTD device uses _ebss, add the symbol and corresponding export. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-09-24sh: Revert incorrect license string changes.Paul Mundt2-2/+2
These were right the first time. Either a thinko or building in the wrong tree. Revert this. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-09-24sh: Calculate cache aliases on L2 caches.Paul Mundt1-0/+15
Calculate the number of cache aliases on probed L2 caches, and while we're at it, print out the detected statistics at boot time for these also. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-09-24sh: nommu: Kill off dummy page fault ops for SH-3/4.Paul Mundt2-67/+0
We stopped referencing these functions unconditionally when the old entry.S code was refactored, so this is just dead code at present. Kill it off. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-09-24sh: Fix alias calculation for non-aliasing cases.Paul Mundt1-2/+2
There was an off-by-1 on the cache alias detection logic on SH-4, which caused n_aliases to always be 1 even when the page size precluded the existence of aliases. With this corrected, 64KB pages happily reports n_aliases == 0, and hits the appropriate fast paths in the flushing routines. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-09-21sh: Initial SH-X3 SMP support.Paul Mundt4-208/+375
This adds basic support for SH-X3 SMP (4 CPUs). More IPI and cache debugging is necessary, mostly interfacing the d-cache coherency and the I-cache broadcast invalidates. Only for testing at present! Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-09-21sh: Plug plat_smp_setup() in to generic setup path.Paul Mundt1-0/+5
Now that the SMP stubs are in place, call in to the setup code to be defined by the platform. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-09-21sh: Hook up the SH-X3 SMP intc register groups.Magnus Damm1-1/+1
Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-09-21sh: Bring SMP support back from the dead.Paul Mundt6-99/+142
There was a very preliminary bunch of SMP code scattered around for the SH7604 microcontrollers from way back when, and it has mostly suffered bitrot since then. With the tree already having been slowly getting prepped for SMP, this plugs in most of the remaining platform-independent bits. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-09-21sh: intc - initial SMP support.Magnus Damm2-21/+69
This implements initial support for the SMP INTC (particularly INTC2) controllers. These are largely implemented as conventional blocks, with register sets grouped together at fixed strides relative to the CPU id. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-09-21sh: Add SMP tlbflush variants.Paul Mundt1-0/+140
This adds the TLB flushing routines for SMP systems, based on the MIPS implementation, with some additional SH-specific flush routines. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-09-21sh: Avoid smp_processor_id() in cache desc paths.Paul Mundt1-31/+31
current_cpu_data uses smp_processor_id() in order to find the corresponding cpu_data. As the cache descs are all currently identical, just have this look at probed results from the boot CPU. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-09-21sh: Kill off special boot_cpu_data.Paul Mundt3-9/+9
This consolidates the cpu_data definitions and gets rid of the special boot_cpu_data. It's made a wrapper to the boot CPU, in order to keep the existing in-tree users happy. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-09-21sh: Make cpufreq driver less noisy on SMP.Paul Mundt1-2/+1
The cpufreq driver banner is currently printed for each CPU, move it down so it's not as noisy and it's only printed once. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-09-21sh: Enable maple by default for the Dreamcast.Paul Mundt1-124/+31
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-09-21sh: Add maple bus support for the SEGA Dreamcast.Adrian McMenamin6-2/+868
The Maple bus is SEGA's proprietary serial bus for peripherals (keyboard, mouse, controller etc). The bus is capable of some (limited) hotplugging and operates at up to 2 M/bits. Drivers of one sort or another existed/exist for 2.4 and a rudimentary port, which didn't support the 2.6 device driver model was also in existence. This driver - for the bus logic itself and for the keyboard (other drivers will follow) are based on the code and concepts of those old drivers but have lots of completely rewritten parts. I have the maple bus code as a built in now as that seems the sane and rational way to handle something like that - you either want the bus or you don't. Signed-off-by: Adrian McMenamin <adrian@mcmen.demon.co.uk> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-09-21sh: Magic Panel MTD mapping update.Markus Brunner2-6/+90
This update moves the flash mapping for the Magic Panel into the board setup. It also removes references to the old MTD mapping option in the defconfig. Signed-off by: Markus Brunner <super.firetwister@gmail.com> Signed-off by: Mark Jonas <toertel@gmail.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-09-21sh: rts7751r2d: Fix up trivial build failure.Paul Mundt1-2/+2
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-09-21sh: rts7751r2d cf_ide reworkAoi Shinkai1-12/+33
Support CF IDE on R2D-1 boards. Signed-off-by: Aoi Shinkai <shinkoi2005@gmail.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-09-21sh: Fix up extended mode TLB for SH-X2+ cores.Paul Mundt4-72/+88
The extended mode TLB requires both 64-bit PTEs and a 64-bit pgprot, correspondingly, the PGD also has to be 64-bits, so fix that up. The kernel and user permission bits really are decoupled in early cuts of the silicon, which means that we also have to set corresponding kernel permissions on user pages or we end up with user pages that the kernel simply can't touch (!). Finally, with those things corrected, really enable MMUCR.ME and correct the PTEA value (this simply needs to be the upper 32-bits of the PTE, with the size and protection bit encoding). Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-09-21sh: Wire up URAM node on SH7785.Paul Mundt2-0/+10
Add SH7785 URAM as node 1, follows the SH-X3 change. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-09-21sh: se7206: update defconfig.Paul Mundt1-131/+92
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-09-21sh: se7206: Handle non-SuperIO I/O ports.Paul Mundt1-0/+2
This fixes up the port calculation logic for non-SuperIO accesses, before these were always matching the MRSHPC base, now just make sure the original port is handed back if it's not in the I/O port range. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-09-21sh: r7780rp: irq-r7780rp needs linux/io.h.Paul Mundt1-0/+1
Trivial build fix. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-09-21sh: hp6xx: Trivial build fixes for INTC changes.Paul Mundt1-1/+1
Get the IRL->IRQ stuff building. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-09-21sh: se7206: heartbeat needs 32-bit writes.Paul Mundt1-0/+1
Most boards use 8 or 16-bit access for the LED bank, se7206 needs 32. There's only 8 individual LEDs however, each with a 'special' value in terms of logical ordering. Go FPGA, go! Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-09-21sh: se7206: Make the I/O port routines less stupid.Paul Mundt2-33/+4
The port routines were logically inverted, and the MRSHPC range had no upper bound, causing 8 and 16-bit port I/O to get mangled. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-09-21sh: Magic Panel R2 board support.Markus Brunner7-0/+1328
This adds support for the SH7720 (SH3-DSP) based Magic Panel R2 board. Signed-off-by: Markus Brunner <super.firetwister@gmail.com> Signed-off by: Mark Jonas <toertel@gmail.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-09-21sh: hp6xx: Enable pata_platform in defconfig.Kristoffer Ericson1-18/+4
Signed-off-by: Kristoffer Ericson <Kristoffer.Ericson@gmail.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-09-21sh: hp6xx: Enable touchscreen and powerbutton IRQs.Kristoffer Ericson1-9/+24
IRQ0->IRQ3 need to be an IRQ mode for these to work, fix them up. Signed-off-by: Kristoffer Ericson <Kristoffer.Ericson@gmail.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-09-21sh: Don't enable FPU for SH4AL-DSP.Paul Mundt2-1/+5
This leads to invalid configurations where both FPU and DSP support can be enabled in the same kernel, resulting in build failure. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-09-21sh: dma: Fix CONFIG_SYSFS=n build.Paul Mundt1-5/+0
Trivial build fix for when sysfs is disabled. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-09-21sh: INTC stubs for SH7343 and SH7770 builds.Paul Mundt2-0/+8
Get the SH7343 and SH7770 stuff linking again. Both of these still require proper INTC support. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-09-21serial: sh-sci: kgdb console build fixes.Paul Mundt1-3/+1
The kgdb console code requires uart_set_options() and friends, which are only provided by the serial core when console support is enabled. These were sitting under CONFIG_SH_KGDB and resulted in a link error when console support wasn't enabled, work that by rolling the console routines under CONFIG_SH_KGDB_CONSOLE, which they should have been all along. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-09-21sh: hp6xx: Update CF IRQ for INTC changes.Kristoffer Ericson1-1/+1
The vector changed, so follow the INTC changes for the new vector. Signed-off-by: Kristoffer Ericson <Kristoffer.Ericson@gmail.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-09-21sh: dma: Fix up build for SH7709 support.Kristoffer Ericson2-1/+2
Trivial build fixes for SH7709. Signed-off-by: Kristoffer Ericson <Kristoffer.Ericson@gmail.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-09-21sh: hd64461: Trivial build fixes for SH7709.Kristoffer Ericson1-1/+5
Some trivial fixes to get SH7709 + HD64461 building again. Signed-off-by: Kristoffer Ericson <Kristoffer.Ericson@gmail.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>