]> pilppa.com Git - linux-2.6-omap-h63xx.git/log
linux-2.6-omap-h63xx.git
16 years agoARM: OMAP2: Fix SPI driver failure on 2420 when running multi-omap config
Jarkko Nikula [Thu, 21 Aug 2008 08:20:09 +0000 (11:20 +0300)]
ARM: OMAP2: Fix SPI driver failure on 2420 when running multi-omap config

SPI driver will do unhandled fault on OMAP2420 if trying to probe
non-existing SPI busses. Register those additional busses runtime only
for cpus having them.

Signed-off-by: Jarkko Nikula <jarkko.nikula@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agoOMAP2EVM: Updates defconfig
Arun KS [Sat, 23 Aug 2008 09:19:37 +0000 (14:49 +0530)]
OMAP2EVM: Updates defconfig

This patch enables nand, jffs2 and twl4030 keypad support in defconfig

Signed-off-by: Arun KS <arunks@mistralsolutions.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agoOMAP2EVM : Add nand support
Arun KS [Sat, 23 Aug 2008 09:18:10 +0000 (14:48 +0530)]
OMAP2EVM : Add nand support

This patch adds nand support to omap2evm board

Signed-off-by: Arun KS <arunks@mistralsolutions.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agoARM: OMAP: Enable 34xx autoidle for clocks and plls
ext Jouni Hogander [Sat, 23 Aug 2008 23:12:42 +0000 (16:12 -0700)]
ARM: OMAP: Enable 34xx autoidle for clocks and plls

Enable autoidle for interface clocks and plls. Also automatic
control of external oscillator through sys_clkreq is enabled.

In the long term, proper solution is to generalize
omap3_dpll_allow_idle, omap3_dpll_deny_idle,
omap3_dpll_autoidle_read and call it for each clock on init.

Signed-off-by: Jouni Hogander <jouni.hogander@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agoARM: OMAP: 34xx specific check wether any fck is active before entering sleep
Jouni Hogander [Sat, 23 Aug 2008 23:11:49 +0000 (16:11 -0700)]
ARM: OMAP: 34xx specific check wether any fck is active before entering sleep

We cannot enter sleep_while_idle if some functional clocks are
active. Add a check for enabled functional clocks for 34xx.

Note that this workaround could be behind CONFIG_PM_DEBUG
option when all drivers are configuring their sysconfig
registers properly and using their clocks properly.

Signed-off-by: Jouni Hogander <jouni.hogander@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agoMisc fixes to sync with mainline
Tony Lindgren [Sat, 23 Aug 2008 22:47:58 +0000 (15:47 -0700)]
Misc fixes to sync with mainline

Based on comments from Russell King.

Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agoARM: OMAP: Combine sleep242x.S and sleep243x.S and fix error for SDR
Tony Lindgren [Sat, 23 Aug 2008 22:17:21 +0000 (15:17 -0700)]
ARM: OMAP: Combine sleep242x.S and sleep243x.S and fix error for SDR

We can pass the addresses for SDRC_DDLA_CTRL and SDRC_POWER to the
omap24xx_cpu_suspend instead of loading the values since the only
difference between 242x and 243x is the address of these registers.

Also call omap2_sram_suspend with the value of SDRC_DLLA_CTRL instead
of the address as that's what omap24xx_cpu_suspend expects to
determine between DDR and SDR.

Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agosdrc register defs
Rajendra Nayak [Wed, 6 Aug 2008 13:14:32 +0000 (18:44 +0530)]
sdrc register defs

This patch adds some missing sdrc register definitions

Signed-off-by: Rajendra Nayak <rnayak@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agoFix compile-time warning
Sanjeev Premi [Tue, 19 Aug 2008 18:30:01 +0000 (00:00 +0530)]
Fix compile-time warning

Fixes this warning:
  CC      arch/arm/mach-omap2/board-omap3evm-flash.o
arch/arm/mach-omap2/board-omap3evm-flash.c:61: warning: initialization from incompatible pointer type

Signed-off-by: Sanjeev Premi <premi@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agoTWL4030-RTC: Remove obsolete comment
Jagadeesh Bhaskar Pakaravoor [Tue, 19 Aug 2008 14:20:26 +0000 (19:50 +0530)]
TWL4030-RTC: Remove obsolete comment

TWL4030-RTC: Remove obsolete comment.

Signed-off-by: Jagadeesh Bhaskar Pakaravoor <j-pakaravoor@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agoOMAP2EVM TWL4030 keypad update
Arun KS [Tue, 19 Aug 2008 09:00:54 +0000 (14:30 +0530)]
OMAP2EVM TWL4030 keypad update

Now we are passing irq number via platform_data

Signed-off-by: Arun KS <arunks@mistralsolutions.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agoOMAP: DISPC: Enable dispc wake up capability
Jouni Hogander [Fri, 15 Aug 2008 09:31:24 +0000 (12:31 +0300)]
OMAP: DISPC: Enable dispc wake up capability

Without wakeup enable omap doesn't wake up on dispc interrupts. This
causes problems in a case where mpu is in sleep state and dispc
interrupt fires.

Signed-off-by: Jouni Hogander <jouni.hogander@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agoOMAP: DISPC: Fix to disable also interface clocks.
Jouni Hogander [Fri, 15 Aug 2008 08:56:03 +0000 (11:56 +0300)]
OMAP: DISPC: Fix to disable also interface clocks.

Leaving interface clocks enabled causes dss pwrdm to stay in active
state when mpu is in active state. This fix puts dss to sleep state
when it is not needed.

Earlier version broke framebuffer on 24xx. This is fixed by enabling
clocks before trying to access DISPC_IRQSTATUS register.

Signed-off-by: Jouni Hogander <jouni.hogander@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agotwl3040-gpio: fix task softlockup warning
Artem Bityutskiy [Mon, 18 Aug 2008 15:54:57 +0000 (18:54 +0300)]
twl3040-gpio: fix task softlockup warning

This patch fixes the following annoying warning:

INFO: task twl4030 gpio:283 blocked for more than 120 seconds.
"echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
twl4030 gpio  D c027e9dc     0   283      2
[<c027e744>] (schedule+0x0/0x314) from [<c00640f0>] (kthread+0x3c/0x80)
[<c00640b4>] (kthread+0x0/0x80) from [<c0052678>] (do_exit+0x0/0x664)
 r5:00000000 r4:00000000

Which is printed every 120 seconds by the softlockup code (see
'check_hung_task()' function, introduced by on Jan 2008 by commit
82a1fcb90287052aabfa235e7ffc693ea003fe69).

The reason is that the "twl4030 gpio" kthread is created but is not started
immediatelly. And in fact it may never start, because TWL3040 interrupts
may never happen and hence, the 'twl4030_gpio_unmask_irqchip()' function
is never run. This makes the softlockup detection code unhappy.

Fix this by running the "twl4030 gpio" kernel thread in at the end of the
'gpio_twl4030_init()' initialization function. Since the 'gpio_pending_unmask'
global variable is 0 at that time, the tread ('twl4030_gpio_unmask_thread()')
will effectively do nothing and go sleep. This makes the softlocup detection
code happy.

Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agoARCH: OMAP: MUSB: Do not block sleep
Felipe Balbi [Fri, 15 Aug 2008 07:49:41 +0000 (10:49 +0300)]
ARCH: OMAP: MUSB: Do not block sleep

arch: omap: usb: do not block sleep

musb_set_clock should not block sleep on omap3-based
boards, it prevents system from sleeping.

Thanks to Jouni Högander for pointing this out

Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agoinput: keypad: General fixes to omap-twl4030keypad.c
Felipe Balbi [Thu, 14 Aug 2008 14:06:00 +0000 (17:06 +0300)]
input: keypad: General fixes to omap-twl4030keypad.c

The following patch fixes some problems in T2 keypad
driver.

Basically we're passing irq number via platform_data,
moving globals to a structure and fixing a problem
while iterating over the keymap.

It might be that we still have a few locking issues
that might be solved on a later version of this same
patch.

Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agoOneNAND OMAP3: add delay for GPIO
Adrian Hunter [Thu, 14 Aug 2008 11:00:12 +0000 (14:00 +0300)]
OneNAND OMAP3: add delay for GPIO

On OMAP3, the driver was occasionally not seeing the GPIO
interrupt.  Adding a small delay of one register read
eliminates the problem.

