summaryrefslogtreecommitdiffstats
path: root/arch
AgeCommit message (Collapse)AuthorFilesLines
2011-07-23Merge branch 'for-linus' of ↵Linus Torvalds114-2138/+1733
git://git.kernel.org/pub/scm/linux/kernel/git/vapier/blackfin * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/vapier/blackfin: (43 commits) Blackfin: spi-docs: further clarify GPIO CS behavior with various modes Blackfin: boards: fix pcm device name Blackfin: SMP: punt unused atomic_test_mask helper Blackfin: irqs: do not trace arch_local_{*,irq_*} functions Blackfin: bf526: restrict reboot workaround to 0.0 silicon Blackfin: bf51x: fix alternative portmux options Blackfin: bf54x: fix GPIO resume code Blackfin: dpmc: optimize SDRAM programming slightly Blackfin: dpmc: don't save/restore scratch registers Blackfin: bf538: pull gpio/port logic out of core hibernate paths Blackfin: dpmc: optimize hibernate/resume path Blackfin: dpmc: do not save/restore EVT0/EVT1/EVT4 when hibernating Blackfin: dpmc: relocate hibernate helper macros Blackfin: dpmc: omit RETE/RETN when hibernating Blackfin: dpmc: optimize SIC_IWR programming a little Blackfin: gpio/ints: generalize pint logic Blackfin: dpmc: bind to MMR names and not CPUs Blackfin: debug-mmrs: generalize pint logic Blackfin: bf54x: switch to common pint MMR struct Blackfin: bf54x: tweak MMR pint names ...
2011-07-23Merge branches 'x86-detect-hyper-for-linus', 'x86-fpu-for-linus', ↵Linus Torvalds8-33/+45
'x86-kexec-for-linus', 'x86-platform-for-linus', 'x86-quirks-for-linus', 'x86-tsc-for-linus' and 'x86-smpboot-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-detect-hyper-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86, hyper: Change hypervisor detection order * 'x86-fpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86-32, fpu: Fix DNA exception during check_fpu() * 'x86-kexec-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: kexec, x86: Fix incorrect jump back address if not preserving context * 'x86-platform-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86, config: Introduce an INTEL_MID configuration * 'x86-quirks-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86, quirks: Use pci_dev->revision * 'x86-tsc-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86: tsc: Remove unneeded DMI-based blacklisting * 'x86-smpboot-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86, boot: Wait for boot cpu to show up if nr_cpus limit is about to hit
2011-07-23Merge branch 'x86-build-for-linus' of ↵Linus Torvalds2-37/+5
git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-build-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86, build: Do not set the root_dev field in bzImage
2011-07-23Merge branch 'x86-atomic-for-linus' of ↵Linus Torvalds4-0/+98
git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-atomic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86: Add support for cmpxchg_double
2011-07-23Merge branch 'timers-clocksource-for-linus' of ↵Linus Torvalds3-360/+72
git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'timers-clocksource-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: clocksource: apb: Share APB timer code with other platforms
2011-07-23Merge branches 'x86-urgent-for-linus', 'core-debug-for-linus', ↵Linus Torvalds1-1/+2
'irq-core-for-linus' and 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: um: Make rwsem.S depend on CONFIG_RWSEM_XCHGADD_ALGORITHM * 'core-debug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: debug: Make CONFIG_EXPERT select CONFIG_DEBUG_KERNEL to unhide debug options * 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: genirq: Remove unused CHECK_IRQ_PER_CPU() * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: perf tools, x86: Fix 32-bit compile on 64-bit system
2011-07-23virtio: expose for non-virtualization users tooOhad Ben-Cohen7-37/+0
virtio has been so far used only in the context of virtualization, and the virtio Kconfig was sourced directly by the relevant arch Kconfigs when VIRTUALIZATION was selected. Now that we start using virtio for inter-processor communications, we need to source the virtio Kconfig outside of the virtualization scope too. Moreover, some architectures might use virtio for both virtualization and inter-processor communications, so directly sourcing virtio might yield unexpected results due to conflicting selections. The simple solution offered by this patch is to always source virtio's Kconfig in drivers/Kconfig, and remove it from the appropriate arch Kconfigs. Additionally, a virtio menu entry has been added so virtio drivers don't show up in the general drivers menu. This way anyone can use virtio, though it's arguably less accessible (and neat!) for virtualization users now. Note: some architectures (mips and sh) seem to have a VIRTUALIZATION menu merely for sourcing virtio's Kconfig, so that menu is removed too. Signed-off-by: Ohad Ben-Cohen <ohad@wizery.com> Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2011-07-23Blackfin: boards: fix pcm device nameScott Jiang2-11/+56
The pcm driver name has been changed, but the device name has not. Signed-off-by: Scott Jiang <scott.jiang@analog.com> Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2011-07-23Blackfin: SMP: punt unused atomic_test_mask helperMike Frysinger1-5/+0
No one uses this func, so just punt it. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2011-07-23Blackfin: irqs: do not trace arch_local_{*,irq_*} functionsSteven Rostedt1-21/+21
Do not trace arch_local_save_flags(), arch_local_irq_*() and friends. Although they are marked inline, gcc may still make a function out of them and add it to the pool of functions that are traced by the function tracer. This can cause undesirable results (kernel panic, triple faults, etc). Add the notrace notation to prevent them from ever being traced. Signed-off-by: Steven Rostedt <rostedt@goodmis.org> Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2011-07-23Blackfin: bf526: restrict reboot workaround to 0.0 siliconMike Frysinger1-1/+3
The bug in the BF526 rom when doing a software reset exists only in older silicon versions, so don't clear SWRST on newer parts. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2011-07-23Blackfin: bf51x: fix alternative portmux optionsMike Frysinger2-45/+87
The BF51x's alternative portmux Kconfig options were copy & pasted from the BF52x, but never tweaked to reflect it. So drop the old options as they were never used (and were simply wrong), and add the BF51x specific pieces to the Kconfig and header. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2011-07-23Blackfin: bf54x: fix GPIO resume codeMike Frysinger1-2/+2
Back in commit c03c2a87347b849ec927d, we fixed logic in the non-bf54x GPIO resume code to set the data levels properly before the direction to avoid spurious line glitches. But we missed the bf54x code paths. So add the same fix there. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2011-07-23Blackfin: dpmc: optimize SDRAM programming slightlyMike Frysinger1-9/+10
No need to reload these registers constantly since they're always available (we're not making any function calls in between). Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2011-07-23Blackfin: dpmc: don't save/restore scratch registersMike Frysinger1-6/+6
The Blackfin C ABI says we do not need to save/restore R0-R3 and P0-P2 as they are available as scratch registers. So don't bother. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2011-07-23Blackfin: bf538: pull gpio/port logic out of core hibernate pathsMike Frysinger5-36/+65
Re-architect how we save/restore the gpio/port logic that only pertains to bf538/bf539 parts by pulling it out of the core code paths and pushing it out to bf538-specific locations. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2011-07-23Blackfin: dpmc: optimize hibernate/resume pathMike Frysinger2-439/+572
The current save logic used in hibernation is to do a MMR load (base + offset) into a register, and then push that onto the stack. Then when restoring, pop off the stack into a register followed by a MMR store (base + offset). These use plenty of 32bit insns rather than 16bit, are pretty long winded, and full of pipeline bubbles. So, by taking advantage of MMRs that are contiguous, the multi-register push/pop insn, and register abuse, we can shrink this code considerably. When saving, the new logic does a lot of loads into the data and pointer registers before executing a single multi-register push insn. Then when restoring, we do a single multi-register pop insn followed by a lot of stores. Overall, this allows us to cut the insn count by ~30%, the code size by ~45%, and drastically reduce the register hazards that trigger bubbles in the pipeline. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2011-07-23Blackfin: dpmc: do not save/restore EVT0/EVT1/EVT4 when hibernatingMike Frysinger1-6/+0
EVT0 is for emulation, EVT1 is for reset, and EVT4 is the "global int disable" region. None of these are used by software (or even hardware), so don't bother saving/restoring them when we hibernate since nothing ever uses these in Linux (the only thing they would be useful for is core-memory scratch, but that's just crazy talk). Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2011-07-23Blackfin: dpmc: relocate hibernate helper macrosMike Frysinger2-26/+24
This defines only get used in the hibernate code, so remove them from the global dpmc header as no one else cares. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2011-07-23Blackfin: dpmc: omit RETE/RETN when hibernatingMike Frysinger1-4/+0
The RETE/RETN registers are only used in emulation(JTAG) and NMI nodes, or as scratch registers, neither of which need to be saved/restored as this code doesn't execute at those core event levels. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2011-07-23Blackfin: dpmc: optimize SIC_IWR programming a littleMike Frysinger1-9/+6
For parts with more than one SIC_IWR, we can optimize the writing a little bit using better Blackfin insns. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2011-07-23Blackfin: gpio/ints: generalize pint logicMike Frysinger3-12/+19
Have the logic that uses peripheral interrupt blocks key off of pint defines rather than CPU names so that things are generalized across families. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2011-07-23Blackfin: dpmc: bind to MMR names and not CPUsMike Frysinger1-4/+3
Have the code work off of MMR names rather than CPU defines so there is less code to tweak in the future with new parts. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2011-07-23Blackfin: debug-mmrs: generalize pint logicMike Frysinger1-19/+31
Don't bind the code to specific CPU defines. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2011-07-23Blackfin: bf54x: switch to common pint MMR structMike Frysinger1-18/+5
We have a struct in the headers describing the register layout, so drop the local duplicate one. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2011-07-23Blackfin: bf54x: tweak MMR pint namesMike Frysinger2-2/+2
The hardware block uses the name "request" rather than "irq", so update the struct accordingly. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2011-07-23Blackfin: bf54x: constify pint register arrayMike Frysinger1-1/+1
The array of pointers to register blocks never changes, so constify it. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2011-07-23Blackfin: gpio: punt unused GPIO_# definesMike Frysinger2-52/+3
These defines don't accomplish much as GPIO_# is the same thing as #. Each CPU already provides helpful symbolic defines like GPIO_<PIN> which everyone uses, so just punt these # ones. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2011-07-23Blackfin: convert unicode space gremlinsMike Frysinger7-27/+27
Not sure how these guys slipped in, but they're annoying me. So bring these unicode space gremlins down to earth to normal ascii spaces. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2011-07-23Blackfin: pwm: implement linux/pwm.h APIMike Frysinger3-0/+111
For now, this only supports gptimers. Support for dedicated PWM devices as found on newer parts to come. Signed-off-by: Michael Hennerich <michael.hennerich@analog.com> Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2011-07-23Blackfin: gptimers: add enable/disable by timer idMike Frysinger1-0/+10
The API is geared around timer ids, except for the act of enabling and disabling timers. So add a small helper to fill out the gap. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2011-07-23Blackfin: make sure percpu section is aligned in XIP buildsSteven Miao1-0/+1
The alignment is normally handled by PERCPU(), but we need to do it ourselves in the XIP build due to the custom layout. Signed-off-by: Steven Miao <realmz6@gmail.com> Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2011-07-23Blackfin: gptimers: use bfin read/write helpersMike Frysinger1-20/+25
Use proper helper macros for reading/writing the MMRs rather than volatile markings on the struct. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2011-07-23Blackfin: gptimers: use register structs from common headerMike Frysinger1-32/+16
Now that asm/gptimers.h has the hardware register struct layout, there's no need to duplicate things locally. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2011-07-23Blackfin: debug-mmrs: use new gptimer_group layout to simplify codeMike Frysinger1-18/+34
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2011-07-23Blackfin: debug-mmrs: prevent macro arg from expandingMike Frysinger1-1/+1
Passing a non-simple expression in as the addr arg could incorrectly apply the pointer cast resulting in misbehavior. Add proper paren. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2011-07-23Blackfin: gptimers: add group structure for hardware register layoutMike Frysinger1-0/+9
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2011-07-23Blackfin: exec: remove redundant set_fs(USER_DS)Mathias Krause1-1/+0
The address limit is already set in flush_old_exec() so this set_fs(USER_DS) is redundant. Signed-off-by: Mathias Krause <minipli@googlemail.com> Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2011-07-23Blackfin: update anomaly lists to latest public infoMike Frysinger7-211/+290
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2011-07-23Blackfin: bf561-ezkit: change parallel flash from M to Y in defconfigMike Frysinger1-4/+4
These flashes are always on the board, so might as well enable them by default rather than a module. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2011-07-23Blackfin: debug-mmrs: disable PERIPHERAL_MAP for IMDMA channelsMike Frysinger1-1/+2
The documentation for the IMDMA channels appears to be incorrect. These DMA blocks don't actually have PERIPHERAL_MAP MMRs for us to access. Attempts to do so lead to system mmr hardware errors. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2011-07-23Blackfin: debug-mmrs: fix typo in single dmac setupMike Frysinger1-1/+1
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2011-07-23Blackfin: convert to asm-generic/mutex-dec.h for all systemsMike Frysinger1-76/+1
The Blackfin mutex.h is merely a copy of an older asm-generic/mutex-dec.h, so punt it and just use the common one directly. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2011-07-23Blackfin: optimize double fault boot checkingMike Frysinger6-63/+62
This moves the double fault data used at boot time into a single struct which can then easily be addressed with indexed loads rather than having to explicitly load multiple addresses. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2011-07-23Blackfin: time: replace magic numbers with definesMike Frysinger1-2/+2
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2011-07-23Blackfin: SMP: optimize start up code a bitMike Frysinger1-78/+54
This just imports all of the optimization work done in the common startup code. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2011-07-23Blackfin: boards: clean up redundant/dead spi resourcesMike Frysinger26-896/+0
The default for the Blackfin SPI driver is 8 bits and dma disabled, so many of the bfin5xx_spi_chip resources are redundant. So punt those parts. Further, drivers should themselves be declaring 16 bit transfers, so for those that do, and for the ones which no longer do 16 bit transfers, drop the bfin5xx_spi_chip resources. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2011-07-23Blackfin: net2272: move pin setup to boards filesMike Frysinger8-0/+192
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2011-07-23Blackfin: convert to kbuild asm-generic supportMike Frysinger43-47/+43
No need for one line header stubs. Just declare it in Kbuild. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2011-07-22Merge branch 'for-linus' of ↵Linus Torvalds9-82/+46
git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6: (107 commits) vfs: use ERR_CAST for err-ptr tossing in lookup_instantiate_filp isofs: Remove global fs lock jffs2: fix IN_DELETE_SELF on overwriting rename() killing a directory fix IN_DELETE_SELF on overwriting rename() on ramfs et.al. mm/truncate.c: fix build for CONFIG_BLOCK not enabled fs:update the NOTE of the file_operations structure Remove dead code in dget_parent() AFS: Fix silly characters in a comment switch d_add_ci() to d_splice_alias() in "found negative" case as well simplify gfs2_lookup() jfs_lookup(): don't bother with . or .. get rid of useless dget_parent() in btrfs rename() and link() get rid of useless dget_parent() in fs/btrfs/ioctl.c fs: push i_mutex and filemap_write_and_wait down into ->fsync() handlers drivers: fix up various ->llseek() implementations fs: handle SEEK_HOLE/SEEK_DATA properly in all fs's that define their own llseek Ext4: handle SEEK_HOLE/SEEK_DATA generically Btrfs: implement our own ->llseek fs: add SEEK_HOLE and SEEK_DATA flags reiserfs: make reiserfs default to barrier=flush ... Fix up trivial conflicts in fs/xfs/linux-2.6/xfs_super.c due to the new shrinker callout for the inode cache, that clashed with the xfs code to start the periodic workers later.