Commit graph

36,522 commits

Author SHA1 Message Date
Paul Mundt
0bbc9bc318 sh: pci: Set class/sub-class code correctly for SH7780 PCIC.
The SH7780 PCI host controller implements a configuration header that
requires a fair bit of hand-holding to initialize properly. By default
it appears as a pre-2.0 host controller given the zeroed out class code,
so fix this up properly.

Some boards that happened to be using the R7780RP version of the PCIC
fixups had set this correctly, but this belongs in the standard
initialization, and is by no means board specific.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2009-04-17 14:09:09 +09:00
Paul Mundt
7e4ba0d77c sh: pci: Prefer P1SEG over P1SEGADDR for CONFIG_CMD.
P1SEGADDR is obsolete and will be killed off completely in the future,
so transition off of it and reference P1SEG explicitly.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2009-04-17 14:07:57 +09:00
Paul Mundt
b627b4ed3d sh: pci: Move se7780 INTC fixups out of pci-sh7780.c.
These fixups belong in the board INTC setup code, not in the middle of
pci-sh7780.c.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2009-04-17 13:00:18 +09:00
Paul Mundt
84971bb401 sh: pci: Kill off useless debugging printk() in pci-sh7780 init.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2009-04-17 12:44:25 +09:00
Hirokazu Takata
78a4999026 m32r: move include/asm-m32r/* to arch/m32r/include/asm/
Move remained files, ftrace.h and swab.h, to arch/m32r/include/asm/.

Signed-off-by: Hirokazu Takata <takata@linux-m32r.org>
2009-04-17 10:50:23 +09:00
Yinghai Lu
ca713c2ab0 x86/irq: mark NUMA_MIGRATE_IRQ_DESC broken
It causes crash on system with lots of cards with MSI-X
when irq_balancer enabled...

The patches fixing it were both complex and fragile, according
to Eric they were also doing quite dangerous things to the
hardware.

Instead we now have patches that solve this problem via static
NUMA node mappings - not dynamic allocation and balancing.

The patches are much simpler than this method but are still too
large outside of the merge window, so we mark the dynamic balancer
as broken for now, and queue up the new approach for v2.6.31.

[ Impact: deactivate broken kernel feature ]

Reported-by: Suresh Siddha <suresh.b.siddha@intel.com>
Signed-off-by: Yinghai Lu <yinghai@kernel.org>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: "Eric W. Biederman" <ebiederm@xmission.com>
Cc: Rusty Russell <rusty@rustcorp.com.au>
LKML-Reference: <49E68C41.4020801@kernel.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
2009-04-17 03:20:01 +02:00
Hirokazu Takata
fe4e719d82 m32r: move include/asm-m32r headers to arch/m32r/include/asm
Signed-off-by: Hirokazu Takata <takata@linux-m32r.org>
2009-04-17 10:05:01 +09:00
Linus Torvalds
20d9207849 Merge branch 'x86/uv' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
* 'x86/uv' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
  x86: UV BAU distribution and payload MMRs
  x86: UV: BAU partition-relative distribution map
  x86, uv: add Kconfig dependency on NUMA for UV systems
  x86: prevent /sys/firmware/sgi_uv from being created on non-uv systems
  x86, UV: Fix for nodes with memory and no cpus
  x86, UV: system table in bios accessed after unmap
  x86: UV BAU messaging timeouts
  x86: UV BAU and nodes with no memory
2009-04-16 16:43:20 -07:00
Dmitry Adamushko
0917798d82 x86: fix microcode driver newly spewing warnings
Jeff Garzik reported this WARN_ON() noise:

> Kernel: 2.6.30-rc1-00306-g8371f87
> Hardware: ICH10 x86-64
>
> This is a regression from 2.6.29.  Microcode spews the following WARNING
> multiple times during boot:
>
> ------------[ cut here ]------------
> WARNING: at fs/sysfs/group.c:138 sysfs_remove_group+0xeb/0xf0()
> Hardware name:         sysfs group ffffffffa0209700 not found for
>  kobject 'cpu0'

Keep sysfs files around for cpus even when we failed to locate
microcode for them at the moment of module loading. The appropriate
microcode firmware can become available later on.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
2009-04-17 01:11:20 +02:00
Pallipadi, Venkatesh
4b06504627 x86, PAT: Remove page granularity tracking for vm_insert_pfn maps
This change resolves the problem of too many single page entries
in pat_memtype_list and "freeing invalid memtype" errors with i915,
reported here:

  http://marc.info/?l=linux-kernel&m=123845244713183&w=2

Remove page level granularity track and untrack of vm_insert_pfn.
memtype tracking at page granularity does not scale and cleaner
approach would be for the driver to request a type for a bigger
IO address range or PCI io memory range for that device, either at
mmap time or driver init time and just use that type during
vm_insert_pfn.

This patch just removes the track/untrack of vm_insert_pfn. That
means we will be in same state as 2.6.28, with respect to these APIs.

Newer APIs for the drivers to request a memtype for a bigger region
is coming soon.

[ Impact: fix Xorg startup warnings and hangs ]

Reported-by: Arkadiusz Miskiewicz <a.miskiewicz@gmail.com>
Tested-by: Arkadiusz Miskiewicz <a.miskiewicz@gmail.com>
Signed-off-by: Venkatesh Pallipadi <venkatesh.pallipadi@intel.com>
Signed-off-by: Suresh Siddha <suresh.b.siddha@intel.com>
Cc: Jesse Barnes <jbarnes@virtuousgeek.org>
LKML-Reference: <20090408223716.GC3493@linux-os.sc.intel.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
2009-04-17 00:44:22 +02:00
Grant Likely
bda9de2c4f powerpc/5200: Add FLASH nodes to lite5200 device tree
Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
2009-04-16 15:11:54 -06:00
Linus Walleij
77f4025b5e [ARM] 5455/1: Fix IRQ noise from VIC code
The VIC code will attempt to perform som
default set_irq_chip() and set_irq_chip_data()
on all IRQs supported by the VIC, while the new
IRQ handling code strictly checks for the global
NR_IRQS to be respected also for these IRQs.

This patch will respect the interrupt mask passed
to the VIC driver and will prevent it from
attempting to call these functions on any unused
interrupts.

Signed-off-by: Linus Walleij <linus.walleij@stericsson.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2009-04-16 21:29:46 +01:00
Dimitri Sivanich
edb91dc01a [IA64] smp_flush_tlb_mm() should only send IPI's to cpus in cpu_vm_mask
Having flush_tlb_mm->smp_flush_tlb_mm() send an IPI to every cpu
on the system is occasionally triggering spin_lock contention in
generic_smp_call_function_interrupt().

Follow x86 arch's lead and only sends IPIs to the cpus in mm->cpu_vm_mask.

Experiments with this change have shown significant improvement in this
contention issue.

Signed-off-by: Dimitri Sivanich <sivanich@sgi.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
2009-04-16 11:51:35 -07:00
Marcelo Tosatti
c4cb768f02 [IA64] export smp_send_reschedule
KVM will use smp_send_reschedule to force a cpu out of guest mode.

Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
2009-04-16 11:48:49 -07:00
Cliff Wickman
4ea3c51d5b x86: UV BAU distribution and payload MMRs
This patch correctly sets BAU memory mapped registers to point
to the sending activation descriptor table and target payload table.

The "Broadcast Assist Unit" is used for TLB shootdown in UV.

The memory mapped registers that point to sending and receiving
memory structures contain node numbers.

In one case the __pa() function did not provide the node id of
memory on blade zero in configurations where that id is nonzero.
In another case, it was assumed that memory was allocated on
the local node.  That assumption is not true in a configuration
in which the node has no memory.

Tested on the UV hardware simulator.

[ Impact: fix possible runtime crash due to incorrect TLB logic ]

Signed-off-by: Cliff Wickman <cpw@sgi.com>
LKML-Reference: <E1LuR5Z-0007An-B8@eag09.americas.sgi.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
2009-04-16 19:44:16 +02:00
Sam Ravnborg
d1f0ae5e2e x86: standardize Kbuild rules
Introducing this Kbuild file allow us to:

    make arch/x86/

And thus building all the core part of x86.

Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Cc: Jaswinder Singh Rajput <jaswinder@kernel.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
2009-04-16 18:09:02 +02:00
Russell King
32dc496b47 Merge branch 'for-rmk' of git://git.pengutronix.de/git/imx/linux-2.6 2009-04-16 16:16:34 +01:00
Linus Torvalds
3307f19f63 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6:
  sparc: remove some pointless conditionals before kfree()
  sbus: changed ioctls to unlocked
  sparc: asm/atomic.h on 32bit should include asm/system.h for xchg
  sparc64: Fix smp_callin() locking.
2009-04-16 07:40:48 -07:00
Sascha Hauer
c5ab660db9 mxc defconfig updates
This patch removes several i.MX board specific defconfig files in favour
for a mx1_defconfig, mx27_defconfig and mx3_defconfig. All config files
have all currently available boards, i.MX specific drivers and the network
device drivers for the boards enabled.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-04-16 13:03:57 +02:00
Mark Brown
0ac402fdaa mx31ads: Mark as having full regulatoion constraints with 1133-EV1 board
This allows the regulator API to power off unused regulators at the end
of init.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-04-16 13:03:56 +02:00
Mark Brown
132d3f950e mx31ads: Depend on all the WM8350 core dependencies for WM1133-EV1 board
Otherwise we'd need massive ifdefs in the code.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-04-16 13:03:56 +02:00
Darius Augulis
3f2030163e Fix ifdef in plat-mxc/irc.c
Move ifdef under function brackets. This fixes compile crach when IRQ priorities
are disabled.

Signed-off-by: Darius Augulis <augulis.darius@gmail.com>
2009-04-16 13:03:11 +02:00
Darius Augulis
3fa6dd6a7a MX1ADS: remove I2C ifdefs
Signed-off-by: Darius Augulis <augulis.darius@gmail.com>
2009-04-16 12:57:15 +02:00
Ilya Yanok
248ca85f01 qong: remove AIPS[12] mappings from machine-specific iotable
AIPS[12] are no mapped from generic MX3 code so we don't need to
map them from machine-specific map_io function anymore.

Signed-off-by: Ilya Yanok <yanok@emcraft.com>
2009-04-16 12:57:15 +02:00
Mark Brown
9070e7afb8 mx31ads: imoux pins should be passed in as unsigned int
To match the mxc_iomux_setup_multiple_pins() prototype.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-04-16 12:57:15 +02:00
Paulius Zaleckas
470f9b602e MXC: remove orphan imx_init_uart() definition
Signed-off-by: Paulius Zaleckas <paulius.zaleckas@teltonika.lt>
Cc: Sascha Hauer <s.hauer@pengutronix.de>
2009-04-16 12:57:14 +02:00
Valentin Longchamp
d5f281043a mx31: pin definition for csi
Signed-off-by: Valentin Longchamp <valentin.longchamp@epfl.ch>
2009-04-16 12:57:14 +02:00
Valentin Longchamp
c44af41ad5 MX31: pin definition for sdhc2
This also adds the pins used on mx31moboard for WP and CD

Signed-off-by: Valentin Longchamp <valentin.longchamp@epfl.ch>
2009-04-16 12:57:14 +02:00
Vladimir Barinov
c5c96f4dce MX31: Add I2C pin definitions
Add I2C pin definitions for MX31 SoC

Signed-off-by: Vladimir Barinov <vbarinov@embeddedalley.com>
2009-04-16 12:57:13 +02:00
Sascha Hauer
4bd962987d MX31: Add more alternate pin definitions
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-04-16 12:57:13 +02:00
Sascha Hauer
f8e5143be7 pcm037 board support: Fix eth interrupt gpio setting
gpio_direction_input needs the gpio number, not the pin description.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2009-04-16 12:57:13 +02:00
Holger Schurig
1b3c9bf2cd imx21: activate i2c
Set the correct clkdev-name for the i2c clock.

It also get's rid of the ARCH_NR_GPIOS define on the rationale
that isn't an ARCH-wide setting anyway. If a device has two
pca953x devices, the reserved number will be wrong.

Signed-off-by: Holger Schurig <hs4233@mail.mn-solutions.de>
2009-04-16 12:57:13 +02:00
Holger Schurig
289a689b10 imx21: fixes some clocknames
Signed-off-by: <hs4233@mail.mn-solutions.de>
2009-04-16 12:57:12 +02:00
Ben Dooks
db75639406 [ARM] S3C: Export s3c_gpio_cfgpin and s3c_gpio_setpull for modules
Add an export of the two GPIO configuration calls
s3c_gpio_cfgpin and s3c_gpio_setpull to allow modules
to use them (such as ASoC drivers)

Signed-off-by: Ben Dooks <ben@simtec.co.uk>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-04-16 11:52:02 +01:00
Ben Dooks
ea5a6fd810 [ARM] s3c2410_defconfig: Update miscellaneous drivers
Update the driver build in the s3c2410_defconfig for the
LED, IDE, Input and EEPROM options

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-04-16 10:34:24 +01:00
Ben Dooks
f8832a988c [ARM] s3c2410_defconfig: Update USB device drivers
Add more USB device driver options to the s3c2410_defconfig,
mostly as modules.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-04-16 10:34:23 +01:00
Ben Dooks
89d44a0f00 [ARM] s3c2410_defconfig: Update filesystem options
Update the filesystem options in the s3c2410_defconfig,
such as building ext4, enable the automounter as modules
and update the network filesysyem choices.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-04-16 10:34:23 +01:00
Ben Dooks
f04121e457 [ARM] s3c2410_defconfig: Add video/radio drivers
Add a set of various video and radio drivers to the
s3c2410_defconfig as modules.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-04-16 10:34:22 +01:00
Ben Dooks
68c468c9d0 [ARM] s3c2410_defconfig: Add sound drivers
Add sound drivers to the s3c2410_defconfig.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-04-16 10:34:21 +01:00
eric miao
cbb55092a6 [ARM] 5453/1: fix building breakage of sys_oabi-compat.c due to missing kmalloc/kfree
It seems that declarations of kmalloc/kfree are missed, explicitly
include it.

Signed-off-by: Eric Miao <eric.miao@marvell.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2009-04-16 10:07:45 +01:00
Paul Mundt
0232ba9ce0 sh: pci: Kill off unused SH4_PCIC_NO_RESET code.
Nothing ended up using this anymore, so just kill it off.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2009-04-16 18:01:31 +09:00
Paul Mundt
f1a9ba8f15 sh: pci: drop duplicate PCIC fixups for SE7780 and SH7785LCR.
SE7780 has the same PCIC fixup as SDK7780, and SH7785LCR the same
as R7780RP. Switch to using those, and drop the duplicate code.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2009-04-16 16:00:15 +09:00
Paul Mundt
3aabce8d3d sh: sh7785lcr: Update for recent PCI changes.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2009-04-16 16:00:15 +09:00
Paul Mundt
10591578c8 sh: drop duplicate symbol export on dreamcast and sh7785lcr.
With board_pci_channels now being exported in a single place, update the
boards that duplicated the export.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2009-04-16 16:00:15 +09:00
Magnus Damm
aa5d3ff99c sh: export board_pci_channels in one place
Instead of sometimes exporting board_pci_channels[] in the board specific
code just export it in one place.

Signed-off-by: Magnus Damm <damm@igel.co.jp>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2009-04-16 16:00:14 +09:00
Magnus Damm
8ce0143b11 sh: pci io port base address code
Adds a __get_pci_io_base() function which is used to match a port range
against struct pci_channel. This allows us to detect if a port range is
assigned to pci or happens to be legacy port io. While at it, remove unused
cpu-specific cruft.

Signed-off-by: Magnus Damm <damm@igel.co.jp>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2009-04-16 16:00:14 +09:00
Magnus Damm
ef339f241b sh: pci memory range checking code
This patch changes the code to use __is_pci_memory() instead of
is_pci_memaddr(). __is_pci_memory() loops through all the pci
channels on the system to match memory windows.

Signed-off-by: Magnus Damm <damm@igel.co.jp>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2009-04-16 16:00:14 +09:00
Magnus Damm
ef53fdeb7e sh: add io_base member to pci_channel
Store the io window base address in struct pci_channel and use that one
instead of SH77xx_PCI_IO_BASE.

Signed-off-by: Magnus Damm <damm@igel.co.jp>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2009-04-16 16:00:13 +09:00
Magnus Damm
e4c6a3604e sh: add reg_base member to pci_channel
Store the base address of the pci host controller registers in struct
pci_channel and use the address in pci_read_reg() and pci_write_reg().

Signed-off-by: Magnus Damm <damm@igel.co.jp>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2009-04-16 16:00:13 +09:00
Magnus Damm
b6706ef10f sh: hook in struct pci_channel in sysdata
Store a struct pci_channel pointer in bus->sysdata. This makes whatever
struct pci_channel assigned to a bus available for sh4_pci_read() and
sh4_pci_write(). We also modify PCIBIOS_MIN_IO and PCIBIOS_MIN_MEM to
use bus->sysdata - this to gives us support for multiple pci channels.

Signed-off-by: Magnus Damm <damm@igel.co.jp>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2009-04-16 16:00:13 +09:00