Signed-off-by: Adrian Hunter <ext-adrian.hunter@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agoARM: OMAP: DMA: Fix uninitialized channel flags
Jarkko Nikula [Mon, 18 Aug 2008 09:28:22 +0000 (12:28 +0300)]
ARM: OMAP: DMA: Fix uninitialized channel flags

This has similar symptoms than 66c23551b1b774e2be3c7bdf91c0ebf2c7a3519e
where just omap_request_dma, omap_dma_link_lch and omap_dma_unlink_lch
can cause incorrect dump_stack(). Here it can happen if channel has been
used before and the channel flags variable holds old status.

Signed-off-by: Jarkko Nikula <jarkko.nikula@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agoRevert "input: add more error checks to lm8323 driver"
Tony Lindgren [Thu, 14 Aug 2008 14:36:47 +0000 (17:36 +0300)]
Revert "input: add more error checks to lm8323 driver"

This reverts commit c0c5beb86fe59cafd2c61a0797f94980056e33c0.

This patch breaks n810 keyboard.

Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agoUpdates to omap3_evm_defconfig.
Sanjeev Premi [Wed, 13 Aug 2008 16:52:13 +0000 (22:22 +0530)]
Updates to omap3_evm_defconfig.

This patch updates the defconfig to 2.6.27-rc2 tag.
The updates are based on omap_3430sdp_defconfig.

Fixes the build issue reported earlier:

      LD      init/built-in.o
      LD      .tmp_vmlinux1
    arm-none-linux-gnueabi-ld: no machine record defined
    arm-none-linux-gnueabi-ld: no machine record defined
    make: *** [.tmp_vmlinux1] Error 1

Signed-off-by: Sanjeev Premi <premi@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agousb: musb: pass configuration specifics via pdata
Felipe Balbi [Thu, 14 Aug 2008 11:41:26 +0000 (14:41 +0300)]
usb: musb: pass configuration specifics via pdata

Use platform_data to pass musb configuration-specific
details to musb driver.

This patch will prevent that other platforms selecting
HAVE_CLK and enabling musb won't break tree building.

The other parts of it will come when linux-omap merge
up more omap2/3 board-files.

Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com>
Acked-by: Paul Mundt <lethal@linux-sh.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agoinput: add more error checks to lm8323 driver
Felipe Balbi [Wed, 13 Aug 2008 17:36:17 +0000 (20:36 +0300)]
input: add more error checks to lm8323 driver

If we can't reach the driver, we stop trying to probe
it. Useful when building kernel for n800 and n810.

n800 doesn't have lm8323, so that driver shouldn't probe
there.

Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agoBT: Fix compile for hci_h4p
Tony Lindgren [Thu, 14 Aug 2008 10:03:26 +0000 (13:03 +0300)]
BT: Fix compile for hci_h4p

Fix compile for hci_h4p

Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agoMerge current mainline tree into linux-omap tree
Tony Lindgren [Thu, 14 Aug 2008 09:57:16 +0000 (12:57 +0300)]
Merge current mainline tree into linux-omap tree

Merge branches 'master' and 'linus'

Conflicts:

arch/arm/Makefile
arch/arm/mach-omap1/board-h2.c
arch/arm/mach-omap1/board-h3.c
arch/arm/mach-omap1/board-nokia770.c
arch/arm/mach-omap1/board-palmte.c
arch/arm/mach-omap1/board-sx1.c
arch/arm/mach-omap2/board-2430sdp.c
arch/arm/mach-omap2/board-apollon.c
arch/arm/mach-omap2/board-h4.c
arch/arm/mach-omap2/clock.c
arch/arm/mach-omap2/clock24xx.c
arch/arm/mach-omap2/devices.c
arch/arm/mach-omap2/id.c
arch/arm/mach-omap2/io.c
arch/arm/mach-omap2/memory.c
arch/arm/mach-omap2/pm.c
arch/arm/mach-omap2/sleep.S
arch/arm/plat-omap/devices.c
drivers/i2c/chips/menelaus.c
drivers/input/keyboard/omap-keypad.c
drivers/watchdog/omap_wdt.c
include/asm-arm/arch-omap/board-2430sdp.h
include/asm-arm/arch-omap/board-apollon.h
include/asm-arm/arch-omap/board-h4.h
include/asm-arm/arch-omap/board-nokia.h
include/asm-arm/arch-omap/board.h
include/asm-arm/arch-omap/clock.h
include/asm-arm/arch-omap/common.h
include/asm-arm/arch-omap/control.h
include/asm-arm/arch-omap/cpu.h
include/asm-arm/arch-omap/debug-macro.S
include/asm-arm/arch-omap/dsp_common.h
include/asm-arm/arch-omap/entry-macro.S
include/asm-arm/arch-omap/gpio-switch.h
include/asm-arm/arch-omap/gpio.h
include/asm-arm/arch-omap/gpmc.h
include/asm-arm/arch-omap/hardware.h
include/asm-arm/arch-omap/io.h
include/asm-arm/arch-omap/irqs.h
include/asm-arm/arch-omap/mailbox.h
include/asm-arm/arch-omap/mcbsp.h
include/asm-arm/arch-omap/memory.h
include/asm-arm/arch-omap/mmc.h
include/asm-arm/arch-omap/mux.h
include/asm-arm/arch-omap/omap-alsa.h
include/asm-arm/arch-omap/omap1510.h
include/asm-arm/arch-omap/omap16xx.h
include/asm-arm/arch-omap/omap24xx.h
include/asm-arm/arch-omap/omap34xx.h
include/asm-arm/arch-omap/omapfb.h
include/asm-arm/arch-omap/onenand.h
include/asm-arm/arch-omap/pm.h
include/asm-arm/arch-omap/prcm.h
include/asm-arm/arch-omap/sdrc.h
include/asm-arm/arch-omap/serial.h
include/asm-arm/arch-omap/sram.h
include/asm-arm/arch-omap/system.h
include/asm-arm/arch-omap/timex.h
include/asm-arm/arch-omap/usb.h
include/asm-arm/arch-omap/vmalloc.h

16 years agoOMAP2EVM: twl4030 keypad Kconfig dependency fix
arun c [Tue, 12 Aug 2008 09:00:28 +0000 (14:30 +0530)]
OMAP2EVM: twl4030 keypad Kconfig dependency fix

OMAP2EVM keypad is controlled by twl4030

Signed-off-by: Arun C <arunedarath@mistralsolutions.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agoOMAP2EVM: Add keypad support
arun c [Tue, 12 Aug 2008 08:58:49 +0000 (14:28 +0530)]
OMAP2EVM: Add keypad support

TWL4030 keypad controller driver support for OMAP2EVM

Signed-off-by: Arun C <arunedarath@mistralsolutions.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agoOMAP5912: Fix omap5912 osk alsa driver [2/2]
Hunter, Jon [Wed, 13 Aug 2008 03:07:31 +0000 (22:07 -0500)]
OMAP5912: Fix omap5912 osk alsa driver [2/2]

Corrected header file path in file sound/arm/omap/omap-alsa-dma.c.

Signed-off-by: Jon Hunter <jon-hunter@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agoBeagleBoard: make Beagle use GPTIMER12 for system ticks
Paul Walmsley [Mon, 11 Aug 2008 23:34:50 +0000 (17:34 -0600)]
BeagleBoard: make Beagle use GPTIMER12 for system ticks

There is suspicion that the 32kHz input clock to the OMAP may be noisy
on BeagleBoards.  On OMAP2/3 GPTIMER1, this can cause the timer
counter register to warp to unknown values or miss interrupt
conditions.  So, use GPTIMER12 instead, which apparently has its own
secure 32kHz oscillator and will hopefully not be prone to the
suspected sys_32k glitches.

This is only a workaround.  If sys_32k is noisy, other system peripherals
may be affected.

This workaround is a collective product of several people, most notably
Philip Balister <philip@balister.org>, Dirk Behme <dirk.behme@googlemail.com>,
Koen Kooi <k.kooi@student.utwente.nl>, Tony Lindgren <tony@atomide.com>,
Steve Sakoman <sakoman@gmail.com>, Khasim Syed Mohammed <khasim@ti.com>
Richard Woodruff <r-woodruff2@ti.com>, Kevin Hilman <khilman@deeprootsystems.com>.
I apologize if there is anyone whom I've missed.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Khasim Syed Mohammed <khasim@ti.com>
Cc: Koen Kooi <k.kooi@student.utwente.nl>
Cc: Steve Sakoman <sakoman@gmail.com>
Cc: Richard Woodruff <r-woodruff2@ti.com>
Cc: Tony Lindgren <tony@atomide.com>
Cc: Philip Balister <philip@balister.org>
Cc: Dirk Behme <dirk.behme@googlemail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agoOMAP2/3 GPTIMER: allow system tick GPTIMER to be configurable at build
Paul Walmsley [Mon, 11 Aug 2008 23:34:23 +0000 (17:34 -0600)]
OMAP2/3 GPTIMER: allow system tick GPTIMER to be configurable at build

