aboutsummaryrefslogtreecommitdiffstats
path: root/include/asm-sh
Commit message (Collapse)AuthorAge
* rtc: rtc-sh: Support 4-digit year on SH7705/SH7710/SH7712.Paul Mundt2007-09-20
| | | | | | | | | | | | | | All SH-4 parts have a 4-digit year, while the SH-3 parts typically only use a 2-digit one. The SH7705, SH7710, and SH7712 SH-3 parts however opted to extend it to 4-digit and still look and act like an SH-3 RTC in all other ways. This adds a capability flag (RTC_CAP_4_DIGIT_YEAR) that these corner-case CPU subtypes can set in their platform data and cleans up some of the ifdef mess in the driver as a result. Reported-by: Markus Brunner <super.firetwister@gmail.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: intc - add support for SH7785Magnus Damm2007-09-20
| | | | | | | | | | | | This patch converts the cpu specific interrupt setup code for sh7785 from intc2 to intc. New vectors are also added to match the information provided by the datasheet. No IRQ/IRL pin vectors are enabled by default. Use plat_irq_setup_pins() to select between IRL and IRQ mode. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Support explicit L1 cache disabling.Paul Mundt2007-09-20
| | | | | | | | | This reworks the cache mode configuration in Kconfig, and allows for explicit selection of write-back/write-through/off configurations. All of the cache flushing routines are optimized away for the off case. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Add missing dma_sync_single_range_for_*().Paul Mundt2007-08-09
| | | | | | | | | | | | The b44 build uses these, caught by allmodconfig: drivers/net/b44.c: In function `b44_sync_dma_desc_for_cpu': drivers/net/b44.c:159: error: implicit declaration of function `dma_sync_single_range_for_cpu' Follow the sparc64 change and stub them in. Reported-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* Merge master.kernel.org:/pub/scm/linux/kernel/git/lethal/sh-2.6.23Linus Torvalds2007-08-03
|\ | | | | | | | | | | | | | | | | | | | | | | | | * master.kernel.org:/pub/scm/linux/kernel/git/lethal/sh-2.6.23: sh: fix defconfigs for sh7751r boards sh: fix cf support on r2d boards sh: update r2d defconfig sh: update snapgear defconfig. sh: Fix SH-X3 FPU exception handling. sh: Fix pgd mismatch from cached TTB in unhandled fault. sh: Don't include fault-nommu on SH-2/SH-2A. sh: Fix irqflags tracing for SH-3/4 nommu. sh: Fix lockdep debugging oops on SH-3/4.
| * sh: fix cf support on r2d boardsMagnus Damm2007-08-02
| | | | | | | | | | | | | | | | This patch makes sure cf support is enabled on R2D-PLUS but disabled on R2D-1. Without this fix R2D-1 boards hang on bootup. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | Fix WARN_ON() on bitfield ops for all other archsHeiko Carstens2007-08-01
|/ | | | | | | | | | | | | | | Fixes WARN_ON() on bitfiels ops for all architectures that have been left out in 8d4fbcfbe0a4bfc73e7f0297c59ae514e1f1436f. Cc: Alexey Dobriyan <adobriyan@sw.ru> Cc: Herbert Xu <herbert@gondor.apana.org.au> Cc: Haavard Skinnemoen <hskinnemoen@atmel.com> Cc: Matthew Wilcox <matthew@wil.cx> Cc: Kyle McMartin <kyle@parisc-linux.org> Cc: Martin Schwidefsky <schwidefsky@de.ibm.com> Acked-by: Paul Mundt <lethal@linux-sh.org> Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* remove unused TIF_NOTIFY_RESUME flagStephane Eranian2007-07-31
| | | | | | | | | | | | Remove unused TIF_NOTIFY_RESUME flag for all processor architectures. The flag was not used excecpt on IA-64 where the patch replaces it with TIF_PERFMON_WORK. Signed-off-by: stephane eranian <eranian@hpl.hp.com> Cc: <linux-arch@vger.kernel.org> Cc: "Luck, Tony" <tony.luck@intel.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* sh: remove support for sh7300 and solution engine 7300Magnus Damm2007-07-26
| | | | | | | | | This patch removes old dead code: - kill off sh7300 cpu support - get rid of broken solution engine 7300 board support Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Kill off virt_to_bus()/bus_to_virt().Paul Mundt2007-07-26
| | | | | | | | Wire up ARCH_NO_VIRT_TO_BUS, and kill off the remaining users. The dma-mapping code really wanted virt_to_phys()/phys_to_virt() anyways, there are no inherently special bus addresses. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Kill the rest of the SE73180 cruft.Paul Mundt2007-07-26
| | | | | | | There was a stray header, and the mach-type removal was also missed. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: remove support for sh73180 and solution engine 73180Magnus Damm2007-07-24
| | | | | | | | | This patch removes old dead code: - kill off sh73180 cpu support - get rid of broken solution engine 73180 board support Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Reclaim beginning of P3 space for vmalloc area.Paul Mundt2007-07-24
| | | | | | | | The first 1MB of P3 space was reserved and used for page colouring, as we've reworked that to use fixmaps, we can reclaim the space and hand it back to VMALLOC_START. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Fix Dreamcast DMA issues.Adrian McMenamin2007-07-24
| | | | | | | | | | | | | The current SH DMA API is somewhat broken, not correctly matching virtual channel to the correct SH DMAC. This wasn't noticeable when using g2 DMA for the sound driver - one channel 0 is as good as any other! - but caused the pvr2 driver to fail. This patch fixes the pvr2 problem and consequently fixes the sound driver to ensure it continues to function. Signed-off by: Adrian McMenamin <adrian@mcmen.demon.co.uk> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Add kmap_coherent()/kunmap_coherent() interface for SH-4.Paul Mundt2007-07-24
| | | | | | | | | | | | | This wires up kmap_coherent() and kunmap_coherent() on SH-4, and moves away from the p3map_mutex and reserved P3 space, opting to use fixmaps for colouring instead. The copy_user_page()/clear_user_page() implementations are moved to this, which fixes the nasty blowups with spinlock debugging as a result of having some of these calls nested under the page table lock. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: intc - add support for SH7750 and its variantsMagnus Damm2007-07-20
| | | | | | | | | | | | | This patch converts the cpu specific 7750 setup code to use the new intc controller. Many new vectors are added and multiple processor variants including 7091, 7750, 7750s, 7750r, 7751 and 7751r should all have the correct vectors hooked up. IRLM interrupts can be enabled using ipr_irq_enable_irlm() which now is marked as __init. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* Merge branch 'clkfwk'Paul Mundt2007-07-20
|\
| * sh: Implement clk_round_rate() in the clock framework.Paul Mundt2007-07-20
| | | | | | | | | | | | | | | | This is an optional component of the clock framework. However, as we're going to be using this in the cpufreq drivers, add support for it to the framework. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | sh: Wire up fallocate() syscall.Paul Mundt2007-07-19
|/ | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: intc - add support for 7780Magnus Damm2007-07-19
| | | | | | | | | | | | | | | | This patch converts the cpu specific 7780 setup code to use the new intc controller. Many new vectors are added and also support for external interrupt sense configuration. So with this patch it is now possible to configure external interrupt pins as edge or level triggered using set_irq_type(). No external interrupts are registered by default. Use plat_irq_setup_pins() to select between IRQ or IRL mode. This patch also fixes the Alarm IRQ for the RTC. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: IPR/INTC2 IRQ setup consolidation.Magnus Damm2007-07-19
| | | | | | | | | | This patch unifies the cpu specific interrupt setup functions for interrupt controller blocks such as ipr, intc2 and intc. There is no point in having separate functions for each interrupt controller, so let's clean this up. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: clean up interrupt code for solution engine 7722 boardMagnus Damm2007-07-19
| | | | | | | | | | | This patch cleans up solution engine 7722 specific interrupt code. The main purpose is to replace the mux function with use of set_irq_chained_handler() and replace hard coded register poking code with set_irq_type(). The board specific interrupts are also moved to start from SE7722_FPGA_IRQ_BASE. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: intc - add support for 7722 processorMagnus Damm2007-07-19
| | | | | | | | | | | This patch converts the cpu specific 7722 setup code to use the new intc controller. Many new vectors are added and also support for external interrupt sense configuration. So with this patch it is now possible to configure external interrupt pins as edge or level triggered using set_irq_type(). Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: intc - shared IPR and INTC2 controllerMagnus Damm2007-07-19
| | | | | | | | | | | | | | | | | | | | | | | This is the second version of the shared interrupt controller patch for the sh architecture, fixing up handling of intc_reg_fns[]. The three main advantages with this controller over the existing ones are: - Both priority (ipr) and bitmap (intc2) registers are supported - External pin sense configuration is supported, ie edge vs level triggered - CPU/Board specific code maps 1:1 with datasheet for easy verification This controller can easily coexist with the current IPR and INTC2 controllers, but the idea is that CPUs/Boards should be moved over to this controller over time so we have a single code base to maintain. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* [PATCH] sched: sched_cacheflush is now unusedRalf Baechle2007-07-19
| | | | | | | | Since Ingo's recent scheduler rewrite which was merged as commit 0437e109e1841607f2988891eaa36c531c6aa6ac sched_cacheflush is unused. Signed-off-by: Ralf Baechle <ralf@linux-mips.org> Signed-off-by: Ingo Molnar <mingo@elte.hu>
* arch: personality independent stack topPeter Zijlstra2007-07-19
| | | | | | | | | | | | | | | | New arch macro STACK_TOP_MAX it gives the larges valid stack address for the architecture in question. It differs from STACK_TOP in that it will not distinguish between personalities but will always return the largest possible address. This is used to create the initial stack on execve, which we will move down to the proper location once the binfmt code has figured out where that is. Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl> Signed-off-by: Ollie Wild <aaw@google.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* fbdev: detect primary display deviceAntonino A. Daplas2007-07-17
| | | | | | | | | | | | | Add function helper, fb_is_primary_device(). Given struct fb_info, it will return a nonzero value if the device is the primary display. Currently, only the i386 is supported where the function checks for the IORESOURCE_ROM_SHADOW flag. Signed-off-by: Antonino Daplas <adaplas@gmail.com> Cc: David Miller <davem@davemloft.net> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* fbdev: move arch-specific bits to their respective subdirectoriesAntonino A. Daplas2007-07-17
| | | | | | | | | | | | Move arch-specific bits of fb_mmap() to their respective subdirectories [bob.picco@hp.com: efi_range_is_wc is referenced but not declared] [bunk@stusta.de: fix include/asm-m68k/fb.h] Signed-off-by: Antonino Daplas <adaplas@gmail.com> Acked-by: David S. Miller <davem@davemloft.net> Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* Merge master.kernel.org:/pub/scm/linux/kernel/git/lethal/sh-2.6Linus Torvalds2007-07-16
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * master.kernel.org:/pub/scm/linux/kernel/git/lethal/sh-2.6: (68 commits) sh: sh-rtc support for SH7709. sh: Revert __xdiv64_32 size change. sh: Update r7785rp defconfig. sh: Export div symbols for GCC 4.2 and ST GCC. sh: fix race in parallel out-of-tree build sh: Kill off dead mach.c for hp6xx. sh: hd64461.h cleanup and added comments. sh: Update the alignment when 4K stacks are used. sh: Add a .bss.page_aligned section for 4K stacks. sh: Don't let SH-4A clobber SH-4 CFLAGS. sh: Add parport stub for SuperIO ports. sh: Drop -Wa,-dsp for DSP tuning. sh: Update dreamcast defconfig. fb: pvr2fb: A few more __devinit annotations for PCI. fb: pvr2fb: Fix up section mismatch warnings. sh: Select IPR-IRQ for SH7091. sh: Correct __xdiv64_32/div64_32 return value size. sh: Fix timer-tmu build for SH-3. sh: Add cpu and mach links to CLEAN_FILES. sh: Preliminary support for the SH-X3 CPU. ...
| * sh: hd64461.h cleanup and added comments.Kristoffer Ericson2007-07-11
| | | | | | | | | | | | | | | | | | Now that we dont have PIO mapping anymore we need to make sure we got the correct value in our headers. Some well needed comments have also been added. Signed-off-by: Kristoffer Ericson <kristoffer.ericson@gmail.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * sh: Add parport stub for SuperIO ports.Paul Mundt2007-07-06
| | | | | | | | | | | | | | Some boards have SuperIOs with PC-style parports, toss in the stub so these can be supported. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * sh: Fix timer-tmu build for SH-3.Nobuhiro Iwamatsu2007-07-05
| | | | | | | | | | | | | | | | With the TMU register definitions being renamed on SH-4, SH-3 ended up breaking. Update the TSTR define to match the SH-4 convention. Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * sh: Preliminary support for the SH-X3 CPU.Paul Mundt2007-06-20
| | | | | | | | | | | | This adds basic support for UP SH-X3. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * sh: Hook up hard_smp_processor_id() for INTC2 block.Paul Mundt2007-06-20
| | | | | | | | | | | | | | We need to know the CPU ID in order to calculate the mask and ack registers effectively. Stub this in for UP. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * sh: Fix up futex implementation.Kaz Kojima2007-06-18
| | | | | | | | | | | | | | | | | | | | | | | | | | SH is able to support a complete futex implementation on UP by way of gUSA. However, IRQ toggling must be done for the old CPUs that don't have movli.l/movco.l (LL/SC) instructions. Provide a default implementation that does this, so it's possible to optimize for newer CPUs. Follows the same scheme as the current asm-sh/atomic-*.h headers. Signed-off-by: Kaz Kojima <kkojima@rr.iij4u.or.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * sh: rework ipr codeMagnus Damm2007-06-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch reworks the ipr code by grouping the offset array together with the ipr_data structure in a new data structure called ipr_desc. This new structure also contains the name of the controller in struct irq_chip. The idea behind putting struct irq_chip in there is that we can use offsetof() to locate the base addresses in the irq_chip callbacks. This strategy has much in common with the recently merged intc2 code. One logic change has been made - the original ipr code enabled the interrupts by default but with this patch they are all disabled by default. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * sh: rework intc2 codeMagnus Damm2007-06-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The shared intc2 code currently contains cpu-specific #ifdefs. This is a tad unclean and it prevents us from using the shared code to drive board-specific irqs on the se7780 board. This patch reworks the intc2 code by moving the base addresses of the intc2 registers into struct intc2_desc. This new structure also contains the name of the controller in struct irq_chip. The idea behind putting struct irq_chip in there is that we can use offsetof() to locate the base addresses in the irq_chip callbacks. One logic change has been made - the original shared intc2 code enabled the interrupts by default but with this patch they are all disabled by default. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * sh: Tidy up dependencies for SH-2 build.Paul Mundt2007-06-11
| | | | | | | | | | | | | | | | | | | | | | | | SH-2 can presently get in to some pretty bogus states, so we tidy up the dependencies a bit and get it all building again. This gets us a bit closer to a functional allyesconfig and allmodconfig, though there are still a few things to fix up. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * sh: Compile fix for SH7604 removal.Paul Mundt2007-06-10
| | | | | | | | | | | | | | There was a last remaining reference to CPU_SH7604 that broke the build, kill that off too. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * sh: Warn against direct inclusion of <asm/rwsem.h>.Robert P. J. Day2007-06-07
| | | | | | | | | | Signed-off-by: Robert P. J. Day <rpjday@mindspring.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * sh: Kill off dead SH7604 support.Paul Mundt2007-06-07
| | | | | | | | | | | | | | | | This was added during 2.5.x, but was never moved along. This can easily be resurrected if someone has one they wish to work with, but it's not worth keeping around in its current form. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * sh: Support for multiple nodes.Paul Mundt2007-06-07
| | | | | | | | | | | | | | | | | | This adds basic support for multiple nodes on SH machines. This is primarily useful for boards with many different memory blocks that are otherwise unused (SH7722/SH7785 URAM and so forth). Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * sh: Default to 4-byte alignment for SLUB objects.Paul Mundt2007-06-07
| | | | | | | | | | | | | | | | | | Slub currently defaults to 8-byte alignment for the kmalloc and slab minalign values, where 4 will suffice. In the slab case BYTES_PER_WORD == 4 already, so defining the minalign values outright doesn't cause any regressions there either. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * sh: sparsemem support.Paul Mundt2007-06-07
| | | | | | | | | | | | | | | | This implements basic sparsemem support for SH. Presently this only uses static sparsemem, and we still permit explicit selection of flatmem. Those boards that want sparsemem can select it as usual. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * sh: pfn_valid() depends on flatmem.Paul Mundt2007-06-07
| | | | | | | | | | | | | | pfn_valid() is already defined in the sparsemem case, so we only need to define this for CONFIG_FLATMEM. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * sh: Kill off machvec aliases.Paul Mundt2007-06-07
| | | | | | | | | | | | | | | | | | | | | | We now throw all of the machvecs in to .machvec.init and either select one on the command line, or copy out the first (and usually only) one to sh_mv. The rest are freed as usual. This gets rid of all of the silly sh_mv aliasing and makes the selection explicit rather than link-order dependent. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * sh: Get multiple boards in one image working again.Paul Mundt2007-06-07
| | | | | | | | | | | | | | | | | | This tidies up the build rules and permits multiple boards to be linked in to the same kernel. The earlier Kconfig work ensures that the CPU configuration is consistent across the boards, as this is the only thing that we can't do dynamically. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * sh: Fixup machvec support.Paul Mundt2007-06-07
| | | | | | | | | | | | | | | | This fixes up much of the machvec handling, allowing for it to be overloaded on boot. Making practical use of this still requires some Kconfig munging, however. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * sh: __user annotations for __get/__put_user().Paul Mundt2007-06-07
| | | | | | | | | | | | | | | | This adds in some more __user annotations. These weren't being handled properly in some of the __get_user and __put_user paths, so tidy those up. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | page table handling cleanupJan Beulich2007-07-16
| | | | | | | | | | | | | | | | | | | | | | | | Kill pte_rdprotect(), pte_exprotect(), pte_mkread(), pte_mkexec(), pte_read(), pte_exec(), and pte_user() except where arch-specific code is making use of them. Signed-off-by: Jan Beulich <jbeulich@novell.com> Cc: Andi Kleen <andi@firstfloor.org> Cc: Christoph Hellwig <hch@infradead.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>