summaryrefslogtreecommitdiffstats
path: root/arch
Commit message (Collapse)AuthorAgeFilesLines
* BKL: revert back to the old spinlock implementationLinus Torvalds2008-05-101-11/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The generic semaphore rewrite had a huge performance regression on AIM7 (and potentially other BKL-heavy benchmarks) because the generic semaphores had been rewritten to be simple to understand and fair. The latter, in particular, turns a semaphore-based BKL implementation into a mess of scheduling. The attempt to fix the performance regression failed miserably (see the previous commit 00b41ec2611dc98f87f30753ee00a53db648d662 'Revert "semaphore: fix"'), and so for now the simple and sane approach is to instead just go back to the old spinlock-based BKL implementation that never had any issues like this. This patch also has the advantage of being reported to fix the regression completely according to Yanmin Zhang, unlike the semaphore hack which still left a couple percentage point regression. As a spinlock, the BKL obviously has the potential to be a latency issue, but it's not really any different from any other spinlock in that respect. We do want to get rid of the BKL asap, but that has been the plan for several years. These days, the biggest users are in the tty layer (open/release in particular) and Alan holds out some hope: "tty release is probably a few months away from getting cured - I'm afraid it will almost certainly be the very last user of the BKL in tty to get fixed as it depends on everything else being sanely locked." so while we're not there yet, we do have a plan of action. Tested-by: Yanmin Zhang <yanmin_zhang@linux.intel.com> Cc: Ingo Molnar <mingo@elte.hu> Cc: Andi Kleen <andi@firstfloor.org> Cc: Matthew Wilcox <matthew@wil.cx> Cc: Alexander Viro <viro@ftp.linux.org.uk> Cc: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* Merge branch 'for-linus' of ↵Linus Torvalds2008-05-0923-107/+682
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/blackfin-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/blackfin-2.6: (21 commits) Blackfin Serial Driver: abstract away DLAB differences into header Blackfin Serial Driver: macro away the IER differences between processors [Blackfin] arch: remove useless IRQ_SW_INT defines [Blackfin] arch: protect linux/usb/musb.h include until the driver gets mainlined [Blackfin] arch: protect linux/usb/isp1362.h include until the driver gets mainlined [Blackfin] arch: add EBIU supporting for BF54x EZKIT SMSC LAN911x/LAN921x families embedded ethernet driver [Blackfin] arch: Set spi flash partition on bf527 as like bf548. [Blackfin] arch: fix bug - Remove module will not free L1 memory used [Blackfin] arch: fix wrong header name in comment [Blackfin] arch: Fix BUG - spi flash on bf527 ezkit would fail at mount [Blackfin] arch: add twi_lcd and twi_keypad i2c board info to bf527-ezkit [Blackfin] arch: Add physmap partition for BF527-EZkit [Blackfin] arch: fix gdb testing regression [Blackfin] arch: disable single stepping when delivering a signal [Blackfin] arch: Delete unused (copied from m68k) entries in asm-offsets.c. [Blackfin] arch: In the double fault handler, set up the PT_RETI slot [Blackfin] arch: Support for CPU_FREQ and NOHZ [Blackfin] arch: Functional power management support: Add CPU and platform voltage scaling support [Blackfin] arch: fix bug - breaking the atomic sections code. [Blackfin] arch: Equalize include files: Add VR_CTL masks ...
| * [Blackfin] arch: protect linux/usb/musb.h include until the driver gets ↵Mike Frysinger2008-05-101-0/+2
| | | | | | | | | | | | | | | | mainlined Signed-off-by: Mike Frysinger <vapier.adi@gmail.com> Signed-off-by: Bryan Wu <cooloney@kernel.org>
| * [Blackfin] arch: protect linux/usb/isp1362.h include until the driver gets ↵Mike Frysinger2008-05-103-0/+6
| | | | | | | | | | | | | | | | mainlined Signed-off-by: Mike Frysinger <vapier.adi@gmail.com> Signed-off-by: Bryan Wu <cooloney@kernel.org>
| * [Blackfin] arch: add EBIU supporting for BF54x EZKIT SMSC LAN911x/LAN921x ↵Michael Hennerich2008-05-071-0/+1
| | | | | | | | | | | | | | | | families embedded ethernet driver Signed-off-by: Michael Hennerich <michael.hennerich@analog.com> Signed-off-by: Bryan Wu <cooloney@kernel.org>
| * [Blackfin] arch: Set spi flash partition on bf527 as like bf548.Grace Pan2008-05-071-5/+1
| | | | | | | | | | | | Signed-off-by: Grace Pan <grace.pan@analog.com> Signed-off-by: Bryan Wu <cooloney@kernel.org>
| * [Blackfin] arch: fix bug - Remove module will not free L1 memory usedMeihui Fan2008-05-071-15/+22
| | | | | | | | | | | | | | | | | | Remove module will not free L1 memory used which caused by memory access after free. This patch fixes it. Signed-off-by: Meihui Fan <mhfan@hhcn.com> Signed-off-by: Bryan Wu <cooloney@kernel.org>
| * [Blackfin] arch: fix wrong header name in commentMike Frysinger2008-05-071-1/+1
| | | | | | | | | | | | Signed-off-by: Mike Frysinger <vapier.adi@gmail.com> Signed-off-by: Bryan Wu <cooloney@kernel.org>
| * [Blackfin] arch: Fix BUG - spi flash on bf527 ezkit would fail at mountMichael Hennerich2008-05-071-1/+1
| | | | | | | | | | | | | | | | BF527-EZKit features 16MBit M25P16 flash Signed-off-by: Michael Hennerich <michael.hennerich@analog.com> Signed-off-by: Bryan Wu <cooloney@kernel.org>
| * [Blackfin] arch: add twi_lcd and twi_keypad i2c board info to bf527-ezkitBryan Wu2008-05-071-0/+25
| | | | | | | | | | | | | | | | - JP3 should be installed for STAMP enable - IRQ for twi_keypad driver is IRQ_PF8 Signed-off-by: Bryan Wu <cooloney@kernel.org>
| * [Blackfin] arch: Add physmap partition for BF527-EZkitMichael Hennerich2008-05-071-0/+45
| | | | | | | | | | | | Signed-off-by: Michael Hennerich <michael.hennerich@analog.com> Signed-off-by: Bryan Wu <cooloney@kernel.org>
| * [Blackfin] arch: fix gdb testing regressionBernd Schmidt2008-05-071-31/+77
| | | | | | | | | | | | | | | | | | | | | | | | | | | | When transferring to IRQ5 from an exception, save SYSCFG in memory across the transfer and clear the trace bit. When we get a single step exception, check whether we can safely clear the trace bit in SYSCFG. We can (and should) clear it after the first instruction of the interrupt handler; the first insn saves SYSCFG to the stack in all handlers. Signed-off-by: Bernd Schmidt <bernds_cb1@t-online.de> Signed-off-by: Bryan Wu <cooloney@kernel.org>
| * [Blackfin] arch: disable single stepping when delivering a signalBernd Schmidt2008-05-071-0/+13
| | | | | | | | | | | | | | | | | | | | When delivering a signal, disable single stepping but call ptrace_notify if it was enabled before. The idea was taken from the x86 port. Signed-off-by: Bernd Schmidt <bernds_cb1@t-online.de> Signed-off-by: Bryan Wu <cooloney@kernel.org>
| * [Blackfin] arch: Delete unused (copied from m68k) entries in asm-offsets.c.Bernd Schmidt2008-05-072-5/+2
| | | | | | | | | | | | | | | | | | Fix some really ancient code that was correct only for the m68k port. Delete unused (i.e. copied from m68k) entries in asm-offsets.c. Signed-off-by: Bernd Schmidt <bernds_cb1@t-online.de> Signed-off-by: Bryan Wu <cooloney@kernel.org>
| * [Blackfin] arch: In the double fault handler, set up the PT_RETI slotBernd Schmidt2008-05-071-0/+5
| | | | | | | | | | | | | | | | | | In the double fault handler, set up the PT_RETI slot so that we print out the correct return address in the dumping code. Signed-off-by: Bernd Schmidt <bernds_cb1@t-online.de> Signed-off-by: Bryan Wu <cooloney@kernel.org>
| * [Blackfin] arch: Support for CPU_FREQ and NOHZVitja Makarov2008-05-072-12/+22
| | | | | | | | | | Singed-off-by: Vitja Makarov <vitja.makarov@gmail.com>
| * [Blackfin] arch: Functional power management support: Add CPU and platform ↵Michael Hennerich2008-05-0714-27/+459
| | | | | | | | | | | | | | | | voltage scaling support Signed-off-by: Michael Hennerich <michael.hennerich@analog.com> Signed-off-by: Bryan Wu <cooloney@kernel.org>
| * [Blackfin] arch: fix bug - breaking the atomic sections code.Bernd Schmidt2008-05-071-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | The following cleanup patch: add __user markings to a few userspace system functions mysteriously added a "&" operator that doesn't belong in there, breaking the atomic sections code. Signed-off-by: Bernd Schmidt <bernds_cb1@t-online.de> Signed-off-by: Bryan Wu <cooloney@kernel.org>
| * [Blackfin] arch: Cleanup Kconfig, fix comment and make sure we exclude ↵Michael Hennerich2008-05-072-12/+2
| | | | | | | | | | | | | | | | CCLK=SCLK for some configurations Signed-off-by: Michael Hennerich <michael.hennerich@analog.com> Signed-off-by: Bryan Wu <cooloney@kernel.org>
* | Merge git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6Linus Torvalds2008-05-0939-1000/+392
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6: (37 commits) SH: catch negative denormal_subf1() retval in denormal_add() sh: Fix DMAC base address for SH7709S sh: update smc91x platform data for se7206. sh: Stub in cpu_to_node() and friends for NUMA build. sh: intc register modify fix sh: no high level trigger on some sh3 cpus sh: clean up sh7710 and sh7720 intc tables sh: add interrupt ack code to sh3 sh: unify external irq pin code for sh3 sh-sci: avoid writing to nonexistent registers sh-sci: sh7722 lacks scsptr registers sh-sci: improve sh7722 support sh: reset hardware from early printk sh: drain and wait for early printk sh: use sci_out() for early printk sh: add memory resources to /proc/iomem sh: add kernel bss resource sh: fix sh7705 interrupt vector typo sh: update smc91x platform data for se7722 sh: update smc91x platform data for MigoR ...
| * | SH: catch negative denormal_subf1() retval in denormal_add()Roel Kluin2008-05-091-2/+2
| | | | | | | | | | | | | | | | | | | | | 'ix' is unsigned but denormal_subf1() may return a negative int. Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | sh: update smc91x platform data for se7206.Paul Mundt2008-05-091-3/+14
| | | | | | | | | | | | | | | | | | Follows the se7722 change. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | sh: intc register modify fixMagnus Damm2008-05-081-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | Make sure register modifications stay atomic. Fixes processors with shared priority register masking. Dual bitmap masking is unaffected. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | sh: no high level trigger on some sh3 cpusMagnus Damm2008-05-081-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | The processor models sh7706, sh7707 and sh7709 don't support high level trigger sense configuration. And the intc code looks like crap these days so what's the difference. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | sh: clean up sh7710 and sh7720 intc tablesMagnus Damm2008-05-082-8/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Clean up the intc tables by removing unneeded #ifdefs. The vector list is what selects which interrupt sources that should be added, having unsupported bitfields listed is ok as long as the vector is excluded from the list. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | sh: add interrupt ack code to sh3Magnus Damm2008-05-082-7/+87
| | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds interrupt acknowledge code for external interrupt sources on sh3 processors. Only really required for edge triggered interrupts, but we ack regardless of sense configuration. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | sh: unify external irq pin code for sh3Magnus Damm2008-05-086-94/+75
| | | | | | | | | | | | | | | | | | | | | | | | | | | This patch unifies the sh3 external irq pin code. It buys us some savings with reduced code redundancy, but the main feature with this change is irq sense selection support for all sh3 processors. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | sh: reset hardware from early printkMagnus Damm2008-05-081-3/+3
| | | | | | | | | | | | | | | | | | | | | Reset the transmitter and receiver when setting up early printk. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | sh: drain and wait for early printkMagnus Damm2008-05-081-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | Drain by waiting for all characters to be sent, and make sure to wait a little bit after setting up the baud rate. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | sh: use sci_out() for early printkMagnus Damm2008-05-081-11/+13
| | | | | | | | | | | | | | | | | | | | | Use sci_out() instead of ctrl_outw() for early printk setup code. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | sh: add memory resources to /proc/iomemMagnus Damm2008-05-082-2/+38
| | | | | | | | | | | | | | | | | | | | | | | | Add physical memory resources such as System RAM, Kernel code/data/bss and reserved crash dump area to /proc/iomem. Same strategy as on x86. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | sh: add kernel bss resourceMagnus Damm2008-05-081-0/+7
| | | | | | | | | | | | | | | | | | | | | Do like everyone else and have a struct resource for kernel bss. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | sh: fix sh7705 interrupt vector typoMagnus Damm2008-05-081-1/+1
| | | | | | | | | | | | | | | | | | | | | Fix sh7705 interrupt sources for vectors 0xc80 and 0xca0. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | sh: update smc91x platform data for se7722Magnus Damm2008-05-081-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | Select smc91x bus width using platform data for se7722 now when the smc91x header file is in place. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | sh: update smc91x platform data for MigoRMagnus Damm2008-05-081-1/+10
| | | | | | | | | | | | | | | | | | | | | | | | Select smc91x bus width and irg flags using platform data for MigoR now when the smc91x header file is in place. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | sh: remove -traditional.Mathieu Desnoyers2008-05-082-2/+0
| | | | | | | | | | | | | | | | | | | | | Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca> CC: Sam Ravnborg <sam@ravnborg.org> CC: linux-sh@vger.kernel.org Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | sh: r7780rp: Kill off unneded ifdefs for irq setup.Paul Mundt2008-05-084-24/+6
| | | | | | | | | | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | sh: rts7751r2d: Kill off unneeded ifdefs.Paul Mundt2008-05-081-5/+2
| | | | | | | | | | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | sh: intc_sh5 depends on cayman board for IRQ priority table.Paul Mundt2008-05-081-35/+38
| | | | | | | | | | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | sh64: export onchip_remap/unmap() too.Paul Mundt2008-05-081-0/+2
| | | | | | | | | | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | sh64: Some symbol exports to make the allmodconfig happier.Paul Mundt2008-05-084-2/+28
| | | | | | | | | | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | sh: remove the broken SH_MPC1211 supportAdrian Bunk2008-05-087-799/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | SH_MPC1211 has been marked as BROKEN for some time. Unless someone is working on reviving it now, I'd therefore suggest this patch to remove it. Signed-off-by: Adrian Bunk <bunk@kernel.org> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | sh64: Setup I/D-TLB defaults in SH-5 probe path.Paul Mundt2008-05-081-0/+4
| | | | | | | | | | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | sh: kexec and kdump depend on SUPERH32.Paul Mundt2008-05-081-2/+2
| | | | | | | | | | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | sh64: Fix up compile warning in event tracer.Paul Mundt2008-05-081-1/+1
| | | | | | | | | | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | sh64: Fixup the nommu build.Paul Mundt2008-05-083-3/+34
| | | | | | | | | | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | sh64: fixups for xtime_lock seqlock conversion.Paul Mundt2008-05-081-2/+2
| | | | | | | | | | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | sh: sh-bios depends on SUPERH32.Paul Mundt2008-05-081-0/+1
| | | | | | | | | | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | | Merge branch 'merge' of ↵Linus Torvalds2008-05-0918-137/+384
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc: (23 commits) [POWERPC] Remove leftover printk in isa-bridge.c [POWERPC] Remove duplicate #include [POWERPC] Initialize lockdep earlier [POWERPC] Document when printk is useable [POWERPC] Fix bogus paca->_current initialization [POWERPC] Fix of_i2c include for module compilation [POWERPC] Make default cputable entries reflect selected CPU family [POWERPC] spufs: lockdep annotations for spufs_dir_close [POWERPC] spufs: don't requeue victim contex in find_victim if it's not in spu_run [POWERPC] 4xx: Fix PCI mem in sequoia DTS [POWERPC] 4xx: Add endpoint support to 4xx PCIe driver [POWERPC] 4xx: Fix problem with new TLB storage attibute fields on 440x6 core [POWERPC] spufs: spu_create should send inotify IM_CREATE event [POWERPC] spufs: handle faults while the context switch pending flag is set [POWERPC] spufs: fix concurrent delivery of class 0 & 1 exceptions [POWERPC] spufs: try to route SPU interrupts to local node [POWERPC] spufs: set SPU_CONTEXT_SWITCH_PENDING before synchronising SPU irqs [POWERPC] spufs: don't acquire state_mutex interruptible while performing callback [POWERPC] spufs: update master runcntl with context lock held [POWERPC] spufs: fix post-stopped update of MFC_CNTL register ...
| * | | [POWERPC] Remove leftover printk in isa-bridge.cNate Case2008-05-091-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This printk() appears twice in the same function. Only the latter one in the inval_range: section appears to be legitimate. Signed-off-by: Nate Case <ncase@xes-inc.com> Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Paul Mackerras <paulus@samba.org>