Add Kbuild code to allow the builder to select which GPTIMER block to use
for the Linux clockevents timer.  Practical choices at this point are
GPTIMER1 or GPTIMER12.  Both of these timers are in the WKUP powerdomain,
and so are unaffected by chip power management.  GPTIMER1 can use sys_clk
as a source, for applications where a high-resolution timer is more important
than power management.  GPTIMER12 has the special property that it has
the secure 32kHz oscillator as its source clock, which may be less prone
to glitches than the off-chip 32kHz oscillator.  But on HS devices, it may
not be available for Linux use.

At this point, it appears that most boards are fine with GPTIMER1, but
Beagle should use GPTIMER12.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agoOMAP2/3 clockdomains: autodeps should respect platform flags
Paul Walmsley [Tue, 12 Aug 2008 21:31:45 +0000 (15:31 -0600)]
OMAP2/3 clockdomains: autodeps should respect platform flags

Fix the clockdomain autodep code to respect omap_chip platform flags.

Resolves "Unable to handle kernel paging request at virtual address
5f75706d" panic during power management initialization on OMAP2.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agoOMAP2 clock: associate clocks with clockdomains at startup
Paul Walmsley [Tue, 12 Aug 2008 21:31:44 +0000 (15:31 -0600)]
OMAP2 clock: associate clocks with clockdomains at startup

The OMAP2 clock code was missing code to associate clocks with clockdomains
at registration time; fix this.

Resolves "Unhandled fault: alignment exception (0x001) at 0xc02c1b4e" (address
may vary) panic during clock framework init on OMAP2.  The alignment error
was caused by an attempt to dereference a pointer to a string (1-byte aligned)
as if it were a pointer to a structure.

Thanks to Felipe Balbi <felipe.balbi@nokia.com> for originally reporting this
bug.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agoLinux 2.6.27-rc3 v2.6.27-rc3
Linus Torvalds [Wed, 13 Aug 2008 01:55:39 +0000 (18:55 -0700)]
Linux 2.6.27-rc3

16 years agoMerge branch 'for-2.6.27' of git://linux-nfs.org/~bfields/linux
Linus Torvalds [Tue, 12 Aug 2008 23:39:22 +0000 (16:39 -0700)]
Merge branch 'for-2.6.27' of git://linux-nfs.org/~bfields/linux

* 'for-2.6.27' of git://linux-nfs.org/~bfields/linux:
  fs/nfsd/export.c: Adjust error handling code involving auth_domain_put
  MAINTAINERS: mention lockd and sunrpc in nfs entries
  lockd: trivial sparse endian annotations

16 years agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland...
Linus Torvalds [Tue, 12 Aug 2008 23:38:45 +0000 (16:38 -0700)]
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband:
  IB/ehca: Discard double CQE for one WR
  IB/ehca: Check idr_find() return value
  IB/ehca: Repoll CQ on invalid opcode
  IB/ehca: Rename goto label in ehca_poll_cq_one()
  IB/ehca: Update qp_state on cached modify_qp()
  IPoIB/cm: Use vmalloc() to allocate rx_rings

16 years agoMerge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6
Linus Torvalds [Tue, 12 Aug 2008 23:07:48 +0000 (16:07 -0700)]
Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6

* 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6:
  [IA64] use bcd2bin/bin2bcd
  [IA64] Ensure cpu0 can access per-cpu variables in early boot code

16 years agofirmware/memmap: cleanup
Bernhard Walle [Tue, 12 Aug 2008 22:09:14 +0000 (15:09 -0700)]
firmware/memmap: cleanup

Various cleanup the drivers/firmware/memmap (after review by AKPM):

    - fix kdoc to conform to the standard
    - move kdoc from header to implementation files
    - remove superfluous WARN_ON() after kmalloc()
    - WARN_ON(x); if (!x) -> if(!WARN_ON(x))
    - improve some comments

Signed-off-by: Bernhard Walle <bwalle@suse.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agoALi M7101 PMU also available on Sun Netra's too
Alexander Clouter [Tue, 12 Aug 2008 22:09:12 +0000 (15:09 -0700)]
ALi M7101 PMU also available on Sun Netra's too

My Sun Netra T1 AC200 has one of these... bit harsh not letting me use it
and all :)

==========
alex@woodchuck:~$ lspci -nn
00:01.0 PCI bridge [0604]: Sun Microsystems Computer Corp. Simba Advanced PCI Bridge [108e:5000] (rev 13)
00:01.1 PCI bridge [0604]: Sun Microsystems Computer Corp. Simba Advanced PCI Bridge [108e:5000] (rev 13)
01:03.0 Non-VGA unclassified device [0000]: ALi Corporation M7101 Power Management Controller [PMU] [10b9:7101]
01:05.1 Ethernet controller [0200]: Sun Microsystems Computer Corp. RIO GEM [108e:1101] (rev 01)
01:05.3 USB Controller [0c03]: Sun Microsystems Computer Corp. RIO USB [108e:1103] (rev 01)
01:07.0 ISA bridge [0601]: ALi Corporation M1533/M1535 PCI to ISA Bridge [Aladdin IV/V/V+] [10b9:1533]
01:0c.0 Bridge [0680]: Sun Microsystems Computer Corp. RIO EBUS [108e:1100] (rev 01)
01:0c.1 Ethernet controller [0200]: Sun Microsystems Computer Corp. RIO GEM [108e:1101] (rev 01)
01:0c.3 USB Controller [0c03]: Sun Microsystems Computer Corp. RIO USB [108e:1103] (rev 01)
01:0d.0 IDE interface [0101]: ALi Corporation M5229 IDE [10b9:5229] (rev c3)
02:08.0 SCSI storage controller [0100]: LSI Logic / Symbios Logic 53C896/897 [1000:000b] (rev 07)
02:08.1 SCSI storage controller [0100]: LSI Logic / Symbios Logic 53C896/897 [1000:000b] (rev 07)
==========

Signed-off-by: Alexander Clouter <alex@digriz.org.uk>
Cc: Wim Van Sebroeck <wim@iguana.be>
Cc: "David S. Miller" <davem@davemloft.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agoMake ioctl.h compatible with userland
Michael Abbott [Tue, 12 Aug 2008 22:09:11 +0000 (15:09 -0700)]
Make ioctl.h compatible with userland

The attached patch seems to already exist in a number of branches -- it
keeps popping up on Google for me, and is certainly already in Debian --
but is strangely absent from mainstream.

The problem appears to be that the patched file ends up as part of the
target toolchain, but unfortunately the gcc constant folding doesn't
appear to eliminate the __invalid_size_argument_for_IOC value early
enough.  Certainly compiling C++ programs which use _IO...  macros as
constants fails without this patch.

Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agodocsrc: fix getdelays printk formats
Randy Dunlap [Tue, 12 Aug 2008 22:09:10 +0000 (15:09 -0700)]
docsrc: fix getdelays printk formats

Fix printf format type warnings (seen on alpha & ia64):

