]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/log
linux-2.6-omap-h63xx.git
17 years agoARM: OMAP: I2C-1 init fix for 2430
Syed Mohammed Khasim [Fri, 26 Jan 2007 00:13:54 +0000 (16:13 -0800)]
ARM: OMAP: I2C-1 init fix for 2430

I2C-1 for 2430 was commented previously, enabled in this patch.

Signed-off-by: Syed Mohammed Khasim <x0khasim@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
17 years agoARM: OMAP: Fix gpmc header
Tony Lindgren [Wed, 13 Dec 2006 07:02:43 +0000 (23:02 -0800)]
ARM: OMAP: Fix gpmc header

Fix gpmc header

Signed-off-by: Tony Lindgren <tony@atomide.com>
17 years agoARM: OMAP: Add omap osk defconfig
Tony Lindgren [Fri, 8 Dec 2006 00:32:55 +0000 (16:32 -0800)]
ARM: OMAP: Add omap osk defconfig

Add omap osk defconfig

Signed-off-by: Tony Lindgren <tony@atomide.com>
17 years agoARM: OMAP: Update omap h2 defconfig
Tony Lindgren [Fri, 8 Dec 2006 00:22:18 +0000 (16:22 -0800)]
ARM: OMAP: Update omap h2 defconfig

Update omap h2 defconfig

Signed-off-by: Tony Lindgren <tony@atomide.com>
17 years agoARM: OMAP: Add DSP common code
Toshihiro Kobayashi [Fri, 8 Dec 2006 00:20:22 +0000 (16:20 -0800)]
ARM: OMAP: Add DSP common code

Add DSP common code

Signed-off-by: Toshihiro Kobayashi <toshihiro.kobayashi@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
17 years agoARM: OMAP: Add mailbox support for IVA
Hiroshi DOYU [Thu, 7 Dec 2006 23:43:59 +0000 (15:43 -0800)]
ARM: OMAP: Add mailbox support for IVA

This patch adds a generic mailbox interface considering IVA
(Image Video Accelerator) use on 2420, but this patch itself
doesn't contain any IVA driver.

Signed-off-by: Hiroshi DOYU <Hiroshi.DOYU@nokia.com>
Signed-off-by: Juha Yrjola <juha.yrjola@solidboot.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
17 years agoARM: OMAP: TUSB EVM init
David Brownell [Thu, 7 Dec 2006 22:03:49 +0000 (14:03 -0800)]
ARM: OMAP: TUSB EVM init

Add init support for the TUSB6010 EVM board, as connected to H4.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Tony Lindgren <tony@atomide.com>
17 years agoARM: OMAP: Tabify mux.c
Tony Lindgren [Thu, 7 Dec 2006 22:01:29 +0000 (14:01 -0800)]
ARM: OMAP: Tabify mux.c

Tabify mux.c

Signed-off-by: Tony Lindgren <tony@atomide.com>
17 years agoARM: OMAP: Avoid updating system time for sub-jiffy interrupts
Tony Lindgren [Thu, 7 Dec 2006 22:01:23 +0000 (14:01 -0800)]
ARM: OMAP: Avoid updating system time for sub-jiffy interrupts

Updating system time and reprogramming timer can cause latency
issues on busy systems with lots of interrupts with constant
updating of time and reprogramming the system timer.

If a non-timer dyntick interrupt happens within a jiffy from
the last interrupt, updating time and reprogramming the timer
is unnecessary as we will get a timer interrupt soon anyways.

Signed-off-by: Tony Lindgren <tony@atomide.com>
17 years agoARM: OMAP: Sync board specific files with linux-omap
Tony Lindgren [Thu, 7 Dec 2006 21:58:17 +0000 (13:58 -0800)]
ARM: OMAP: Sync board specific files with linux-omap

This patch syncs omap board specific files with linux-omap.

Patch consists mostly of driver updates done in linux-omap
tree for drivers not yet in mainline kernel.

Signed-off-by: Tony Lindgren <tony@atomide.com>
17 years agoARM: OMAP: Sync core code with linux-omap
Tony Lindgren [Thu, 7 Dec 2006 21:58:10 +0000 (13:58 -0800)]
ARM: OMAP: Sync core code with linux-omap

This patch syncs omap specific headers with linux-omap.

Signed-off-by: Tony Lindgren <tony@atomide.com>
17 years agoARM: OMAP: Sync headers with linux-omap
Tony Lindgren [Thu, 7 Dec 2006 21:57:38 +0000 (13:57 -0800)]
ARM: OMAP: Sync headers with linux-omap

This patch syncs omap specific headers with linux-omap.

Signed-off-by: Tony Lindgren <tony@atomide.com>
17 years agoARM: OMAP: MPUIO wake updates
David Brownell [Thu, 7 Dec 2006 01:14:11 +0000 (17:14 -0800)]
ARM: OMAP: MPUIO wake updates

GPIO and MPUIO wake updates:

 - Hook MPUIOs into the irq wakeup framework too.  This uses a platform
   device to update irq enables during system sleep states, instead of
   a sys_device, since the latter is no longer needed for such things.

 - Also forward enable/disable irq wake requests to the relevant GPIO
   controller, so the top level IRQ dispatcher can (eventually) handle
   these wakeup events automatically if more than one GPIO pin needs to
   be a wakeup event source.

 - Minor tweak to the 24xx non-wakeup gpio stuff: no need to check such
   read-only data under the spinlock.

This assumes (maybe wrongly?) that only 16xx can do GPIO wakeup; without
a 15xx I can't test such stuff.

Also this expects the top level IRQ dispatcher to properly handle requests
to enable/disable irq wake, which is currently known to be wrong:  omap1
saves the flags but ignores them, omap2 doesn't even save it.  (Wakeup
events are, wrongly, hardwired in the relevant mach-omapX/pm.c file ...)
So MPUIO irqs won't yet trigger system wakeup.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Tony Lindgren <tony@atomide.com>
17 years agoARM: OMAP: Fix typo in board-h4.h
Komal Shah [Thu, 7 Dec 2006 01:14:11 +0000 (17:14 -0800)]
ARM: OMAP: Fix typo in board-h4.h

Replace OMAP1610 to OMAP2420.

Signed-off-by: Komal Shah <komal_shah802003@yahoo.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
17 years agoARM: OMAP: speed up gpio irq handling
David Brownell [Thu, 7 Dec 2006 01:14:10 +0000 (17:14 -0800)]
ARM: OMAP: speed up gpio irq handling

Speedup and shrink GPIO irq handling code, by using a pointer
that's available in the irq_chip structure instead of calling
the get_gpio_bank() function.  On OMAP1 this saves 44 words,
most of which were in IRQ critical path methods.  Hey, every
few instructions help.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Tony Lindgren <tony@atomide.com>
17 years agoARM: OMAP: Set keypad sense delays for the Palms
Andrzej Zaborowski [Thu, 7 Dec 2006 01:14:10 +0000 (17:14 -0800)]
ARM: OMAP: Set keypad sense delays for the Palms

Wait a fixed amount of time between writing to the columns
register and reading rows state to allow the keypad to respond
on Palm Tungsten E and Zire 71.  The value for Zire 71 keypad
was tested by Marek Vasut.

Signed-off-by: Andrzej Zaborowski <balrog@zabor.org>
Signed-off-by: Tony Lindgren <tony@atomide.com>
17 years agoARM: OMAP: This patch enables I2C-2 support for 2430 SDP
Syed Mohammed Khasim [Thu, 7 Dec 2006 01:14:09 +0000 (17:14 -0800)]
ARM: OMAP: This patch enables I2C-2 support for 2430 SDP

This patch enables I2C-2 support for 2430 SDP.

