summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* sh: dma: More legacy cpu dma chainsawing.Paul Mundt2012-05-193-208/+177
| | | | | | | | | | Attempt to "tidy" up some of the multi IRQ handling and base + IRQ management. This should keep it limping along without too much hassle, and no new parts should ever be enabling or using this API anyways. It doesn't get any closer to lipstick on a pig as this. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Kill off MAX_DMA_ADDRESS leftovers.Paul Mundt2012-05-195-36/+9
| | | | | | | | We don't support the ISA DMA API, so this is only ever misused. The dma-sh case inadvertently broke the dreamcast case by testing the wrong variable for the total number of channels, so this fixes that up too. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Tidy up some of the cpu legacy dma header mess.Paul Mundt2012-05-197-52/+0
| | | | | | | | | | This has turned in to quite a mess, and with CPUs that care using dmaengine now it's about time to start cleaning up after the legacy DMA code. For starters, kill off the stubs for the CPUs that don't do anything, as well as all of the unused definitions. This leaves us with a set of IRQs and base addresses we can deal with later. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Move sh4a dma header from cpu-sh4 to cpu-sh4a.Paul Mundt2012-05-192-10/+1
| | | | | | | cpu-sh4a headers take priority over cpu-sh4 ones by virtue of the build system, there's no need to try and mingle sh4a stuff in cpu-sh4. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh64: Fix up vmalloc fault range check.Paul Mundt2012-05-181-1/+7
| | | | | | | | With the previous attempt reverted this switches to conditionalizing the end address. Nominally VMALLOC_END, but extended for P3_ADDR_MAX in the store queue case. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* Revert "sh: Ensure fixmap and store queue space can co-exist."Paul Mundt2012-05-182-3/+3
| | | | | | | | | This reverts commit 20e7c297efeca0861adcca073a0d283da659834b. With store queues enabled the area above P4SEG has special properties from the MMU's point of view, which was causing fixmap failure. We'll have to do something else to satisfy the vmalloc range check. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* serial: sh-sci: Fix for port types without BRI interrupts.Paul Mundt2012-05-181-1/+18
| | | | | | | | | | | | In doing the evt2irq() + muxed vector conversion for various port types it became apparent that some of the legacy port types will presently error out due to the irq requesting logic attempting to acquire the non-existent BRI IRQ. This adds some sanity checks to the request/free path to ensure that non-existence of a source in itself is not an error. This should restore functionality for legacy PORT_SCI ports. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* Merge branch 'sh/evt2irq-migration' into sh-latestPaul Mundt2012-05-18253-1295/+1927
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: arch/sh/kernel/cpu/sh3/setup-sh770x.c arch/sh/kernel/cpu/sh3/setup-sh7710.c arch/sh/kernel/cpu/sh3/setup-sh7720.c arch/sh/kernel/cpu/sh4/setup-sh7750.c arch/sh/kernel/cpu/sh4a/setup-sh7343.c arch/sh/kernel/cpu/sh4a/setup-sh7366.c arch/sh/kernel/cpu/sh4a/setup-sh7722.c arch/sh/kernel/cpu/sh4a/setup-sh7723.c arch/sh/kernel/cpu/sh4a/setup-sh7724.c arch/sh/kernel/cpu/sh4a/setup-sh7757.c arch/sh/kernel/cpu/sh4a/setup-sh7763.c arch/sh/kernel/cpu/sh4a/setup-sh7770.c arch/sh/kernel/cpu/sh4a/setup-sh7785.c arch/sh/kernel/cpu/sh4a/setup-sh7786.c Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * sh: legacy PCI evt2irq migration.Paul Mundt2012-05-189-38/+53
| | | | | | | | | | | | This converts over the legacy PCI IRQs to evt2irq() backed hwirq lookups. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * sh: cpu dma evt2irq migration.Paul Mundt2012-05-183-50/+57
| | | | | | | | | | | | | | This migrates the cpu-family relative DMA IRQ definitions over to evt2irq() backed hwirq lookups. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * sh: sh7763rdp evt2irq migration.Paul Mundt2012-05-181-2/+3
| | | | | | | | | | | | Migrate sh7763rdp to evt2irq backed hwirq lookups. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * sh: sdk7780 evt2irq migration.Paul Mundt2012-05-181-2/+3
| | | | | | | | | | | | Migrate sdk7780 to evt2irq backed hwirq lookups. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * sh: migor evt2irq migration.Paul Mundt2012-05-181-6/+7
| | | | | | | | | | | | Migrate migor to evt2irq backed hwirq lookups. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * sh: landisk evt2irq migration.Paul Mundt2012-05-181-9/+10
| | | | | | | | | | | | Migrate landisk to evt2irq backed hwirq lookups. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * sh: kfr2r09 evt2irq migration.Paul Mundt2012-05-181-7/+8
| | | | | | | | | | | | Migrate kfr2r09 to evt2irq backed hwirq lookups. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * sh: ecovec24 evt2irq migration.Paul Mundt2012-05-181-21/+23
| | | | | | | | | | | | Migrate ecovec24 to evt2irq backed hwirq lookups. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * sh: ap325rxa evt2irq migration.Paul Mundt2012-05-181-7/+8
| | | | | | | | | | | | Migrate ap325rxa to evt2irq backed hwirq lookups. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * sh: urquell evt2irq migration.Paul Mundt2012-05-181-1/+2
| | | | | | | | | | | | Migrate urquell to evt2irq backed hwirq lookups. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * sh: sh7785lcr evt2irq migration.Paul Mundt2012-05-181-7/+8
| | | | | | | | | | | | Migrate sh7785lcr to evt2irq backed hwirq lookups. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * sh: hp6xx evt2irq migration.Paul Mundt2012-05-182-4/+6
| | | | | | | | | | | | Migrate hp6xx to evt2irq backed hwirq lookups. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * sh: mach-se evt2irq migration.Paul Mundt2012-05-189-42/+52
| | | | | | | | | | | | Migrate Solution Engine boards to evt2irq backed hwirq lookups. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * sh: sh7757lcr evt2irq migration.Paul Mundt2012-05-181-13/+14
| | | | | | | | | | | | Migrate sh7757lcr to evt2irq() backed hwirq lookups. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * sh: magicpanelr2 evt2irq migration.Paul Mundt2012-05-181-13/+14
| | | | | | | | | | | | Migrate magicpanelr2 to evt2irq() backed hwirq lookups. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * sh: espt evt2irq migration.Paul Mundt2012-05-181-1/+2
| | | | | | | | | | | | Migrate espt to evt2irq() backed hwirq lookups. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * sh: edosk7760 evt2irq migration.Paul Mundt2012-05-182-10/+7
| | | | | | | | | | | | Migrate edosk7760 to evt2irq() backed hwirq lookups. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * sh: edosk7705 evt2irq migration.Paul Mundt2012-05-181-1/+2
| | | | | | | | | | | | Migrate edosk7705 to evt2irq() backed hwirq lookups. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * sh: sh7720 evt2irq migration.Paul Mundt2012-05-181-15/+17
| | | | | | | | | | | | Migrate SH7720 to evt2irq() backed hwirq lookups. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * sh: sh7710/sh7712 evt2irq migration.Paul Mundt2012-05-181-6/+7
| | | | | | | | | | | | Migrate SH7710/SH7712 to evt2irq() backed hwirq lookups. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * sh: sh7706/sh7707/sh7709/sh7709 evt2irq migration.Paul Mundt2012-05-181-7/+8
| | | | | | | | | | | | Migrate SH770x to evt2irq() backed hwirq lookups. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * sh: sh7705 evt2irq migration.Paul Mundt2012-05-181-6/+7
| | | | | | | | | | | | Migrate SH7705 to evt2irq() backed hwirq lookups. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * sh: sh7760 evt2irq migration.Paul Mundt2012-05-181-7/+19
| | | | | | | | | | | | Migrate SH7760 to evt2irq() backed hwirq lookups. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * sh: sh7750 evt2irq migration.Paul Mundt2012-05-181-8/+9
| | | | | | | | | | | | Migrate SH7750 to evt2irq() backed hwirq lookups. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * sh: sh4-202 evt2irq migration.Paul Mundt2012-05-181-4/+8
| | | | | | | | | | | | Migrate SH4-202 to evt2irq() backed hwirq lookups. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * sh: sh-x3 evt2irq migration.Paul Mundt2012-05-181-9/+19
| | | | | | | | | | | | Migrate SH-X3 to evt2irq() backed hwirq lookups. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * sh: sh7785 evt2irq migration.Paul Mundt2012-05-181-18/+25
| | | | | | | | | | | | Migrate SH7785 to evt2irq() backed hwirq lookups. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * sh: sh7780 evt2irq migration.Paul Mundt2012-05-181-15/+22
| | | | | | | | | | | | Migrate SH7780 to evt2irq() backed hwirq lookups. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * sh: sh7770 evt2irq migration.Paul Mundt2012-05-181-19/+20
| | | | | | | | | | | | Migrate SH7770 to evt2irq() backed hwirq lookups. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * sh: sh7763 evt2irq migration.Paul Mundt2012-05-181-14/+16
| | | | | | | | | | | | Migrate SH7763 to evt2irq() backed hwirq lookups. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * sh: sh7757 evt2irq migration.Paul Mundt2012-05-181-44/+44
| | | | | | | | | | | | Migrate SH7757 to evt2irq() backed hwirq lookups. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * sh: sh7724 evt2irq migration.Paul Mundt2012-05-181-38/+39
| | | | | | | | | | | | Migrate SH7724 to evt2irq() backed hwirq lookups. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * sh: sh7723 evt2irq migration.Paul Mundt2012-05-181-23/+24
| | | | | | | | | | | | Migrate SH7723 to evt2irq() backed hwirq lookups. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * sh: sh7722 evt2irq migration.Paul Mundt2012-05-181-23/+24
| | | | | | | | | | | | Migrate SH7722 to evt2irq() backed hwirq lookups. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * sh: sh7366 evt2irq migration.Paul Mundt2012-05-181-11/+12
| | | | | | | | | | | | Migrate SH7366 to evt2irq() backed hwirq lookups. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * sh: sh7343 evt2irq migration.Paul Mundt2012-05-181-15/+16
| | | | | | | | | | | | Migrate SH7343 to evt2irq() backed hwirq lookups. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * sh: sh7786 evt2irq migration.Paul Mundt2012-05-181-22/+25
| | | | | | | | | | | | | | | | This migrates SH7786 to evt2irq() backed hwirq lookup rather than using an open-coded calculation. This will make it possible to reposition the vector base at a later point in time. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * Merge branch 'fixes' of git://git.linaro.org/people/rmk/linux-armLinus Torvalds2012-05-173-18/+13
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Pull ARM fixes from Russell King: "Small set of fixes again." * 'fixes' of git://git.linaro.org/people/rmk/linux-arm: ARM: 7419/1: vfp: fix VFP flushing regression on sigreturn path ARM: 7418/1: LPAE: fix access flag setup in mem_type_table ARM: prevent VM_GROWSDOWN mmaps extending below FIRST_USER_ADDRESS ARM: 7417/1: vfp: ensure preemption is disabled when enabling VFP access
| | * ARM: 7419/1: vfp: fix VFP flushing regression on sigreturn pathWill Deacon2012-05-171-12/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit ff9a184c ("ARM: 7400/1: vfp: clear fpscr length and stride bits on entry to sig handler") flushes the VFP state prior to entering a signal handler so that a VFP operation inside the handler will trap and force a restore of ABI-compliant registers. Reflushing and disabling VFP on the sigreturn path is predicated on the saved thread state indicating that VFP was used by the handler -- however for SMP platforms this is only set on context-switch, making the check unreliable and causing VFP register corruption in userspace since the register values are not necessarily those restored from the sigframe. This patch unconditionally flushes the VFP state after a signal handler. Since we already perform the flush before the handler and the flushing itself happens lazily, the redundant flush when VFP is not used by the handler is essentially a nop. Reported-by: Jon Medhurst <tixy@linaro.org> Signed-off-by: Jon Medhurst <tixy@linaro.org> Signed-off-by: Will Deacon <will.deacon@arm.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| | * ARM: 7418/1: LPAE: fix access flag setup in mem_type_tableVitaly Andrianov2012-05-171-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A zero value for prot_sect in the memory types table implies that section mappings should never be created for the memory type in question. This is checked for in alloc_init_section(). With LPAE, we set a bit to mask access flag faults for kernel mappings. This breaks the aforementioned (!prot_sect) check in alloc_init_section(). This patch fixes this bug by first checking for a non-zero prot_sect before setting the PMD_SECT_AF flag. Signed-off-by: Vitaly Andrianov <vitalya@ti.com> Acked-by: Catalin Marinas <catalin.marinas@arm.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| | * ARM: prevent VM_GROWSDOWN mmaps extending below FIRST_USER_ADDRESSRussell King2012-05-161-1/+3
| | | | | | | | | | | | | | | | | | Cc: <stable@vger.kernel.org> Reported-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| | * ARM: 7417/1: vfp: ensure preemption is disabled when enabling VFP accessWill Deacon2012-05-121-4/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The vfp_enable function enables access to the VFP co-processor register space (cp10 and cp11) on the current CPU and must be called with preemption disabled. Unfortunately, the vfp_init late initcall does not disable preemption and can lead to an oops during boot if thread migration occurs at the wrong time and we end up attempting to access the FPSID on a CPU with VFP access disabled. This patch fixes the initcall to call vfp_enable from a non-preemptible context on each CPU and adds a BUG_ON(preemptible) to ensure that any similar problems are easily spotted in the future. Cc: stable@vger.kernel.org Reported-by: Hyungwoo Yang <hwoo.yang@gmail.com> Signed-off-by: Hyungwoo Yang <hyungwooy@nvidia.com> Signed-off-by: Will Deacon <will.deacon@arm.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
OpenPOWER on IntegriCloud