Documentation/accounting/getdelays.c:206: warning: format '%15llu' expects type 'long long unsigned int', but argument 6 has type '__u64'
Documentation/accounting/getdelays.c:206: warning: format '%15llu' expects type 'long long unsigned int', but argument 7 has type '__u64'
Documentation/accounting/getdelays.c:206: warning: format '%15llu' expects type 'long long unsigned int', but argument 8 has type '__u64'
Documentation/accounting/getdelays.c:206: warning: format '%15llu' expects type 'long long unsigned int', but argument 9 has type '__u64'
Documentation/accounting/getdelays.c:206: warning: format '%15llu' expects type 'long long unsigned int', but argument 12 has type '__u64'
Documentation/accounting/getdelays.c:206: warning: format '%15llu' expects type 'long long unsigned int', but argument 13 has type '__u64'
Documentation/accounting/getdelays.c:206: warning: format '%15llu' expects type 'long long unsigned int', but argument 16 has type '__u64'
Documentation/accounting/getdelays.c:206: warning: format '%15llu' expects type 'long long unsigned int', but argument 17 has type '__u64'
Documentation/accounting/getdelays.c:214: warning: format '%15llu' expects type 'long long unsigned int', but argument 4 has type '__u64'
Documentation/accounting/getdelays.c:214: warning: format '%15llu' expects type 'long long unsigned int', but argument 5 has type '__u64'
Documentation/accounting/getdelays.c:221: warning: format '%llu' expects type 'long long unsigned int', but argument 2 has type '__u64'
Documentation/accounting/getdelays.c:221: warning: format '%llu' expects type 'long long unsigned int', but argument 3 has type '__u64'
Documentation/accounting/getdelays.c:221: warning: format '%llu' expects type 'long long unsigned int', but argument 4 has type '__u64'
Documentation/accounting/getdelays.c:221: warning: format '%llu' expects type 'long long unsigned int', but argument 5 has type '__u64'
Documentation/accounting/getdelays.c:221: warning: format '%llu' expects type 'long long unsigned int', but argument 6 has type '__u64'
Documentation/accounting/getdelays.c:236: warning: 'cmd_type' may be used uninitialized in this function

Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
Cc: Balbir Singh <balbir@in.ibm.com>
Cc: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agodocsrc: fix crc32hash type
Randy Dunlap [Tue, 12 Aug 2008 22:09:08 +0000 (15:09 -0700)]
docsrc: fix crc32hash type

Fix differing signedness warning:

Documentation/pcmcia/crc32hash.c:29: warning: pointer targets in passing argument 1 of 'crc32' differ in signedness

Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
Acked-by: Dominik Brodowski <linux@dominikbrodowski.net>
Cc: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agodocsrc: fix ifenslave type
Randy Dunlap [Tue, 12 Aug 2008 22:09:08 +0000 (15:09 -0700)]
docsrc: fix ifenslave type

Documentation/networking/ifenslave.c:1084: warning: pointer targets in assignment differ in signedness

>From include/linux/socket.h:
 * 1003.1g requires sa_family_t and that sa_data is char.