Signed-off-by: Syed Mohammed Khasim <x0khasim@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
17 years agoARM: OMAP: Basic support for siemens sx1
Vladimir Ananiev [Thu, 7 Dec 2006 01:14:08 +0000 (17:14 -0800)]
ARM: OMAP: Basic support for siemens sx1

This adds basic support for Siemens SX1. More patches are available,
with video driver, mixer, and serial ports working. That is enough to
do gsm calls with right userland.

Signed-off-by: Pavel Machek <pavel@suse.cz>
Signed-off-by: Tony Lindgren <tony@atomide.com>
17 years agoARM: OMAP: plat-omap changes for 2430 SDP
Syed Mohammed Khasim [Thu, 7 Dec 2006 01:14:08 +0000 (17:14 -0800)]
ARM: OMAP: plat-omap changes for 2430 SDP

This patch adds minimal OMAP2430 support to plat-omap files to
get the kernel booting on 2430SDP.

Signed-off-by: Syed Mohammed Khasim <x0khasim@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
17 years agoARM: OMAP: Palm Zire71 minor fixes
Marek Vašut [Thu, 7 Dec 2006 01:14:07 +0000 (17:14 -0800)]
ARM: OMAP: Palm Zire71 minor fixes

This patch makes minor changes in palmz71 board file (formating changes) and
renames one GPIO (PALMZ71_PINTDAV_GPIO to PALMZ71_PENIRQ_GPIO) in
board-palmz71.h and board-palmz71.c .

Signed-off-by: Marek Vašut <marek.vasut@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
17 years agoARM: OMAP: Palm Tungsten|T support
Marek Vašut [Thu, 7 Dec 2006 01:14:07 +0000 (17:14 -0800)]
ARM: OMAP: Palm Tungsten|T support

This patch adds board file and necessary includes for Palm Tungsten|T.

Signed-off-by: Marek Vašut <marek.vasut@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
17 years agoARM: OMAP: USB peripheral support on H4
David Brownell [Thu, 7 Dec 2006 01:14:06 +0000 (17:14 -0800)]
ARM: OMAP: USB peripheral support on H4

H4 has two peripheral ports, one for "download" and one for OTG.
The one to use is selected through Kconfig.

NOTE:  not yet working; I suspect there's a clock still turned off
or something like that, since neither port responds.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Tony Lindgren <tony@atomide.com>
17 years agoARM: OMAP: Add minimal OMAP2430 support
Syed Mohammed Khasim [Thu, 7 Dec 2006 01:14:05 +0000 (17:14 -0800)]
ARM: OMAP: Add minimal OMAP2430 support

This patch adds minimal OMAP2430 support to get the kernel booting on 2430SDP.

Signed-off-by: Syed Mohammed Khasim <x0khasim@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
17 years agoARM: OMAP: abstract debug card setup (smc, leds)
David Brownell [Thu, 7 Dec 2006 01:14:03 +0000 (17:14 -0800)]
ARM: OMAP: abstract debug card setup (smc, leds)

Additional cleanup for debug boards on H2/P2/H3/H4:  move the init
code that's not board-specific into a new file where it can be easily
shared between all the different boards (avoiding code duplication,
and making it easier to support more devices).  Make H4 use that.

This should be easy to drop in to the OMAP1 boards using these debug
cards; the only difference seems to be that the p2 does an extra reset
of the smc using the fpga (probably all boards could do that, if it's
necessary) and doesn't use the gpio mux or request APIs.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Tony Lindgren <tony@atomide.com>
17 years agoARM: OMAP: h4 must have blinky leds!!
David Brownell [Thu, 7 Dec 2006 01:14:03 +0000 (17:14 -0800)]
ARM: OMAP: h4 must have blinky leds!!

This adds generic support for the "debug board" LEDs used by most of
TI's OMAP reference boards, and board-specific support for the H4.

It's derived from the not-as-generic stuff used by OMAP1 H2/H3/P2.
Those should be able to switch easily to this version, and clean up
some of the omap1-specific code.

In addition to H4 support, one key improvement is supporting not just
the "old" ARM debug LED API (with timer and idle LEDs, plus four that
can be handy for kernel debugging), but it also supports the "new"
generic LED API (most useful for usermode stuff IMO).  Either or both
APIs can be enabled.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Tony Lindgren <tony@atomide.com>
17 years agoARM: OMAP: Fix typo in gpio
Tony Lindgren [Thu, 7 Dec 2006 01:14:02 +0000 (17:14 -0800)]
ARM: OMAP: Fix typo in gpio

Fix typo in gpio

Signed-off-by: Tony Lindgren <tony@atomide.com>
17 years agoARM: OMAP: PalmZ71 extra brace fix
Marek Vasut [Thu, 7 Dec 2006 01:14:01 +0000 (17:14 -0800)]
ARM: OMAP: PalmZ71 extra brace fix

There is one extra brace in z71 board file, this patch fixes it.

Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
17 years agoARM: OMAP: Fix Amstrad Delta omap-keypad usage
Jonathan McDowell [Thu, 7 Dec 2006 01:14:01 +0000 (17:14 -0800)]
ARM: OMAP: Fix Amstrad Delta omap-keypad usage

On Fri, Oct 27, 2006 at 05:16:59PM +0100, Jonathan McDowell wrote:
> However having prodded further I'm seeing incorrect key parsing with
> the omap-keypad driver under both -rc2 and -rc3 (works fine in
> 2.6.18-omap1). Numerous keys now returns strings of characters rather
> than the single expected character. A few keys still work as expected
> however. Before I dig in further is anyone else seeing anything similar?

This appears to be due to the addition of keymapsize to the
omap_kp_platform_data structure. The patch below fixes things up for
the Delta; other boards appear to have already had this done.

Signed-off-by: Jonathan McDowell <noodles@earth.li>
Signed-off-by: Tony Lindgren <tony@atomide.com>
17 years agoARM: OMAP: gpio object shrinkage, cleanup
David Brownell [Thu, 7 Dec 2006 01:13:59 +0000 (17:13 -0800)]
ARM: OMAP: gpio object shrinkage, cleanup

More GPIO/IRQ cleanup:

  - compile-time removal of much useless code
      * mpuio support on non-OMAP1.
      * 15xx/730/24xx gpio support on 1610
      * 15xx/730/16xx gpio support on 24xx
      * etc

  - remove all BUG() calls, which are always bad news ... replaced some
    with normal fault reports for that call, others with WARN_ON(1).

  - small mpuio bugfix:  add missing set_type() method

Oh, and fix a minor merge issue: inode->u.generic_ip is now gone.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Tony Lindgren <tony@atomide.com>
17 years agoARM: OMAP: gpio init section cleanups
David Brownell [Thu, 7 Dec 2006 01:13:59 +0000 (17:13 -0800)]
ARM: OMAP: gpio init section cleanups

Minor GPIO cleanups:  remove needless #include, and omap_gpio_init()
should be __init, as well as all the board init code calling it.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Tony Lindgren <tony@atomide.com>
17 years agoARM: OMAP: Register tsc2102 on Palm Tungsten E
Andrzej Zaborowski [Thu, 7 Dec 2006 01:13:58 +0000 (17:13 -0800)]
ARM: OMAP: Register tsc2102 on Palm Tungsten E

Add palmte board config bits for TSC2102 controlled devices. This will
enable touchscreen, audio and APM code to report battery level.

If there are other boards at some point that use a TSC2102, similar
code can be used.

Signed-off-by: Andrzej Zaborowski <balrog@zabor.org>
Signed-off-by: Tony Lindgren <tony@atomide.com>
17 years agoARM: OMAP: PalmZ71 support
Marek Vašut [Thu, 7 Dec 2006 01:13:57 +0000 (17:13 -0800)]
ARM: OMAP: PalmZ71 support

Palmz71 specific things - board file.