and from SUSv3:
(http://www.opengroup.org/onlinepubs/009695399/basedefs/sys/socket.h.html)

The <sys/socket.h> header shall define the sockaddr structure that includes at least the following members:

sa_family_t  sa_family  Address family.
char         sa_data[]  Socket address (variable-length data).
<end SUSv3>

Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
Cc: Sam Ravnborg <sam@ravnborg.org>
Cc: "David S. Miller" <davem@davemloft.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agodocsrc: fix procfs example
Randy Dunlap [Tue, 12 Aug 2008 22:09:06 +0000 (15:09 -0700)]
docsrc: fix procfs example

Add MODULE_LICENSE() to DocBook/procfs_example.c since modpost complained
about a missing license there.

Remove tty procfs removal since the creation was deleted long ago
(http://git.kernel.org/?p=linux/kernel/git/tglx/history.git;a=commitdiff;h=5ad9cb65e9b15e5b83e2dd1c10a4bcaccc4ec644).

Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
Cc: <J.A.K.Mouw@its.tudelft.nl>
Cc: Sam Ravnborg <sam@ravnborg.org>
Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agodocsrc: build Documentation/ sources
Randy Dunlap [Tue, 12 Aug 2008 22:09:06 +0000 (15:09 -0700)]
docsrc: build Documentation/ sources

Currently source files in the Documentation/ sub-dir can easily bit-rot
since they are not generally buildable, either because they are hidden in
text files or because there are no Makefile rules for them.  This needs to
be fixed so that the source files remain usable and good examples of code
instead of bad examples.

Add the ability to build source files that are in the Documentation/ dir.
Add to Kconfig as "BUILD_DOCSRC" config symbol.

Use "CONFIG_BUILD_DOCSRC=1 make ..." to build objects from the
Documentation/ sources.  Or enable BUILD_DOCSRC in the *config system.
However, this symbol depends on HEADERS_CHECK since the header files need
to be installed (for userspace builds).

Built (using cross-tools) for x86-64, i386, alpha, ia64, sparc32,
sparc64, powerpc, sh, m68k, & mips.

Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
Reviewed-by: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agobyteorder: add include/linux/byteorder.h to define endian helpers
Harvey Harrison [Tue, 12 Aug 2008 22:09:05 +0000 (15:09 -0700)]
byteorder: add include/linux/byteorder.h to define endian helpers

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agobyteorder: add a new include/linux/swab.h to define byteswapping functions
Harvey Harrison [Tue, 12 Aug 2008 22:09:04 +0000 (15:09 -0700)]
byteorder: add a new include/linux/swab.h to define byteswapping functions

Collect the implementations from include/linux/byteorder/swab.h, swabb.h
in swab.h

The functionality provided covers:
u16 swab16(u16 val) - return a byteswapped 16 bit value
u32 swab32(u32 val) - return a byteswapped 32 bit value
u64 swab64(u64 val) - return a byteswapped 64 bit value
u32 swahw32(u32 val) - return a wordswapped 32 bit value
u32 swahb32(u32 val) - return a high/low byteswapped 32 bit value

Similar to above, but return swapped value from a naturally-aligned pointer
u16 swab16p(u16 *p)
u32 swab32p(u32 *p)
u64 swab64p(u64 *p)
u32 swahw32p(u32 *p)
u32 swahb32p(u32 *p)

Similar to above, but swap the value in-place (in-situ)
void swab16s(u16 *p)
void swab32s(u32 *p)
void swab64s(u64 *p)
void swahw32s(u32 *p)
void swahb32s(u32 *p)

Arches can override any of these with an optimized version by defining an
inline in their asm/byteorder.h (example given for swab16()):

u16 __arch_swab16() {}
 #define __arch_swab16 __arch_swab16

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agogenirq: switch /proc/irq/*/smp_affinity et al to seqfiles
Alexey Dobriyan [Tue, 12 Aug 2008 22:09:03 +0000 (15:09 -0700)]
genirq: switch /proc/irq/*/smp_affinity et al to seqfiles

Switch /proc/irq/*/smp_affinity , /proc/irq/default_smp_affinity to
seq_files.

cat(1) reads with 1024 chunks by default, with high enough NR_CPUS, there
will be -EINVAL.

As side effect, there are now two less users of the ->read_proc interface.

Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Cc: Paul Jackson <pj@sgi.com>
Cc: Mike Travis <travis@sgi.com>
Cc: Al Viro <viro@zeniv.linux.org.uk>
Cc: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agoseq_file: add seq_cpumask(), seq_nodemask()
Alexey Dobriyan [Tue, 12 Aug 2008 22:09:02 +0000 (15:09 -0700)]
seq_file: add seq_cpumask(), seq_nodemask()

Short enough reads from /proc/irq/*/smp_affinity return -EINVAL for no
good reason.

This became noticed with NR_CPUS=4096 patches, when length of printed
representation of cpumask becase 1152, but cat(1) continued to read with
1024-byte chunks.  bitmap_scnprintf() in good faith fills buffer, returns
1023, check returns -EINVAL.

Fix it by switching to seq_file, so handler will just fill buffer and
doesn't care about offsets, length, filling EOF and all this crap.

For that add seq_bitmap(), and wrappers around it -- seq_cpumask() and
seq_nodemask().

Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Reviewed-by: Paul Jackson <pj@sgi.com>
Cc: Mike Travis <travis@sgi.com>
Cc: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agoreiserfs: removed duplicated #include
Huang Weiyi [Tue, 12 Aug 2008 22:09:01 +0000 (15:09 -0700)]
reiserfs: removed duplicated #include

Removed duplicated #include <linux/quotaops.h> in
fs/reiserfs/super.c.

Signed-off-by: Huang Weiyi <weiyi.huang@gmail.com>
Signed-off-by: Jan Kara <jack@suse.cz>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agofs/eventpoll.c: fix sys_epoll_create1() comment
Andrew Morton [Tue, 12 Aug 2008 22:09:01 +0000 (15:09 -0700)]
fs/eventpoll.c: fix sys_epoll_create1() comment

The `size' argument was removed.

Reported-by: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Ulrich Drepper <drepper@redhat.com>
Cc: Davide Libenzi <davidel@xmailserver.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agodrivers/char/rtc.c: removed duplicated include
Huang Weiyi [Tue, 12 Aug 2008 22:09:00 +0000 (15:09 -0700)]
drivers/char/rtc.c: removed duplicated include

Signed-off-by: Huang Weiyi <weiyi.huang@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agomm/sparse.c: removed duplicated include
Huang Weiyi [Tue, 12 Aug 2008 22:09:00 +0000 (15:09 -0700)]
mm/sparse.c: removed duplicated include

Signed-off-by: Huang Weiyi <weiyi.huang@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agomove kernel-doc comment for might_sleep directly before its defining block
Uwe Kleine-König [Tue, 12 Aug 2008 22:08:59 +0000 (15:08 -0700)]
move kernel-doc comment for might_sleep directly before its defining block

Signed-off-by: Uwe Kleine-König <Uwe.Kleine-Koenig@digi.com>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Randy Dunlap <randy.dunlap@oracle.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agolib/vsprintf.c: wrong conversion function used
Yi Yang [Tue, 12 Aug 2008 22:08:58 +0000 (15:08 -0700)]
lib/vsprintf.c: wrong conversion function used

Fix wrong conversion function used by strict_strtou*

Signed-off-by: Yi Yang <yi.y.yang@intel.com>
Reported-by: Swen Schillig <swen@vnet.ibm.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agofbcon: prevent cursor disappearance after switching to 512 character font
Krzysztof Helt [Tue, 12 Aug 2008 22:08:57 +0000 (15:08 -0700)]
fbcon: prevent cursor disappearance after switching to 512 character font

Adjust and honor the vc_scrl_erase_char for 256 and 512 character fonts.

It fixes the issue with disappearing cursor during scrolling
(http://bugzilla.kernel.org/show_bug.cgi?id=11258).  The issue was
reported and tracked by Peter Hanzel.

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Reported-by: Peter Hanzel <hanzelpeter@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agoatmel_lcdfb: add board parameter specify framebuffer memory size
Haavard Skinnemoen [Tue, 12 Aug 2008 22:08:57 +0000 (15:08 -0700)]
atmel_lcdfb: add board parameter specify framebuffer memory size

Specify how much physically continuous, DMA capable memory will be
allocated at driver initialization time.  This allow to create framebuffer
device with larger virtual resolution.  Combine with y-panning this can be
used to implement double buffering acceleration method.

Signed-off-by: Stanislaw Gruszka <stf_xl@wp.pl>
Acked-by: Haavard Skinnemoen <haavard.skinnemoen@atmel.com>
Acked-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Cc: Nicolas Ferre <nicolas.ferre@atmel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agoatmel_lcdfb: set ypanstep to 1 and enable y-panning on AT91
Haavard Skinnemoen [Tue, 12 Aug 2008 22:08:56 +0000 (15:08 -0700)]
atmel_lcdfb: set ypanstep to 1 and enable y-panning on AT91

Panning in the y-direction can be done by simply changing the DMA base
address.  This code is already in place, but FBIOPAN_DISPLAY will
currently fail because ypanstep is 0.

Set ypanstep to 1 to indicate that we do support y-panning and also set
the necessary acceleration flags on AT91 (AVR32 already have them.)

Signed-off-by: Haavard Skinnemoen <hskinnemoen@atmel.com>
Acked-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Cc: Nicolas Ferre <nicolas.ferre@atmel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agomatrox maven: convert to a new-style i2c driver
Jean Delvare [Tue, 12 Aug 2008 22:08:55 +0000 (15:08 -0700)]
matrox maven: convert to a new-style i2c driver

The legacy i2c model is going away soon, so switch to the new model.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
Acked-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Cc: Petr Vandrovec <VANDROVE@vc.cvut.cz>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agomatroxfb: i2c structure templates clean-up
Jean Delvare [Tue, 12 Aug 2008 22:08:54 +0000 (15:08 -0700)]
matroxfb: i2c structure templates clean-up

Clean up the use of structure templates in i2c-matroxfb. In this case
it's more efficient to initialize the few fields we need individually.
This makes i2c-matroxfb.ko 16% smaller on my system.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
Acked-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Cc: Petr Vandrovec <VANDROVE@vc.cvut.cz>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agomatrox maven: fix a broken error path
Jean Delvare [Tue, 12 Aug 2008 22:08:53 +0000 (15:08 -0700)]
matrox maven: fix a broken error path

I broke an error path with d03c21ec0be7787ff6b75dcf56c0e96209ccbfbd,
sorry about that.

The machine will crash if the i2c_attach_client() or maven_init_client()
calls fail, although nobody has yet reported this happening.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
Acked-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Cc: Petr Vandrovec <VANDROVE@vc.cvut.cz>
Cc: <stable@kernel.org> [2.6.25.x, 2.6.26.x]
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agodo_migrate_pages(): remove unused variable
MinChan Kim [Tue, 12 Aug 2008 22:08:52 +0000 (15:08 -0700)]
do_migrate_pages(): remove unused variable

Signed-off-by: MinChan Kim <minchan.kim@gmail.com>
Acked-by: Christoph Lameter <cl@linux-foundation.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agoGRU: fix preprocessor symbol for sparse
Randy Dunlap [Tue, 12 Aug 2008 22:08:51 +0000 (15:08 -0700)]
GRU: fix preprocessor symbol for sparse

Fix preprocessor symbol so that sparse sees it and does not generate
errors:

  drivers/misc/sgi-gru/grutables.h:286:2: error: "Unsupported architecture"
  drivers/misc/sgi-gru/grutables.h:286:2: error: "Unsupported architecture"
  drivers/misc/sgi-gru/grutables.h:286:2: error: "Unsupported architecture"
  drivers/misc/sgi-gru/grutables.h:286:2: error: "Unsupported architecture"
  drivers/misc/sgi-gru/grutlbpurge.c:185:11: error: undefined identifier 'GRUREGION'
  drivers/misc/sgi-gru/grutables.h:286:2: error: "Unsupported architecture"
  drivers/misc/sgi-gru/grutables.h:286:2: error: "Unsupported architecture"

Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
Cc: Jack Steiner <steiner@sgi.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agoradeonfb: fix accel engine hangs
David Miller [Tue, 12 Aug 2008 22:08:51 +0000 (15:08 -0700)]
radeonfb: fix accel engine hangs

Some chips appear to have the 2D engine hang during screen redraw,
typically in a sequence of copyarea operations. This appear to be
solved by adding a flush of the engine destination pixel cache
and waiting for the engine to be idle before issuing the accel
operation. The performance impact seems to be fairly small.

Here is a trace on an RV370 (PCI device ID 0x5b64), it records the
RBBM_STATUS register, then the source x/y, destination x/y, and
width/height used for the copy:

----------------------------------------
radeonfb_prim_copyarea: STATUS[00000140] src[210:70] dst[210:60] wh[a0:10]
radeonfb_prim_copyarea: STATUS[00000140] src[2b8:70] dst[2b8:60] wh[88:10]
radeonfb_prim_copyarea: STATUS[00000140] src[348:70] dst[348:60] wh[40:10]
radeonfb_prim_copyarea: STATUS[80020140] src[390:70] dst[390:60] wh[88:10]
radeonfb_prim_copyarea: STATUS[8002613f] src[40:80] dst[40:70] wh[28:10]
radeonfb_prim_copyarea: STATUS[80026139] src[a8:80] dst[a8:70] wh[38:10]
radeonfb_prim_copyarea: STATUS[80026133] src[e8:80] dst[e8:70] wh[80:10]
radeonfb_prim_copyarea: STATUS[8002612d] src[170:80] dst[170:70] wh[30:10]
radeonfb_prim_copyarea: STATUS[80026127] src[1a8:80] dst[1a8:70] wh[8:10]
radeonfb_prim_copyarea: STATUS[80026121] src[1b8:80] dst[1b8:70] wh[88:10]
radeonfb_prim_copyarea: STATUS[8002611b] src[248:80] dst[248:70] wh[68:10]
----------------------------------------

When things are going fine the copies complete before the next ROP is
even issued, but all of a sudden the 2D unit becomes active (bit 17 in
RBBM_STATUS) and the FIFO retry (bit 13) and FIFO pipeline busy (bit
14) are set as well.  The FIFO begins to backup until it becomes full.

What happens next is the radeon_fifo_wait() times out, and we access
the chip illegally leading to a bus error which usually wedges the
box.  None of this makes it to the console screen, of course :-)
radeon_fifo_wait() should be modified to reset the accelerator when
this timeout happens instead of programming the chip anyways.

----------------------------------------
radeonfb: FIFO Timeout !
ERROR(0): Cheetah error trap taken afsr[0010080005000000] afar[000007f900800e40] TL1(0)
ERROR(0): TPC[595114] TNPC[595118] O7[459788] TSTATE[11009601]
ERROR(0): TPC<radeonfb_copyarea+0xfc/0x248>
ERROR(0): M_SYND(0),  E_SYND(0), Privileged
ERROR(0): Highest priority error (0000080000000000) "Bus error response from system bus"
ERROR(0): D-cache idx[0] tag[0000000000000000] utag[0000000000000000] stag[0000000000000000]
ERROR(0): D-cache data0[0000000000000000] data1[0000000000000000] data2[0000000000000000] data3[0000000000000000]
ERROR(0): I-cache idx[0] tag[0000000000000000] utag[0000000000000000] stag[0000000000000000] u[0000000000000000] l[00\

ERROR(0): I-cache INSN0[0000000000000000] INSN1[0000000000000000] INSN2[0000000000000000] INSN3[0000000000000000]
ERROR(0): I-cache INSN4[0000000000000000] INSN5[0000000000000000] INSN6[0000000000000000] INSN7[0000000000000000]
ERROR(0): E-cache idx[800e40] tag[000000000e049f4c]
ERROR(0): E-cache data0[fffff8127d300180] data1[00000000004b5384] data2[0000000000000000] data3[0000000000000000]
Ker:xnel panic - not syncing: Irrecoverable deferred error trap.
----------------------------------------

Another quirk is that these copyarea calls will not happen until the
first drivers/char/vt.c:redraw_screen() occurs.  This will only happen
if you 1) VC switch or 2) run "consolechars" or 3) unblank the screen.

This seems to happen because until a redraw_screen() the screen scrolling
method used by fbcon is not finalized yet.  I've seen this with other fb
drivers too.

So if all you do is boot straight into X you will never see this bug on
the relevant chips.

Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: <stable@kernel.org> [2.6.25.x, 2.6.26.x]
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agoallocate structures for reservation tracking in hugetlbfs outside of spinlocks v2
Andy Whitcroft [Tue, 12 Aug 2008 22:08:49 +0000 (15:08 -0700)]
allocate structures for reservation tracking in hugetlbfs outside of spinlocks v2

[Andrew this should replace the previous version which did not check
the returns from the region prepare for errors.  This has been tested by
us and Gerald and it looks good.

Bah, while reviewing the locking based on your previous email I spotted
that we need to check the return from the vma_needs_reservation call for
allocation errors.  Here is an updated patch to correct this.  This passes
testing here.]

Signed-off-by: Andy Whitcroft <apw@shadowen.org>
Tested-by: Gerald Schaefer <gerald.schaefer@de.ibm.com>
Cc: Mel Gorman <mel@csn.ul.ie>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agohugetlbfs: allocate structures for reservation tracking outside of spinlocks
Andy Whitcroft [Tue, 12 Aug 2008 22:08:47 +0000 (15:08 -0700)]
hugetlbfs: allocate structures for reservation tracking outside of spinlocks

In the normal case, hugetlbfs reserves hugepages at map time so that the
pages exist for future faults.  A struct file_region is used to track when
reservations have been consumed and where.  These file_regions are
allocated as necessary with kmalloc() which can sleep with the
mm->page_table_lock held.  This is wrong and triggers may-sleep warning
when PREEMPT is enabled.

Updates to the underlying file_region are done in two phases.  The first
phase prepares the region for the change, allocating any necessary memory,
without actually making the change.  The second phase actually commits the
change.  This patch makes use of this by checking the reservations before
the page_table_lock is taken; triggering any necessary allocations.  This
may then be safely repeated within the locks without any allocations being
required.

Credit to Mel Gorman for diagnosing this failure and initial versions of
the patch.

Signed-off-by: Andy Whitcroft <apw@shadowen.org>
Tested-by: Gerald Schaefer <gerald.schaefer@de.ibm.com>
Cc: Mel Gorman <mel@csn.ul.ie>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agoisight_firmware: fix a leak and double kfree()
Parag Warudkar [Tue, 12 Aug 2008 22:08:46 +0000 (15:08 -0700)]
isight_firmware: fix a leak and double kfree()

Signed-off-by: Parag Warudkar <parag.warudkar@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agocpuidle: make sysfs attributes sysdev class attributes
Rabin Vincent [Tue, 12 Aug 2008 22:08:45 +0000 (15:08 -0700)]
cpuidle: make sysfs attributes sysdev class attributes

These attributes are really sysdev class attributes.  The incorrect
definition leads to an oops because of recent changes which make sysdev
attributes use a different prototype.

Based on Andi's f718cd4add5aea9d379faff92f162571e356cc5f ("sched: make
scheduler sysfs attributes sysdev class devices")

Reported-by: Eric Sesterhenn <snakebyte@gmx.de>
Signed-off-by: Rabin Vincent <rabin@rab.in>
Acked-by: Andi Kleen <ak@linux.intel.com>
Cc: "Li, Shaohua" <shaohua.li@intel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agortc-isl1208: fix double removal of a sysfs entry
Alessandro Zummo [Tue, 12 Aug 2008 22:08:44 +0000 (15:08 -0700)]
rtc-isl1208: fix double removal of a sysfs entry

Signed-off-by: Alessandro Zummo <a.zummo@towertech.it>
Cc: Herbert Valerio Riedel <hvr@gnu.org>
Cc: Hartley Sweeten <hartleys@visionengravers.com>
Cc: David Brownell <david-b@pacbell.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agoh8300: fix section mismatches
Yoshinori Sato [Tue, 12 Aug 2008 22:08:43 +0000 (15:08 -0700)]
h8300: fix section mismatches

WARNING: vmlinux.o(.text+0x2fdf): Section mismatch in reference from the variable .LM3 to the variable .init.text:___alloc_bootmem
The function .LM3() references
the variable __init ___alloc_bootmem.
This is often because .LM3 lacks a __init
annotation or the annotation of ___alloc_bootmem is wrong.

WARNING: vmlinux.o(.text+0x2ff5): Section mismatch in reference from the variable .LM4 to the variable .init.text:___alloc_bootmem
The function .LM4() references
the variable __init ___alloc_bootmem.
This is often because .LM4 lacks a __init
annotation or the annotation of ___alloc_bootmem is wrong.

WARNING: vmlinux.o(.text+0x300b): Section mismatch in reference from the variable .LM5 to the variable .init.text:___alloc_bootmem
The function .LM5() references
the variable __init ___alloc_bootmem.
This is often because .LM5 lacks a __init
annotation or the annotation of ___alloc_bootmem is wrong.

WARNING: vmlinux.o(.text+0x304b): Section mismatch in reference from the variable .LM10 to the variable .init.text:_free_area_init
The function .LM10() references
the variable __init _free_area_init.
This is often because .LM10 lacks a __init
annotation or the annotation of _free_area_init is wrong.

WARNING: vmlinux.o(.text+0x30a3): Section mismatch in reference from the variable .LM17 to the variable .init.text:_free_all_bootmem
The function .LM17() references
the variable __init _free_all_bootmem.
This is often because .LM17 lacks a __init
annotation or the annotation of _free_all_bootmem is wrong.

Signed-off-by: Yoshinori Sato <ysato@users.sourceforge.jp>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agorevert "rtc: cdev lock_kernel() pushdown"
David Brownell [Tue, 12 Aug 2008 22:08:41 +0000 (15:08 -0700)]
revert "rtc: cdev lock_kernel() pushdown"

Revert commit 51a776fa7a7997e726d4a478eda0854c6f9143bd ("rtc: cdev
lock_kernel() pushdown").  The RTC framework does not need BKL
protection.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Cc: Jonathan Corbet <corbet@lwn.net>
Cc: Alessandro Zummo <alessandro.zummo@towertech.it>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agomemcg: fix oops in mem_cgroup_shrink_usage
Hugh Dickins [Tue, 12 Aug 2008 22:08:41 +0000 (15:08 -0700)]
memcg: fix oops in mem_cgroup_shrink_usage

Got an oops in mem_cgroup_shrink_usage() when testing loop over tmpfs:
yes, of course, loop0 has no mm: other entry points check but this didn't.

Signed-off-by: Hugh Dickins <hugh@veritas.com>
Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Acked-by: Balbir Singh <balbir@linux.vnet.ibm.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agocpu hotplug: s390 doesn't support additional_cpus anymore.
Heiko Carstens [Tue, 12 Aug 2008 22:08:40 +0000 (15:08 -0700)]
cpu hotplug: s390 doesn't support additional_cpus anymore.

s390 doesn't support the additional_cpus kernel parameter anymore since a
long time.  So we better update the code and documentation to reflect
that.

Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agopage allocator: use no-panic variant of alloc_bootmem() in alloc_large_system_hash()
Jan Beulich [Tue, 12 Aug 2008 22:08:39 +0000 (15:08 -0700)]
page allocator: use no-panic variant of alloc_bootmem() in alloc_large_system_hash()

..  since a failed allocation is being (initially) handled gracefully, and
panic()-ed upon failure explicitly in the function if retries with smaller
sizes failed.

Signed-off-by: Jan Beulich <jbeulich@novell.com>
Signed-off-by: David Howells <dhowells@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agoquota: documentation for sending "below quota" messages via netlink and tiny doc...
Jan Kara [Tue, 12 Aug 2008 22:08:39 +0000 (15:08 -0700)]
quota: documentation for sending "below quota" messages via netlink and tiny doc update

Signed-off-by: Jan Kara <jack@suse.cz>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agohugetlb: call arch_prepare_hugepage() for surplus pages
Gerald Schaefer [Tue, 12 Aug 2008 22:08:38 +0000 (15:08 -0700)]
hugetlb: call arch_prepare_hugepage() for surplus pages

The s390 software large page emulation implements shared page tables by
using page->index of the first tail page from a compound large page to
store page table information.  This is set up in arch_prepare_hugepage(),
which is called from alloc_fresh_huge_page_node().

A similar call to arch_prepare_hugepage() is missing for surplus large
pages that are allocated in alloc_buddy_huge_page(), which breaks the
software emulation mode for (surplus) large pages on s390.  This patch
adds the missing call to arch_prepare_hugepage().  It will have no effect
on other architectures where arch_prepare_hugepage() is a nop.

Also, use the correct order in the error path in alloc_fresh_huge_page_node().

Acked-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Gerald Schaefer <gerald.schaefer@de.ibm.com>
Acked-by: Nick Piggin <npiggin@suse.de>
Acked-by: Adam Litke <agl@us.ibm.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agofeature-removal-schedule.txt: remove the NCR53C9x entry
Adrian Bunk [Tue, 12 Aug 2008 22:08:37 +0000 (15:08 -0700)]
feature-removal-schedule.txt: remove the NCR53C9x entry

Now that the driver is removed we should also remove the entry in
Documentation/feature-removal-schedule.txt

Signed-off-by: Adrian Bunk <bunk@kernel.org>
Acked-by: Christoph Hellwig <hch@lst.de>
Cc: James Bottomley <James.Bottomley@HansenPartnership.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agoMerge branches 'ehca' and 'ipoib' into for-linus
Roland Dreier [Tue, 12 Aug 2008 20:52:54 +0000 (13:52 -0700)]
Merge branches 'ehca' and 'ipoib' into for-linus

16 years ago[IA64] use bcd2bin/bin2bcd
Adrian Bunk [Fri, 8 Aug 2008 16:34:45 +0000 (19:34 +0300)]
[IA64] use bcd2bin/bin2bcd

This patch changes ia64 to use the new bcd2bin/bin2bcd functions instead
of the obsolete BCD2BIN/BIN2BCD macros.

Signed-off-by: Adrian Bunk <bunk@kernel.org>
Signed-off-by: Tony Luck <tony.luck@intel.com>
16 years agoIB/ehca: Discard double CQE for one WR
Alexander Schmidt [Tue, 12 Aug 2008 13:46:30 +0000 (15:46 +0200)]
IB/ehca: Discard double CQE for one WR

Under rare circumstances, the ehca hardware might erroneously generate
two CQEs for the same WQE, which is not compliant to the IB spec and
will cause unpredictable errors like memory being freed twice. To
avoid this problem, the driver needs to detect the second CQE and
discard it.

For this purpose, introduce an array holding as many elements as the
SQ of the QP, called sq_map. Each sq_map entry stores a "reported"
flag for one WQE in the SQ. When a work request is posted to the SQ,
the respective "reported" flag is set to zero. After the arrival of a
CQE, the flag is set to 1, which allows to detect the occurence of a
second CQE.

The mapping between WQE / CQE and the corresponding sq_map element is
implemented by replacing the lowest 16 Bits of the wr_id with the
index in the queue map. The original 16 Bits are stored in the sq_map
entry and are restored when the CQE is passed to the application.

Signed-off-by: Alexander Schmidt <alexs@linux.vnet.ibm.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
16 years agoIB/ehca: Check idr_find() return value
Alexander Schmidt [Tue, 12 Aug 2008 13:46:27 +0000 (15:46 +0200)]
IB/ehca: Check idr_find() return value

The idr_find() function may fail when trying to get the QP that is
associated with a CQE, e.g. when a QP has been destroyed between the
generation of a CQE and the poll request for it.  In consequence, the
return value of idr_find() must be checked and the CQE must be
discarded when the QP cannot be found.

Signed-off-by: Alexander Schmidt <alexs@linux.vnet.ibm.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
16 years agoIB/ehca: Repoll CQ on invalid opcode
Alexander Schmidt [Tue, 12 Aug 2008 13:46:20 +0000 (15:46 +0200)]
IB/ehca: Repoll CQ on invalid opcode

When the ehca driver detects an invalid opcode in a CQE, it currently
passes the CQE to the application and returns with success. This patch
changes the CQE handling to discard CQEs with invalid opcodes and to
continue reading the next CQE from the CQ.

Signed-off-by: Alexander Schmidt <alexs@linux.vnet.ibm.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
16 years agoIB/ehca: Rename goto label in ehca_poll_cq_one()
Alexander Schmidt [Tue, 12 Aug 2008 13:46:13 +0000 (15:46 +0200)]
IB/ehca: Rename goto label in ehca_poll_cq_one()

Rename the "poll_cq_one_read_cqe" goto label to what it actually does,
namely "repoll".

Signed-off-by: Alexander Schmidt <alexs@linux.vnet.ibm.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
16 years agoIB/ehca: Update qp_state on cached modify_qp()
Alexander Schmidt [Tue, 12 Aug 2008 13:46:07 +0000 (15:46 +0200)]
IB/ehca: Update qp_state on cached modify_qp()

Since the introduction of the port auto-detect mode for ehca, calls to
modify_qp() may be cached in the device driver when the ports are not
activated yet. When a modify_qp() call is cached, the qp state remains
untouched until the port is activated, which will leave the qp in the
reset state. In the reset state, however, it is not allowed to post SQ
WQEs, which confuses applications like ib_mad.

The solution for this problem is to immediately set the qp state as
requested by modify_qp(), even when the call is cached.

Signed-off-by: Alexander Schmidt <alexs@linux.vnet.ibm.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
16 years ago[IA64] Ensure cpu0 can access per-cpu variables in early boot code
Tony Luck [Tue, 12 Aug 2008 17:34:20 +0000 (10:34 -0700)]
[IA64] Ensure cpu0 can access per-cpu variables in early boot code

ia64 handles per-cpu variables a litle differently from other architectures
in that it maps the physical memory allocated for each cpu at a constant
virtual address (0xffffffffffff0000). This mapping is not enabled until
the architecture specific cpu_init() function is run, which causes problems
since some generic code is run before this point. In particular when
CONFIG_PRINTK_TIME is enabled, the boot cpu will trap on the access to
per-cpu memory at the first printk() call so the boot will fail without
the kernel printing anything to the console.

Fix this by allocating percpu memory for cpu0 in the kernel data section
and doing all initialization to enable percpu access in head.S before
calling any generic code.

Other cpus must take care not to access per-cpu variables too early, but
their code path from start_secondary() to cpu_init() is all in arch/ia64

Signed-off-by: Tony Luck <tony.luck@intel.com>
16 years agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6
Linus Torvalds [Tue, 12 Aug 2008 16:14:24 +0000 (09:14 -0700)]
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6:
  ALSA: hda - support new AMD HDMI Audio (1002:970f)
  ALSA: hda_intel: ALSA HD Audio patch for Intel Ibex Peak DeviceIDs
  ALSA: wm8750: add missing VREF output
  ALSA: spitz: MONO -> MONO1
  ALSA: wm8750: it's MONO1, not MONO

16 years agoMerge branch 'core-fixes-for-linus-2' of git://git.kernel.org/pub/scm/linux/kernel...
Linus Torvalds [Tue, 12 Aug 2008 15:49:53 +0000 (08:49 -0700)]
Merge branch 'core-fixes-for-linus-2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip

* 'core-fixes-for-linus-2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
  generic-ipi: fix stack and rcu interaction bug in smp_call_function_mask(), fix

16 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus
Linus Torvalds [Tue, 12 Aug 2008 15:40:19 +0000 (08:40 -0700)]
Merge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus

* git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus:
  fix spinlock recursion in hvc_console
  stop_machine: remove unused variable
  modules: extend initcall_debug functionality to the module loader
  export virtio_rng.h
  lguest: use get_user_pages_fast() instead of get_user_pages()
  mm: Make generic weak get_user_pages_fast and EXPORT_GPL it
  lguest: don't set MAC address for guest unless specified

16 years agoMerge branch 'agp-patches' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied...
Linus Torvalds [Tue, 12 Aug 2008 15:28:32 +0000 (08:28 -0700)]
Merge branch 'agp-patches' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/agp-2.6

* 'agp-patches' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/agp-2.6:
  agp: fix SIS 5591/5592 wrong PCI id
  intel/agp: rewrite GTT on resume
  agp: use dev_printk when possible
  amd64-agp: run fallback when no bridges found, not when driver registration fails
  intel_agp: official name for GM45 chipset

16 years agoALSA: hda - support new AMD HDMI Audio (1002:970f)
Libin Yang [Tue, 12 Aug 2008 10:25:46 +0000 (12:25 +0200)]
ALSA: hda - support new AMD HDMI Audio (1002:970f)

Signed-off-by: Libin Yang <libin.yang@amd.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
16 years agoBuild fix for n800_defconfig
Hiroshi DOYU [Tue, 12 Aug 2008 07:49:20 +0000 (10:49 +0300)]
Build fix for n800_defconfig

Just updated from the latest header file.

Signed-off-by: Hiroshi DOYU <Hiroshi.DOYU@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agoBuild fix for n800_defconfig
Hiroshi DOYU [Tue, 12 Aug 2008 07:49:19 +0000 (10:49 +0300)]
Build fix for n800_defconfig

Just updated from the latest header file.

Signed-off-by: Hiroshi DOYU <Hiroshi.DOYU@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agoDSPGW: Fix build error for device_create()
Hiroshi DOYU [Tue, 12 Aug 2008 07:11:53 +0000 (10:11 +0300)]
DSPGW: Fix build error for device_create()

Ideally, the contents mamagement should be handled by drv_data instead
of homebrewed array.

Signed-off-by: Hiroshi DOYU <Hiroshi.DOYU@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agoARM TLB: add v7wbi_{possible,always}_flags to {possible,always}_tlb_flags
Paul Walmsley [Mon, 11 Aug 2008 20:03:10 +0000 (14:03 -0600)]
ARM TLB: add v7wbi_{possible,always}_flags to {possible,always}_tlb_flags

Commit 2ccdd1e77da52ad494e9af46bf272d816830cb28 doesn't add
v7wbi_possible_flags and v7wbi_always_flags to possible_tlb_flags and
always_tlb_flags.  This causes the L2 cache flush in clean_pmd_entry()
(intended for Feroceon only) to execute on ARMv7, and the CPU hangs.

This patch is required for OMAP3 boards to boot.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: <catalin.marinas@arm.com>
Cc: <buytenh@wantstofly.org>
Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agoHSMMC: Fix omap_hsmmc.c compilation
Paul Walmsley [Mon, 11 Aug 2008 17:38:21 +0000 (11:38 -0600)]
HSMMC: Fix omap_hsmmc.c compilation

Fix asm/semaphore.h to be linux/semaphore.h; also remove
MMC_CAP_MULTIWRITE per 23af60398af2f5033e2f53665538a09f498dbc03.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: <madhu.cr@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agoALSA: hda_intel: ALSA HD Audio patch for Intel Ibex Peak DeviceIDs
Seth Heasley [Fri, 8 Aug 2008 22:56:39 +0000 (15:56 -0700)]
ALSA: hda_intel: ALSA HD Audio patch for Intel Ibex Peak DeviceIDs

This patch adds the Intel Ibex Peak (PCH) HD Audio Controller DeviceIDs.

Signed-off by: Seth Heasley <seth.heasley@intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
16 years agoALSA: wm8750: add missing VREF output
Dmitry Baryshkov [Mon, 11 Aug 2008 22:45:31 +0000 (02:45 +0400)]
ALSA: wm8750: add missing VREF output

Add missing output VREF. After a65f0568f6cc8433877fb71dd7d36b551854b0bc
it's critical, since it makes chip routing initialisation to fail.

Signed-off-by: Dmitry Baryshkov <dbaryshkov@gmail.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
16 years agoALSA: spitz: MONO -> MONO1
Dmitry Baryshkov [Mon, 11 Aug 2008 22:45:30 +0000 (02:45 +0400)]
ALSA: spitz: MONO -> MONO1

Correct route name to be MONO1 instead of MONO to follow
recent fix in wm8750.

Signed-off-by: Dmitry Baryshkov <dbaryshkov@gmail.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
16 years agogeneric-ipi: fix stack and rcu interaction bug in smp_call_function_mask(), fix
Nick Piggin [Tue, 12 Aug 2008 08:05:13 +0000 (18:05 +1000)]
generic-ipi: fix stack and rcu interaction bug in smp_call_function_mask(), fix

> > Nick Piggin (1):
> >       generic-ipi: fix stack and rcu interaction bug in
> > smp_call_function_mask()
>
> I'm still not 100% sure that I have this patch right... I might have seen
> a lockup trace implicating the smp call function path... which may have
> been due to some other problem or a different bug in the new call function
> code, but if some more people can take a look at it before merging?

OK indeed it did have a couple of bugs. Firstly, I wasn't freeing the
data properly in the alloc && wait case. Secondly, I wasn't resetting
CSD_FLAG_WAIT in the for each cpu loop (so only the first CPU would
wait).

After those fixes, the patch boots and runs with the kmalloc commented
out (so it always executes the slowpath).

Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agofix spinlock recursion in hvc_console
Christian Borntraeger [Thu, 7 Aug 2008 07:18:34 +0000 (09:18 +0200)]
fix spinlock recursion in hvc_console

commit 611e097d7707741a336a0677d9d69bec40f29f3d
Author: Christian Borntraeger <borntraeger@de.ibm.com>
hvc_console: rework setup to replace irq functions with callbacks
introduced a spinlock recursion problem.

request_irq tries to call the handler if the IRQ is shared.
The irq handler of hvc_console calls hvc_poll and hvc_kill
which might take the hvc_struct spinlock. Therefore, we have
to call request_irq outside the spinlock.

We can move the notifier_add safely outside the spinlock as ->data must
not be changed by the backend. Otherwise, tty_hangup would fail anyway.

Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
16 years agostop_machine: remove unused variable
Li Zefan [Thu, 31 Jul 2008 02:31:02 +0000 (10:31 +0800)]
stop_machine: remove unused variable

Signed-off-by: Li Zefan <lizf@cn.fujitsu.com>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
16 years agomodules: extend initcall_debug functionality to the module loader
Arjan van de Ven [Wed, 30 Jul 2008 19:49:02 +0000 (12:49 -0700)]
modules: extend initcall_debug functionality to the module loader

The kernel has this really nice facility where if you put "initcall_debug"
on the kernel commandline, it'll print which function it's going to
execute just before calling an initcall, and then after the call completes
it will

1) print if it had an error code

2) checks for a few simple bugs (like leaving irqs off)
and

3) print how long the init call took in milliseconds.

While trying to optimize the boot speed of my laptop, I have been loving
number 3 to figure out what to optimize...  ...  and then I wished that
the same thing was done for module loading.

This patch makes the module loader use this exact same functionality; it's
a logical extension in my view (since modules are just sort of late
binding initcalls anyway) and so far I've found it quite useful in finding
where things are too slow in my boot.

Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>