Signed-off-by: Marek Vašut <marek.vasut@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
17 years agoARM: OMAP: Enable DSP clocks for McBSP on omap310
Marek Vašut [Thu, 7 Dec 2006 01:13:55 +0000 (17:13 -0800)]
ARM: OMAP: Enable DSP clocks for McBSP on omap310

This patch enables some clock on omap310.

Signed-off-by: Marek Vašut <marek.vasut@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
17 years agoARM: OMAP: omap2/gpmc updates
David Brownell [Thu, 7 Dec 2006 01:13:55 +0000 (17:13 -0800)]
ARM: OMAP: omap2/gpmc updates

GPMC updates:
 - bugfixes: wrong/missing flags, omitted write, wrong test
 - don't map memory segments starting at zero
 - improve debug messaging
 - export gpmc_get_fclk_perio]d() since it's needed to calc timings
 - expect gpmc_cs_set_timings() caller to have initialized sync vs async

Note that this API is glitchy; likely the best fix would be to add
a member to "struct gpmc_timings" to hold GPMC_CONFIG1, since that
holds one key aspect of the GPMC timings (the gpmc_fclk divisor,
and sync vs. async == whether that divisor matters).

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Tony Lindgren <tony@atomide.com>
17 years agoARM: OMAP: 24xx pinmux updates
Kyungmin Park [Thu, 7 Dec 2006 01:13:54 +0000 (17:13 -0800)]
ARM: OMAP: 24xx pinmux updates

Add some OMAP 24xx pin mux declarations to support:

 - TUSB 6010 EVM (on H4)
 - All three full speed USB ports
 - GPIOs used with USB0 on Apollon and H4

For OMAP2, issue MUX_WARNINGS and debug messages correctly; and make the
message look more like the OMAP1 message.

Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Tony Lindgren <tony@atomide.com>
17 years agoARM: OMAP: omap2/memory.c compile fixes
David Brownell [Thu, 7 Dec 2006 01:13:54 +0000 (17:13 -0800)]
ARM: OMAP: omap2/memory.c compile fixes

Remove some conflicting declarations in omap2/memory.c so that the
file builds again.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Tony Lindgren <tony@atomide.com>
17 years agoARM: OMAP: /sys/kernel/debug/omap_gpio
David Brownell [Thu, 7 Dec 2006 01:13:53 +0000 (17:13 -0800)]
ARM: OMAP: /sys/kernel/debug/omap_gpio

Add some GPIO debug support:  /sys/kernel/debug/omap_gpio dumps the state
of all GPIOs that have been claimed, including basic IRQ info if relevant.
Tested on 24xx, 16xx.

Includes minor bugfixes:  recording IRQ trigger mode (this should probably
be a genirq patch), adding missing space to non-wakeup warning

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Tony Lindgren <tony@atomide.com>
17 years agoARM: OMAP: Fix apollon boot
Kyungmin Park [Thu, 7 Dec 2006 01:13:53 +0000 (17:13 -0800)]
ARM: OMAP: Fix apollon boot

In previous GPMC patch, there was a typo. Fix typo and add header files for
set_irq_type() warnings.

Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
17 years agoARM: OMAP: Add support for Amstrad Delta keypad
Jonathan McDowell [Thu, 7 Dec 2006 01:13:52 +0000 (17:13 -0800)]
ARM: OMAP: Add support for Amstrad Delta keypad

This adds support for the keypad on the top of the Amstrad Delta. It's
just a standard omap-keypad so all we need to do is add the keypad
layout and platform data to the board definition file.

Signed-off-by: Jonathan McDowell <noodles@earth.li>
Signed-off-by: Tony Lindgren <tony@atomide.com>
17 years agoARM: OMAP: Implement workaround for GPIO wakeup bug in OMAP2420 silicon
Juha Yrjola [Thu, 7 Dec 2006 01:13:52 +0000 (17:13 -0800)]
ARM: OMAP: Implement workaround for GPIO wakeup bug in OMAP2420 silicon

Some GPIOs on OMAP2420 do not have wakeup capabilities. If these GPIOs
are configured as IRQ sources, spurious interrupts will be generated
each time the core domain enters retention.

Signed-off-by: Juha Yrjola <juha.yrjola@solidboot.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
17 years agoARM: OMAP: Palm Tungsten E board update
Andrzej Zaborowski [Thu, 7 Dec 2006 01:13:51 +0000 (17:13 -0800)]
ARM: OMAP: Palm Tungsten E board update

General update of the board file for Palm Tungsten E. Registers the
platform devices contained in the PDA (ROM chip, keypad, infra-red)
and updates the configuration for USB and MMC, whose config values
were previously guessed in most cases due to lack of documentation
(and now are confirmed by a number of users). Macros for GPIO pins are
moved to a file in include/asm-arm/arch-omap.

Signed-off-by: Andrzej Zaborowski <balrog@zabor.org>
Signed-off-by: Tony Lindgren <tony@atomide.com>
17 years agoARM: OMAP: FB: add controller platform data
Imre Deak [Thu, 7 Dec 2006 01:13:50 +0000 (17:13 -0800)]
ARM: OMAP: FB: add controller platform data

Add controller platform data

Signed-off-by: Imre Deak <imre.deak@solidboot.com>
Signed-off-by: Juha Yrjola <juha.yrjola@solidboot.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
17 years agoARM: OMAP: Optimize INTC register accesses and enable autoidling
Juha Yrjola [Thu, 7 Dec 2006 01:13:50 +0000 (17:13 -0800)]
ARM: OMAP: Optimize INTC register accesses and enable autoidling

Use virtual addresses directly instead of physical addresses to
avoid having to recalculate the virtual address with every
register access.

Signed-off-by: Juha Yrjola <juha.yrjola@solidboot.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
17 years agoARM: OMAP: Enable serial idling and wakeup features
Juha Yrjola [Thu, 7 Dec 2006 01:13:49 +0000 (17:13 -0800)]
ARM: OMAP: Enable serial idling and wakeup features

Enable serial idling and wakeup features

Signed-off-by: Juha Yrjola <juha.yrjola@solidboot.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
17 years agoARM: OMAP: Add function to print clock usecounts
Juha Yrjola [Thu, 7 Dec 2006 01:13:49 +0000 (17:13 -0800)]
ARM: OMAP: Add function to print clock usecounts

Useful for debugging power management code.

Signed-off-by: Juha Yrjola <juha.yrjola@solidboot.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
17 years agoARM: OMAP: Enable 24xx GPIO autoidling
Juha Yrjola [Thu, 7 Dec 2006 01:13:48 +0000 (17:13 -0800)]
ARM: OMAP: Enable 24xx GPIO autoidling

Enable 24xx GPIO autoidling

Signed-off-by: Juha Yrjola <juha.yrjola@solidboot.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
17 years agoARM: OMAP: Add DMA IRQ sanity checks
Juha Yrjola [Thu, 7 Dec 2006 01:13:47 +0000 (17:13 -0800)]
ARM: OMAP: Add DMA IRQ sanity checks

Add DMA IRQ sanity checks

Signed-off-by: Juha Yrjola <juha.yrjola@solidboot.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
17 years agoARM: OMAP: Force APLLs always active
Juha Yrjola [Thu, 7 Dec 2006 01:13:47 +0000 (17:13 -0800)]
ARM: OMAP: Force APLLs always active

The APLLs are most efficiently idled by hardware.

Signed-off-by: Juha Yrjola <juha.yrjola@solidboot.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
17 years agoARM: OMAP: Place SMS and SDRC into smart idle mode
Juha Yrjola [Thu, 7 Dec 2006 01:13:46 +0000 (17:13 -0800)]
ARM: OMAP: Place SMS and SDRC into smart idle mode

Place SMS and SDRC into smart idle mode

Signed-off-by: Juha Yrjola <juha.yrjola@solidboot.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
17 years agoARM: OMAP: Fix warning in clock.c
Dirk Behme [Thu, 7 Dec 2006 01:13:51 +0000 (17:13 -0800)]
ARM: OMAP: Fix warning in clock.c

Fix warning:

arch/arm/mach-omap1/clock.c: In function
'omap1_clk_enable_generic':
arch/arm/mach-omap1/clock.c:499: warning: 'return' with no
value, in function returning non-void

Signed-off-by: Dirk Behme <dirk.behme_at_gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
17 years agoARM: OMAP: Fix compiler warning
Andrzej Zaborowski [Thu, 7 Dec 2006 01:13:48 +0000 (17:13 -0800)]
ARM: OMAP: Fix compiler warning

Fix the following compiler warning (only visible with
CONFIG_OMAP_RESET_CLOCKS):

arch/arm/mach-omap1/clock.c: In function 'omap1_clk_disable_unused':
arch/arm/mach-omap1/clock.c:634: warning: 'return' with a value, in
function returning void

Signed-off-by: Andrzej Zaborowski <balrog@zabor.org>
Signed-off-by: Tony Lindgren <tony@atomide.com>
17 years ago[PATCH] Fix build error due to not including <linux/errno.h>
Ralf Baechle [Sun, 18 Mar 2007 12:58:08 +0000 (12:58 +0000)]
[PATCH] Fix build error due to not including <linux/errno.h>

Since d9a9cdfb078d755e648d53ec25b7370f84ee5729 <linux/sysfs.h> is using
ENOSYS without including <linux/errno.h> if CONFIG_SYSFS is disabled.

Fixed by including <linux/errno.h>.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years ago[PATCH] tty: Fix two reported pid leaks
Eric W. Biederman [Sun, 18 Mar 2007 18:45:44 +0000 (12:45 -0600)]
[PATCH] tty: Fix two reported pid leaks

These leaks were reported by: Catalin Marinas <catalin.marians@gmail.com>
and I have been able to very by inspection they are possible.

When converting tty_io.c to store pids as struct pid pointers instead
of pid_t values it appears I overlooked two places where we stop using
the pid value.  The very obvious one is in do_tty_hangup, and the one
the less obvious one in __proc_set_tty.

When looking into the code __proc_set_tty only has pids that need to
be put because of failures of other parts of the code to properly
perform hangup processing.   Fixing the leak here in __proc_set_tty
is easy and obviously correct so I am doing that first.

Fixing the places that should be performing hangup processing is much
less obviously correct.  So those I'm aiming those patches at -mm.
for now, so the can age a while before they are merged.

Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years ago[PATCH] gpio_direction_output-needs-an-initial-value fix
David Brownell [Sun, 18 Mar 2007 09:26:13 +0000 (01:26 -0800)]
[PATCH] gpio_direction_output-needs-an-initial-value fix

Build fix:  sa1100/generic.c should already have included <asm/gpio.h>,
but it didn't ... causing a build problem with a recent patch.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Cc: Russell King <rmk@arm.linux.org.uk>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years ago[PATCH] i386: trust the PM-Timer calibration of the local APIC timer
Thomas Gleixner [Sun, 18 Mar 2007 09:26:13 +0000 (01:26 -0800)]
[PATCH] i386: trust the PM-Timer calibration of the local APIC timer

When PM-Timer is available for local APIC timer calibration we can skip the
verification of the calibrated time value.  The resulting error is quite
small on a bunch of evaluated platforms and is less harming than the
observed false positives.

We need to keep the verification on systems, which have no PM-Timer to
avoid bogus local APIC timer calibrations in the range of factor 2-10,
which can be observed when swicthing off the PM-timer support in the kernel
configuration.

The wrong calibration values are probably caused by SMM code trying to
emulate a PS/2 keyboard from a (maybe connected or not) USB keyboard.  This
prohibits the accurate delivery of PIT interrupts, which are used to
calibrate the local APIC timer.  Unfortunately we have no way to disable
this BIOS misfeature in the early boot process.

Add also the dropped cpu_relax() back to the wait loops.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Acked-by: Ingo Molnar <mingo@elte.hu>
Acked-by: Andi Kleen <ak@suse.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years ago[PATCH] Fix atomicity of TIF update in flush_thread() for x86_64
Mathieu Desnoyers [Sun, 18 Mar 2007 09:26:11 +0000 (01:26 -0800)]
[PATCH] Fix atomicity of TIF update in flush_thread() for x86_64

Fix atomicity of TIF update in flush_thread() for x86_64

Race :

parent process executing :
sys_ptrace()
 (lock_kernel())
 (ptrace_get_task_struct(pid))
 arch_ptrace()
   ptrace_detach()
     ptrace_disable(child);
       clear_singlestep(child);
         clear_tsk_thread_flag(child, TIF_SINGLESTEP);
         (which clears the TIF_SINGLESTEP flag atomically from a different
  process)
 (put_task_struct(child))
 (unlock_kernel())

And at the same time, in the child process :
sys_execve()
 do_execve()
   search_binary_handler()
     load_elf_binary()
       flush_old_exec()
         flush_thread()
           doing a non-atomic thread flag update

Signed-off-by: Rebecca Schultz <rschultz@google.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
Acked-by: Andi Kleen <ak@suse.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years ago[PATCH] machzwd warning fix
Andrew Morton [Sun, 18 Mar 2007 09:26:10 +0000 (01:26 -0800)]
[PATCH] machzwd warning fix

drivers/char/watchdog/machzwd.c: In function 'zf_ioctl':
drivers/char/watchdog/machzwd.c:327: warning: passing argument 1 of 'zf_ping' makes integer from pointer without a cast

Also some coding-style repairs.

Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Cc: Al Viro <viro@ftp.linux.org.uk>
Acked-by: Wim Van Sebroeck <wim@iguana.be>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years ago[PATCH] ia64: platform_kernel_launch_event is noop on generic kernel
John Keller [Sun, 18 Mar 2007 09:26:09 +0000 (01:26 -0800)]
[PATCH] ia64: platform_kernel_launch_event is noop on generic kernel

Add a missing #define for the platform_kernel_launch_event.  Without this
fix, a call to platform_kernel_launch_event() becomes a noop on generic
kernels.  SN systems require this fix to successfully kdump/kexec from
certain hardware errors.

[bwalle@suse.de: fix it]
Signed-off-by: John Keller <jpk@sgi.com>
Cc: Bernhard Walle <bwalle@suse.de>
Acked-by: Simon Horman <horms@verge.net.au>
Acked-by: Jay Lan <jlan@sgi.com>
Acked-by: "Luck, Tony" <tony.luck@intel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years ago[PATCH] Fix wrong /proc/iomem on SGI Altix
Bernhard Walle [Sun, 18 Mar 2007 09:26:08 +0000 (01:26 -0800)]
[PATCH] Fix wrong /proc/iomem on SGI Altix

In sn_io_slot_fixup(), the parent is re-set from the bus to
io(port|mem)_resource because the address is changed in a way that it's not
child of the bus any more.

However, only the root is set but not the parent/child/sibling relationship
in the resource tree which causes 'cat /proc/iomem' to stop after this
memory area.  Depding on the poition in the tree the iomem may be nearly
completely empty.

Signed-off-by: Bernhard Walle <bwalle@suse.de>
Cc: John Keller <jpk@sgi.com>
Cc: Jay Lan <jlan@engr.sgi.com>
Acked-by: "Luck, Tony" <tony.luck@intel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years ago[PATCH] X86_P4_CLOCKMOD must select CPU_FREQ_TABLE
Adrian Bunk [Sun, 18 Mar 2007 09:26:07 +0000 (01:26 -0800)]
[PATCH] X86_P4_CLOCKMOD must select CPU_FREQ_TABLE

CONFIG_CPU_FREQ=y
CONFIG_CPU_FREQ_TABLE=m
CONFIG_X86_P4_CLOCKMOD=y

arch/x86_64/kernel/built-in.o: In function `cpufreq_p4_verify':p4-clockmod.c:(.text.cpufreq_p4_verify+0x8): undefined reference to `cpufreq_frequency_table_verify'
arch/x86_64/kernel/built-in.o: In function `cpufreq_p4_cpu_exit':p4-clockmod.c:(.text.cpufreq_p4_cpu_exit+0x8): undefined reference to `cpufreq_frequency_table_put_attr'
arch/x86_64/kernel/built-in.o: In function `cpufreq_p4_cpu_init':p4-clockmod.c:(.text.cpufreq_p4_cpu_init+0x13b): undefined reference to `cpufreq_frequency_table_get_attr'

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Acked-by: Dave Jones <davej@redhat.com>
Cc: David Rientjes <rientjes@google.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agoMerge branch 'linus' of git://kvm.qumranet.com/home/avi/kvm
Linus Torvalds [Sun, 18 Mar 2007 18:08:52 +0000 (11:08 -0700)]
Merge branch 'linus' of git://kvm.qumranet.com/home/avi/kvm

* 'linus' of git://kvm.qumranet.com/home/avi/kvm:
  KVM: MMU: Fix host memory corruption on i386 with >= 4GB ram
  KVM: MMU: Fix guest writes to nonpae pde
  KVM: Fix guest sysenter on vmx
  KVM: Unset kvm_arch_ops if arch module loading failed

17 years agoMerge branch 'linus' of master.kernel.org:/pub/scm/linux/kernel/git/perex/alsa
Linus Torvalds [Sun, 18 Mar 2007 17:50:44 +0000 (10:50 -0700)]
Merge branch 'linus' of master.kernel.org:/pub/scm/linux/kernel/git/perex/alsa

* 'linus' of master.kernel.org:/pub/scm/linux/kernel/git/perex/alsa:
  [ALSA] hda-intel - Fix HDA buffer alignment
  [ALSA] hda-codec - Add model for HP Compaq d5750
  [ALSA] hda-codec - Add support for MacBook Pro 1st generation
  [ALSA] version 1.0.14rc3
  [ALSA] hda-codec - Add model for HP Compaq d5700
  [ALSA] intel8x0 - Fix Oops at kdump crash kernel
  [ALSA] hda-codec - Fix speaker output on MacPro
  [ALSA] hda-codec - more systems for Analog Devices
  [ALSA] hda-intel - Fix codec probe with ATI contorllers
  [ALSA] hda-codec - Add suppoprt for Asus M2N-SLI motherboard
  [ALSA] intel8x0 - Fix speaker output after S2RAM
  [ALSA] ac97 - fix AD shared shared jack control logic
  [ALSA] soc - Fix dependencies in Kconfig files

17 years agoKVM: MMU: Fix host memory corruption on i386 with >= 4GB ram
Avi Kivity [Fri, 9 Mar 2007 11:04:31 +0000 (13:04 +0200)]
KVM: MMU: Fix host memory corruption on i386 with >= 4GB ram

PAGE_MASK is an unsigned long, so using it to mask physical addresses on
i386 (which are 64-bit wide) leads to truncation.  This can result in
page->private of unrelated memory pages being modified, with disasterous
results.

Fix by not using PAGE_MASK for physical addresses; instead calculate
the correct value directly from PAGE_SIZE.  Also fix a similar BUG_ON().

Acked-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Avi Kivity <avi@qumranet.com>
17 years agoKVM: MMU: Fix guest writes to nonpae pde
Avi Kivity [Thu, 8 Mar 2007 15:13:32 +0000 (17:13 +0200)]
KVM: MMU: Fix guest writes to nonpae pde

KVM shadow page tables are always in pae mode, regardless of the guest
setting.  This means that a guest pde (mapping 4MB of memory) is mapped
to two shadow pdes (mapping 2MB each).

When the guest writes to a pte or pde, we intercept the write and emulate it.
We also remove any shadowed mappings corresponding to the write.  Since the
mmu did not account for the doubling in the number of pdes, it removed the
wrong entry, resulting in a mismatch between shadow page tables and guest
page tables, followed shortly by guest memory corruption.

This patch fixes the problem by detecting the special case of writing to
a non-pae pde and adjusting the address and number of shadow pdes zapped
accordingly.

Acked-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Avi Kivity <avi@qumranet.com>
17 years agoKVM: Fix guest sysenter on vmx
Avi Kivity [Tue, 6 Mar 2007 10:05:53 +0000 (12:05 +0200)]
KVM: Fix guest sysenter on vmx

The vmx code currently treats the guest's sysenter support msrs as 32-bit
values, which breaks 32-bit compat mode userspace on 64-bit guests.  Fix by
using the native word width of the machine.

Signed-off-by: Avi Kivity <avi@qumranet.com>
17 years agoKVM: Unset kvm_arch_ops if arch module loading failed
Avi Kivity [Thu, 1 Mar 2007 17:21:03 +0000 (19:21 +0200)]
KVM: Unset kvm_arch_ops if arch module loading failed

Otherwise, the core module thinks the arch module is loaded, and won't
let you reload it after you've fixed the bug.

Signed-off-by: Avi Kivity <avi@qumranet.com>
17 years agoMerge master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6
Linus Torvalds [Sun, 18 Mar 2007 00:05:16 +0000 (17:05 -0700)]
Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6

* master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6:
  [SPARC64]: Use Kconfig.preempt

17 years agoMerge master.kernel.org:/pub/scm/linux/kernel/git/bart/ide-2.6
Linus Torvalds [Sun, 18 Mar 2007 00:00:48 +0000 (17:00 -0700)]
Merge master.kernel.org:/pub/scm/linux/kernel/git/bart/ide-2.6

* master.kernel.org:/pub/scm/linux/kernel/git/bart/ide-2.6:
  ide: remove CONFIG_IDEDMA_{ICS,PCI}_AUTO config options
  ide: don't allow DMA to be enabled if CONFIG_IDEDMA_{ICS,PCI}_AUTO=n
  scc_pata: dependency fix
  jmicron: make ide jmicron driver play nice with libata ones
  ide: remove static prototypes from include/asm-mips/mach-au1x00/au1xxx_ide.h
  ide: au1xxx: fix use of mixed declarations and code
  cmd64x: fix recovery time calculation (take 3)

17 years agoMerge branch 'for-linus' of git://one.firstfloor.org/home/andi/git/linux-2.6
Linus Torvalds [Sat, 17 Mar 2007 23:57:41 +0000 (16:57 -0700)]
Merge branch 'for-linus' of git://one.firstfloor.org/home/andi/git/linux-2.6

* 'for-linus' of git://one.firstfloor.org/home/andi/git/linux-2.6:
  [PATCH] x86: Export _proxy_pda for gcc 4.2
  [PATCH] i386: Don't use the TSC in sched_clock if unstable
  [PATCH] x86-64: fix section mismatch warnings
  [PATCH] i386: Enforce GPLness of VMI ROM
  [PATCH] x86-64: wire up compat sched_rr_get_interval(2)
  [PATCH] i386: Update defconfig
  [PATCH] x86-64: Update defconfig

17 years ago[SPARC64]: Use Kconfig.preempt
David S. Miller [Sat, 17 Mar 2007 22:23:22 +0000 (15:23 -0700)]
[SPARC64]: Use Kconfig.preempt

Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agoide: remove CONFIG_IDEDMA_{ICS,PCI}_AUTO config options
Bartlomiej Zolnierkiewicz [Sat, 17 Mar 2007 20:57:41 +0000 (21:57 +0100)]
ide: remove CONFIG_IDEDMA_{ICS,PCI}_AUTO config options

All modern distributions have been setting these options to "y" for ages.
(additionally "n" cases have been obsoleted for few years).  Therefore use
DMA by default and remove CONFIG_IDEDMA_{ICS,PCI}_AUTO (also remove no longer
needed CONFIG_IDEDMA_AUTO).  This fixes DMA support for rare configurations
where CONFIG_IDEDMA_{ICS,PCI}_AUTO was set to "n" but "hdparm -d 1" was used
to enable DMA support and which were forced to PIO mode by "ide: don't allow
DMA to be enabled if CONFIG_IDEDMA_{ICS,PCI}_AUTO=n" patch.  There is no
functionality loss because "ide=nodma" kernel option is still available.

Cc: Patrick Horn <phrh@yahoo.com>
Cc: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Cc: Russell King <rmk+lkml@arm.linux.org.uk>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
17 years agoide: don't allow DMA to be enabled if CONFIG_IDEDMA_{ICS,PCI}_AUTO=n
Bartlomiej Zolnierkiewicz [Sat, 17 Mar 2007 20:57:39 +0000 (21:57 +0100)]
ide: don't allow DMA to be enabled if CONFIG_IDEDMA_{ICS,PCI}_AUTO=n

For CONFIG_IDEDMA_{ICS,PCI}_AUTO=n and/or "ide=nodma" option the host/device
are not programmed for DMA and it is also explicitly disabled by ide_set_dma()
(->ide_dma_check returns "-1").  However the code responsible for manually
enabling DMA ("hdparm -d 1") has a bug which results in DMA being erroneously
enabled - ide_set_dma() incorrectly passes "0" return value to set_using_dma().
This may work if BIOS/firmware configured the host/device for DMA and chipset
allows independent configuration of DMA/PIO modes but won't work after suspend
and is generally unsafe on many chipsets (possibly including data corruption
if the same registers are used for DMA/PIO timings).

This patch fixes kernel bugzilla bug #8169 (piix host driver fixes for
setting PIO mode exposed the problem described above).  The side-effect of
the fix is that some rare configuration may be forced to PIO mode when DMA
mode was previously used - this is addressed by the next patch which removes
CONFIG_IDEDMA_{PCI,ICS}_AUTO config option completely.

Thanks goes out to Patrick Horn for reporting the issue, narrowing it down
to the specific commit and testing the fix.  Also thanks to Sergei Shtylyov
for help in debugging the problem.

Cc: Patrick Horn <phrh@yahoo.com>
Cc: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Cc: Russell King <rmk+lkml@arm.linux.org.uk>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
17 years agoscc_pata: dependency fix
Kou Ishizaki [Sat, 17 Mar 2007 20:57:25 +0000 (21:57 +0100)]
scc_pata: dependency fix

This patch fixes:
* the dependency of scc_pata on BLK_DEV_IDEDMA_PCI
* incorrect link to ide-core
* move scc_pata from ide/ppc to ide/pci

Signed-off-by: Kou Ishizaki <kou.ishizaki@toshiba.co.jp>
Signed-off-by: Akira Iguchi <akira2.iguchi@toshiba.co.jp>
Cc: Al Viro <viro@ftp.linux.org.uk>,
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
17 years agojmicron: make ide jmicron driver play nice with libata ones
Tejun Heo [Sat, 17 Mar 2007 20:57:25 +0000 (21:57 +0100)]
jmicron: make ide jmicron driver play nice with libata ones

When libata is configured, the device is configured such that SATA and
PATA ports live in separate functions with different programming
interfaces.  pata_jmicron and ide jmicron drivers can drive only the
PATA part.

This patch makes jmicron match PCI class code such that it doesn't
attach itself to the SATA part preventing the proper ahci driver from
attaching.

This change is suggested by Bartlomiej.

Signed-off-by: Tejun Heo <htejun@gmail.com>
Cc: Jeff Garzik <jeff@garzik.org>
Cc: justin@jmicron.com
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
17 years agoide: remove static prototypes from include/asm-mips/mach-au1x00/au1xxx_ide.h
Daniel Mack [Sat, 17 Mar 2007 20:57:24 +0000 (21:57 +0100)]
ide: remove static prototypes from include/asm-mips/mach-au1x00/au1xxx_ide.h

This patch removes the static prototypes from the au1xxx_ide.h, some of
them were not even implemented. Also, they caused build breakage since
they differed from the functions actually implemented in
drivers/ide/mips/au1xxx-ide.c.

Signed-off-by: Daniel Mack <daniel@caiaq.de>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
17 years agoide: au1xxx: fix use of mixed declarations and code
Ralf Baechle [Sat, 17 Mar 2007 20:57:24 +0000 (21:57 +0100)]
ide: au1xxx: fix use of mixed declarations and code

drivers/ide/mips/au1xxx-ide.c:684: warning: ISO C90 forbids mixed declarations and code

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
17 years agocmd64x: fix recovery time calculation (take 3)
Sergei Shtylyov [Sat, 17 Mar 2007 20:57:24 +0000 (21:57 +0100)]
cmd64x: fix recovery time calculation (take 3)

The driver wrongly takes the address setup time into account when calculating
the PIO recovery time -- this leads to slight overclocking of the PIO modes 0
and 1 (so, the prayers failed to help, as usual :-).  Rework the code to be
calculating recovery clock count as a difference between the total cycle count
and the active count (we don't need to calculate the recovery time itself since
it's not specified for the PIO modes 0 to 2, and for modes 3 and 4 this formula
gives enough recovery time anyway in the chip's supported PCI frequency range).

This patch has been inspired by reading the datasheets and looking at what the
libata driver does; it has been compile-tested only (as usual :-) but anyway,
the new code gives the same or longer recovery times than the old one...

Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
17 years ago[PATCH] clockevents: Fix suspend/resume to disk hangs
Thomas Gleixner [Fri, 16 Mar 2007 23:25:52 +0000 (00:25 +0100)]
[PATCH] clockevents: Fix suspend/resume to disk hangs

I finally found a dual core box, which survives suspend/resume without
crashing in the middle of nowhere. Sigh, I never figured out from the
code and the bug reports what's going on.

The observed hangs are caused by a stale state transition of the clock
event devices, which keeps the RCU synchronization away from completion,
when the non boot CPU is brought back up.

The suspend/resume in oneshot mode needs the similar care as the
periodic mode during suspend to RAM. My assumption that the state
transitions during the different shutdown/bringups of s2disk would go
through the periodic boot phase and then switch over to highres resp.
nohz mode were simply wrong.

Add the appropriate suspend / resume handling for the non periodic
modes.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agoMerge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
Linus Torvalds [Sat, 17 Mar 2007 02:28:52 +0000 (19:28 -0700)]
Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6

* master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6:
  [IPV6]: ipv6_fl_socklist is inadvertently shared.
  [TCP]: Fix tcp_mem[] initialization.
  [NET]: Copy mac_len in skb_clone() as well
  [IPV4]: Do not disable preemption in trie_leaf_remove().

17 years agoMerge master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6
Linus Torvalds [Sat, 17 Mar 2007 02:28:33 +0000 (19:28 -0700)]
Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6

* master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6:
  [SPARC64]: Get DEBUG_PAGEALLOC working again.

17 years agoMerge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus
Linus Torvalds [Sat, 17 Mar 2007 02:28:15 +0000 (19:28 -0700)]
Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus

* 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus:
  [MIPS] Kconfig: Move missplaced NR_CPUS default from SMTC to VSMP.
  [MIPS] Lockdep: Fix recursion bug.
  [MIPS] RTLX: Handle copy_*_user return values.
  [MIPS] RTLX: Protect rtlx_{read,write} with mutex.
  [MIPS] RTLX: Harden against compiler reordering and optimization.
  [MIPS] RTLX: Don't use volatile; it's fragile.
  [MIPS] Lasat: Downgrade 64-bit kernel from experimental to broken.
  [MIPS] Compat: Fix build if CONFIG_SYSVIPC is disabled.
  [CHAR] lcd: Fix two warnings.
  [MIPS] FPU ownership management & preemption fixes
  [MIPS] Check FCSR for pending interrupts, alternative version
  [MIPS] IP27, IP35: Fix warnings.

17 years ago[PATCH] fix MTIME_SEC_MAX on 32-bit
Thomas Gleixner [Fri, 16 Mar 2007 22:15:57 +0000 (14:15 -0800)]
[PATCH] fix MTIME_SEC_MAX on 32-bit

The maximum seconds value we can handle on 32bit is LONG_MAX.

Cc: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years ago[PATCH] i386: fix typo in sync_constant_test_bit()'s name
Jeremy Fitzhardinge [Fri, 16 Mar 2007 21:38:37 +0000 (13:38 -0800)]
[PATCH] i386: fix typo in sync_constant_test_bit()'s name

Fix typo in sync_constant_test_bit()'s name, so sync_bitops.h is consistent
with bitops.h

Signed-off-by: Jeremy Fitzhardinge <jeremy@xensource.com>
Signed-off-by: Chris Wright <chrisw@sous-sol.org>
Acked-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years ago[PATCH] spi_s3c24xx.c: warning fix
Arnaud Patard (Rtp [Fri, 16 Mar 2007 21:38:36 +0000 (13:38 -0800)]
[PATCH] spi_s3c24xx.c: warning fix

The set_cs field of struct s3c24xx_spi is declared as returning a int but
the value returned but set_cs is never fixed.  Moreover, the default
function for set_cs and the set_cs defintion in the platform data are
returning void.

I'm proposing to change the prototype to void (*set_cs)(...). By doing
this, I'm also fixing 2 build warnings:

  drivers/spi/spi_s3c24xx.c: In function 's3c24xx_spi_probe':
  drivers/spi/spi_s3c24xx.c:330: warning: assignment from incompatible pointer type
  drivers/spi/spi_s3c24xx.c:335: warning: assignment from incompatible pointer type

Signed-off-by: Arnaud Patard <arnaud.patard@rtp-net.org>
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years ago[PATCH] fix process crash caused by randomisation and 64k pages
James Bottomley [Fri, 16 Mar 2007 21:38:35 +0000 (13:38 -0800)]
[PATCH] fix process crash caused by randomisation and 64k pages

This bug was seen on ppc64, but it could have occurred on any
architecture with a page size of 64k or above.  The problem is that in
fs/binfmt_elf.c:randomize_stack_top() randomizes the stack to within
0x7ff pages.  On 4k page machines, this is 8MB; on 64k page boxes, this
is 128MB.

The problem is that the new binary layout (selected in
arch_pick_mmap_layout) places the mapping segment 128MB or the stack
rlimit away from the top of the process memory, whichever is larger.  If
you chose an rlimit of less than 128MB (most defaults are in the 8Mb
range) then you can end up having your entire stack randomized away.

The fix is to make randomize_stack_top() only steal at most 8MB, which this
patch does.  However, I have to point out that even with this, your stack
rlimit might not be exactly what you get if it's > 128MB, because you're
still losing the random offset of up to 8MB.

The true fix should be to leave an explicit gap for the randomization plus
a buffer when determining mmap_base, but that would involve fixing all the
architectures.

Cc: Arjan van de Ven <arjan@infradead.org>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Andi Kleen <ak@suse.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years ago[PATCH] initialise pi_lock if CONFIG_RT_MUTEXES=N
Zilvinas Valinskas [Fri, 16 Mar 2007 21:38:34 +0000 (13:38 -0800)]
[PATCH] initialise pi_lock if CONFIG_RT_MUTEXES=N

Fixes a bogus lockdep warning which causes lockdep to disable itself.

Acked-by: Ingo Molnar <mingo@elte.hu>
Cc: <stable@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years ago[PATCH] oom fix: prevent oom from killing a process with children/sibling unkillable
Ankita Garg [Fri, 16 Mar 2007 21:38:33 +0000 (13:38 -0800)]
[PATCH] oom fix: prevent oom from killing a process with children/sibling unkillable

Looking at oom_kill.c, found that the intention to not kill the selected
process if any of its children/siblings has OOM_DISABLE set, is not being
met.

Signed-off-by: Ankita Garg <ankita@in.ibm.com>
Acked-by: Nick Piggin <npiggin@suse.de>
Acked-by: William Irwin <wli@holomorphy.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years ago[PATCH] change misleading EFI partition support description
Johannes Berg [Fri, 16 Mar 2007 21:38:32 +0000 (13:38 -0800)]
[PATCH] change misleading EFI partition support description

Remove the misleading "Presently only useful on the IA-64 platform" text
from the EFI partition Kconfig.

EFI partitions are also used by Apple on their Intel-based machines and
thus you need EFI partition support if you (for example) want to attach
such a machine in target disk mode.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Acked-by: Matt Domsch <Matt_Domsch@dell.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years ago[PATCH] futex: PI state locking fix
Ingo Molnar [Fri, 16 Mar 2007 21:38:31 +0000 (13:38 -0800)]
[PATCH] futex: PI state locking fix

Testing of -rt by IBM uncovered a locking bug in wake_futex_pi(): the PI
state needs to be locked before we access it.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
Acked-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Chuck Ebbert <cebbert@redhat.com>
Cc: <stable@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years ago[PATCH] tpm_infineon: maintainer
Marcel Selhorst [Fri, 16 Mar 2007 21:38:31 +0000 (13:38 -0800)]
[PATCH] tpm_infineon: maintainer

Signed-off-by: Marcel Selhorst <tpm@selhorst.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years ago[PATCH] Initialise SAK member for each virtual console to prevent oops
Bernhard Walle [Fri, 16 Mar 2007 21:38:30 +0000 (13:38 -0800)]
[PATCH] Initialise SAK member for each virtual console to prevent oops

Initialise the SAK member of the vc_cons variable on all virtual terminals,
not only the first one.  This prevents an oops when trying Sysrq-C on e.g.
the second virtual terminal:

  kernel BUG at kernel/workqueue.c:212!
  invalid opcode: 0000 [1] SMP
  CPU 0
  Modules linked in: i915 drm deflate zlib_deflate twofish twofish_common serpent blowfish des ce
  Pid: 0, comm: swapper Not tainted 2.6.21-rc3-default #15
  RIP: 0010:[<ffffffff8028c955>]  [<ffffffff8028c955>] queue_work+0x32/0x51
  RSP: 0018:ffffffff805fada8  EFLAGS: 00010013
  RAX: ffffffff80683f38 RBX: ffffffff804ae700 RCX: 0000000000000000
  RDX: 0000000000000000 RSI: ffffffff80683f30 RDI: ffff81000134a840
  RBP: 0000000000000001 R08: 0000000000000005 R09: 0000000000000002
  R10: ffffffff805990e0 R11: ffff810037f4c0f0 R12: 000000000000006b
  R13: ffff81007aa23000 R14: 0000000000000001 R15: 0000000000000096
  FS:  0000000000000000(0000) GS:ffffffff804d8000(0000) knlGS:0000000000000000
  CS:  0010 DS: 0018 ES: 0018 CR0: 000000008005003b
  CR2: 00002b72026e9000 CR3: 0000000079175000 CR4: 00000000000006e0
  Process swapper (pid: 0, threadinfo ffffffff8059e000, task ffffffff80490840)
  Stack:  0000000000000096 ffffffff803635db ffffffff805fadf8 0000000000000001
   ffff8100013c2e40 0000000000000025 ffff81007c931c00 ffff81007aa23000
   0000000000000001 ffffffff8035e3ee 0000000000000092 ffff810037cc8000
  Call Trace:
   <IRQ>  [<ffffffff803635db>] __handle_sysrq+0x98/0x129
   [<ffffffff8035e3ee>] kbd_event+0x32e/0x56a
   [<ffffffff8037d502>] input_event+0x422/0x44a
   [<ffffffff80381d71>] atkbd_interrupt+0x449/0x503
   [<ffffffff8037a42d>] serio_interrupt+0x37/0x6f
   [<ffffffff8037affb>] i8042_interrupt+0x1f4/0x20a
   [<ffffffff8026bd20>] smp_send_timer_broadcast_ipi+0x2d/0x4e
   [<ffffffff8020eee5>] handle_IRQ_event+0x25/0x53
   [<ffffffff802a924c>] handle_edge_irq+0xe4/0x128
   [<ffffffff802562ac>] call_softirq+0x1c/0x28
   [<ffffffff802632eb>] do_IRQ+0x6c/0xd3
   [<ffffffff8024f4e7>] mwait_idle+0x0/0x45
   [<ffffffff80255631>] ret_from_intr+0x0/0xa
   <EOI>  [<ffffffff80248a4d>] datagram_poll+0x0/0xc8
   [<ffffffff8024f529>] mwait_idle+0x42/0x45
   [<ffffffff80242c05>] cpu_idle+0x8b/0xae
   [<ffffffff805a8779>] start_kernel+0x2b9/0x2c5
   [<ffffffff805a815e>] _sinittext+0x15e/0x162

  Code: 0f 0b eb fe 48 8b 07 48 63 d2 48 f7 d0 48 8b 3c d0 e8 13 ff
  RIP  [<ffffffff8028c955>] queue_work+0x32/0x51
   RSP <ffffffff805fada8>
  Kernel panic - not syncing: Aiee, killing interrupt handler!

Signed-off-by: Bernhard Walle <bwalle@suse.de>
Acked-by: Eric Biederman <ebiederm@xmission.com>
Cc: <stable@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years ago[PATCH] hwmon: Build fix for SENSORS_W83793
Stefano Brivio [Fri, 16 Mar 2007 21:38:29 +0000 (13:38 -0800)]
[PATCH] hwmon: Build fix for SENSORS_W83793

We need vid_which_vrm and vid_from_reg in the w83793 module.

Signed-off-by: Stefano Brivio <stefano.brivio@polimi.it>
Signed-off-by: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years ago[PATCH] nfs: nfs_getattr() can't call nfs_sync_mapping_range() for non-regular files
Trond Myklebust [Fri, 16 Mar 2007 21:38:28 +0000 (13:38 -0800)]
[PATCH] nfs: nfs_getattr() can't call nfs_sync_mapping_range() for non-regular files

Looks like we need a check in nfs_getattr() for a regular file. It makes
no sense to call nfs_sync_mapping_range() on anything else. I think that
should fix your problem: it will stop the NFS client from interfering
with dirty pages on that inode's mapping.

Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Acked-by: Olof Johansson <olof@lixom.net>
Cc: <stable@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years ago[PATCH] nfs: fix congestion control
Peter Zijlstra [Fri, 16 Mar 2007 21:38:26 +0000 (13:38 -0800)]
[PATCH] nfs: fix congestion control

The current NFS client congestion logic is severly broken, it marks the
backing device congested during each nfs_writepages() call but doesn't
mirror this in nfs_writepage() which makes for deadlocks.  Also it
implements its own waitqueue.

Replace this by a more regular congestion implementation that puts a cap on
the number of active writeback pages and uses the bdi congestion waitqueue.

Also always use an interruptible wait since it makes sense to be able to
SIGKILL the process even for mounts without 'intr'.

Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Acked-by: Trond Myklebust <trond.myklebust@fys.uio.no>
Cc: Christoph Lameter <clameter@engr.sgi.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years ago[PATCH] fix rescan_partitions to return errors properly
suzuki [Fri, 16 Mar 2007 21:38:25 +0000 (13:38 -0800)]
[PATCH] fix rescan_partitions to return errors properly

The only error code which comes from the partition checkers is -1, when
they finds an EIO.  As per the discussion, ENOMEM values were ignored,
as they might scare the users.

So, with the current code, we end up returning -1 and not EIO for the
ioctl() calls.  Which doesn't give any clue to the user of what went
wrong.

Signed-off-by: Suzuki K P <suzuki@in.ibm.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years ago[PATCH] swsusp: fix suspend when console is in VT_AUTO+KD_GRAPHICS mode
Andrew Johnson [Fri, 16 Mar 2007 21:38:24 +0000 (13:38 -0800)]
[PATCH] swsusp: fix suspend when console is in VT_AUTO+KD_GRAPHICS mode

When the console is in VT_AUTO+KD_GRAPHICS mode, switching to the
SUSPEND_CONSOLE fails, resulting in vt_waitactive() waiting indefinitely or
until the task is interrupted.  This patch tests if a console switch can
occur in set_console() and returns early if a console switch is not
possible.

[akpm@linux-foundation.org: cleanup]
Signed-off-by: Andrew Johnson <ajohnson@intrinsyc.com>
Acked-by: Pavel Machek <pavel@ucw.cz>
Cc: "Antonino A. Daplas" <adaplas@pol.net>
Cc: "Rafael J. Wysocki" <rjw@sisk.pl>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years ago[PATCH] smbfs: double free memory corruption
Vasily Averin [Fri, 16 Mar 2007 21:38:24 +0000 (13:38 -0800)]
[PATCH] smbfs: double free memory corruption

smbfs allocates rq_trans2buffer to handle server's multi transaction2 response
messages.  As struct smb_request may be reused, rq_trans2buffer is freed
before each new request.  However if last servers's response is not multi but
single trans2 message then new rq_trans2buffer is not allocated but last
smb_rput still tries to free it again.

To prevent this issue rq_trans2buffer pointer should be set to NULL after
kfree.

Signed-off-by: Vasily Averin <vvs@sw.ru>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years ago[PATCH] bool fbdevs must depend on FB = y
Geert Uytterhoeven [Fri, 16 Mar 2007 21:38:23 +0000 (13:38 -0800)]
[PATCH] bool fbdevs must depend on FB = y

Frame buffer device drivers that cannot be built as modules must depend on
`FB = y'.  Correct the 3 remaining offenders.

Signed-off-by: Geert Uytterhoeven <Geert.Uytterhoeven@sonycom.com>
Cc: Al Viro <viro@zeniv.linux.org.uk>
Cc: "Antonino A. Daplas" <adaplas@pol.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years ago[PATCH] eCryptfs: fix possible NULL ptr deref in ecryptfs_d_release()
Michael Halcrow [Fri, 16 Mar 2007 21:38:22 +0000 (13:38 -0800)]
[PATCH] eCryptfs: fix possible NULL ptr deref in ecryptfs_d_release()

ecryptfs_d_release() first dereferences a pointer (via
ecryptfs_dentry_to_lower()) and then afterwards checks to see if the
pointer it just dereferenced is NULL (via ecryptfs_dentry_to_private()).

This patch moves all of the work done on the dereferenced pointer inside a
block governed by the condition that the pointer is non-NULL.

Signed-off-by: Michael Halcrow <mhalcrow@us.ibm.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years ago[PATCH] hrtimer: fix up unlocked access to wall_to_monotonic
Thomas Gleixner [Fri, 16 Mar 2007 21:38:21 +0000 (13:38 -0800)]
[PATCH] hrtimer: fix up unlocked access to wall_to_monotonic

commit f4304ab21513b834c8fe3403927c60c2b81a72d7 (HZ free NTP) moved the
access to wall_to_monotonic in hrtimer_get_softirq_time() out of the
xtime_lock protection.

Move it back into the seq_lock section.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Acked-by: John Stultz <johnstul@us.ibm.com>
Cc: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>