Dirk Behme [Fri, 4 Aug 2006 10:41:22 +0000 (13:41 +0300)]
ARM: OMAP: Fix missing channel parameter in omapfb_main.c
Fix missing channel parameter using omap_set_dma_priority() in omapfb_main.c:
drivers/video/omap/omapfb_main.c: In function 'omapfb_do_probe':
drivers/video/omap/omapfb_main.c:1441: error: too few
arguments to function
'omap_set_dma_priority'
Signed-off-by: Dirk Behme <dirk.behme_at_gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
andrzej zaborowski [Fri, 4 Aug 2006 10:38:44 +0000 (13:38 +0300)]
[PATCH] ARM: OMAP: fix PWL macro names
Remove "16XX" from the names of PWL-related defines as they are valid
for other models as well.
Kyungmin Park [Fri, 4 Aug 2006 10:01:34 +0000 (13:01 +0300)]
[PATCH] ARM: OMAP: ARM: OMAP: LEDs driver support
ARM: OMAP: LEDs driver support
OMAP GPIO LEDs support
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Kyungmin Park [Fri, 4 Aug 2006 09:49:07 +0000 (12:49 +0300)]
[PATCH] ARM: OMAP: Apollon MMC support
Apollon board MMC supports on OMAP2
TODO:
We have to check MMC on H4
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Tony Lindgren [Fri, 4 Aug 2006 07:42:49 +0000 (10:42 +0300)]
ARM: OMAP: Remove sys_ck and sys_clkout from McBSP for 24xx
McBSP does not need sys_ck or sys_clkout. If the devices connected
to McBSP need sys_clkout, they need to request it.
Signed-off-by: Tony Lindgren <tony@atomide.com>
Imre Deak [Thu, 3 Aug 2006 13:14:45 +0000 (16:14 +0300)]
ARM: OMAP remove McBSP from statically built objects
Signed-off-by: Imre Deak <imre.deak@solidboot.com>
Signed-off-by: Juha Yrjola <juha.yrjola@solidboot.com>
Juha Yrjola [Thu, 3 Aug 2006 11:26:30 +0000 (14:26 +0300)]
ARM: OMAP: Make GPIO switch framework sysfs usage more sensible
Now there are three attributes per switch:
- state
- type
- direction
Also added support for an 'activity' type of switch.
Signed-off-by: Juha Yrjola <juha.yrjola@solidboot.com>
Juha Yrjola [Thu, 3 Aug 2006 11:22:26 +0000 (14:22 +0300)]
Merge 65.200.49.170:linux-omap
Imre Deak [Thu, 3 Aug 2006 10:50:31 +0000 (13:50 +0300)]
ARM: OMAP: make McBSP support a Kconfig option
Signed-off-by: Imre Deak <imre.deak@solidboot.com>
Signed-off-by: Juha Yrjola <juha.yrjola@solidboot.com>
Tony Lindgren [Thu, 3 Aug 2006 10:48:10 +0000 (13:48 +0300)]
ARM: OMAP: Fix CONFIG_OMAP_RESET_CLOCKS
We want to keep clocks static. Modify clock code accordingly.
Signed-off-by: Tony Lindgren <tony@atomide.com.
Tony Lindgren [Thu, 3 Aug 2006 10:46:57 +0000 (13:46 +0300)]
ARM: OMAP: Avoid sleeping during arch_reset
If we call clk_get() from arch_reset we get ugly messages before
reboot.
Signed-off-by: Tony Lindgren <tony@atomide.com>
Tony Lindgren [Thu, 3 Aug 2006 10:43:54 +0000 (13:43 +0300)]
Backport patch-sysrq-deadlock until kernel is updated
Backport patch
68aa2c0d4a36b43ea9c6d77134c94b4501fd2eb4.
Without this patch sysrq does not work with 8250 serial console.
Imre Deak [Wed, 2 Aug 2006 20:51:13 +0000 (23:51 +0300)]
ARM: OMAP: omapfb: fix error path
- pass dev_id to free_irq in dispc
- stop ESD poll only if it was started in lcd_mipid
Signed-off-by: Imre Deak <imre.deak@solidboot.com>
Signed-off-by: Juha Yrjola <juha.yrjola@solidboot.com>
Tony Lindgren [Wed, 2 Aug 2006 10:02:05 +0000 (13:02 +0300)]
ARM: OMAP: Remove non-static declaration of clocks
"clocks" should be static. It is currenly needed only for
CONFIG_OMAP_RESET_CLOCKS. A follow-up patch will fix
CONFIG_OMAP_RESET_CLOCKS while keeping clocks static.
Signed-off-by: Tony Lindgren <tony@atomide.com>
Imre Deak [Mon, 31 Jul 2006 13:13:33 +0000 (16:13 +0300)]
ARM: OMAP: omapfb: lcd_mipid ESD is blocking keventd
Some time critical work may be put onto the keventd workqueue so let's
not block it with msleep, use a dedicated workqueue instead.
Signed-off-by: Imre Deak <imre.deak@solidboot.com>
Signed-off-by: Juha Yrjola <juha.yrjola@solidboot.com>
Imre Deak [Mon, 24 Jul 2006 13:02:19 +0000 (16:02 +0300)]
lcd_mipid: keep a delay of two frames when disabling the LCD
ls041y3 needs the PCLK,HS,VS signals for a while after sending the sleep
in command, so sleep 50 msec.
Signed-off-by: Imre Deak <imre.deak@solidboot.com>
Signed-off-by: Juha Yrjola <juha.yrjola@solidboot.com>
Imre Deak [Mon, 24 Jul 2006 12:46:37 +0000 (15:46 +0300)]
lcd_mipid: call cancel_rearming_delayed_work only on scheduled work
Otherwise it will spin forever.
Signed-off-by: Imre Deak <imre.deak@solidboot.com>
Signed-off-by: Juha Yrjola <juha.yrjola@solidboot.com>
Imre Deak [Wed, 19 Jul 2006 12:29:39 +0000 (15:29 +0300)]
ARM: OMAP2: Dynamic allocator for GPMC memory space
Add support for assigning memory regions dynamically to peripherals
attached to GPMC interface. Platform specific code should now call
gpmc_cs_request to get a free GPMC memory region instead of using
a fixed address.
Make the H4 and Apollon platform initialization use the new API.
Signed-off-by: Imre Deak <imre.deak@solidboot.com>
Signed-off-by: Juha Yrjola <juha.yrjola@solidboot.com>
Imre Deak [Thu, 6 Jul 2006 16:23:09 +0000 (19:23 +0300)]
ARM: OMAP: timer32k: fix tick count calculation when reprogramming
Reprogramming takes places before putting the CPU into idle mode if
the dynamic tick option is enabled. The timer is then set to expire
at the next pending timer event. Because some time has already passed
since the last reported jiffy we have to wait less than the time
specified in jiffies.
Also make sure we don't set a load value of 0 whose outcome is
unspecified according to the TRM.
Signed-off-by: Imre Deak <imre.deak@solidboot.com>
Signed-off-by: Juha Yrjola <juha.yrjola@solidboot.com>
Imre Deak [Thu, 6 Jul 2006 16:06:10 +0000 (19:06 +0300)]
ARM: OMAP: omapfb: screen base should be set for allocated memory regions
FB kernel virtual address was left unset causing the FB console crash on
OMAP1.
Signed-off-by: Imre Deak <imre.deak@solidboot.com>
Juha Yrjola [Mon, 24 Jul 2006 13:46:26 +0000 (16:46 +0300)]
LED: Add driver for LEDs connected to OMAP PWM
The PWM block on the TI OMAP CPU can drive some external GPIOs. LEDs
can be connected to these GPIOs.
Signed-off-by: Juha Yrjola <juha.yrjola@solidboot.com>
imre.deak@solidboot.com [Mon, 3 Jul 2006 18:40:10 +0000 (21:40 +0300)]
Input: ads7846: leave Vref on during differential measurements optionally
On some LCDs leaving the Vref on provides much better readings.
Signed-off-by: Jarkko Oikarinen <jarkko.oikarinen@nokia.com>
Signed-off-by: Imre Deak <imre.deak@solidboot.com>
Signed-off-by: Juha Yrjola <juha.yrjola@solidboot.com>
imre.deak@solidboot.com [Mon, 3 Jul 2006 18:36:53 +0000 (21:36 +0300)]
Input: ads7846: pluggable filtering logic
Some LCDs like the LS041Y3 require a customized filtering
logic for reliable readings, so make the filtering function
replacable through platform specific hooks.
Signed-off-by: Imre Deak <imre.deak@solidboot.com>
Signed-off-by: Juha Yrjola <juha.yrjola@solidboot.com>
imre.deak@solidboot.com [Mon, 3 Jul 2006 18:34:16 +0000 (21:34 +0300)]
Input: ads7846: switch to hrtimer
Use hrtimer instead of the normal timer, since it provides better
sampling resolution. This will:
- avoid a problem where we have a 1 jiffy poll period and dynamic tick on
- utilize high resolution HW clocks when they are added to the hrtimer
framework
Signed-off-by: Imre Deak <imre.deak@solidboot.com>
Signed-off-by: Juha Yrjola <juha.yrjola@solidboot.com>
imre.deak@solidboot.com [Wed, 5 Jul 2006 16:18:32 +0000 (19:18 +0300)]
Input: ads7846: detect pen up from IRQ state
We can't depend on the pressure value to determine when the pen was
lifted, so use the IRQ line state instead.
Signed-off-by: Imre Deak <imre.deak@solidboot.com>
Signed-off-by: Juha Yrjola <juha.yrjola@solidboot.com>
Imre Deak [Wed, 12 Jul 2006 11:18:57 +0000 (14:18 +0300)]
ARM: OMAP: DISPC: DMA underflow for high graphics bandwith
DISPC DMA can, in certain conditions, underflow which will trigger an error
condition and halt the graphics pipeline. The only way to recover from
this would be to reset the related HW modules, which would abort the
current transfer and cause unwanted visual side-effects. The problem
arises mainly when enabling multiple planes with higher resolutions.
The arbitration priority of the DISPC DMA cannot be raised higher, thus -
so far - the only workaround is to keep the DMA FIFO full as much as
possible to minimize the risk of it being totally drained. The patch does
this for external LCD controllers connected to RFBI, where the new FIFO
setting doesn't degrade power consumption significantly.
Signed-off-by: Imre Deak <imre.deak@solidboot.com>
Signed-off-by: Juha Yrjola <juha.yrjola@solidboot.com>
Samuel Ortiz [Thu, 13 Jul 2006 12:24:25 +0000 (15:24 +0300)]
IDLETIMER: We shouldn't sleep in the timer routine
Currently, IDLETIMER timer routine calls kobject_uevent, which might sleep.
Since we are in interrupt context, we now schedule a work when the timer
expires. This calls sysfs_notify() for notifying userspace.
Signed-off-by: Samuel Ortiz <samuel.ortiz@solidboot.com>
Signed-off-by: Juha Yrjola <juha.yrjola@solidboot.com>
Samuel Ortiz [Thu, 13 Jul 2006 10:04:06 +0000 (13:04 +0300)]
IDLETIMER: New xt_target prototype
In ipt_IDLETIMER.c, we are using an old prototype for xt_target hooks. We need
to pass one additional argument, a pointer to xt_target.
We also need to specify the targetsize value, otherwise registration fails.
Signed-off-by: Samuel Ortiz <samuel.ortiz@solidboot.com>
Signed-off-by: Juha Yrjola <juha.yrjola@solidboot.com>
Kevin Hilman [Wed, 12 Jul 2006 14:14:49 +0000 (07:14 -0700)]
ARM: OMAP: fix RESET_CLOCKS, was broken by gcc4 compile fixes
Signed-off-by: Kevin Hilman <khilman@deeprooted.net>
Samuel Ortiz [Wed, 5 Jul 2006 16:01:57 +0000 (19:01 +0300)]
ARM: OMAP: Added OMAP24xx camera IRQ definition
Signed-off-by: Samuel Ortiz <samuel.ortiz@solidboot.com>
Signed-off-by: Juha Yrjola <juha.yrjola@solidboot.com>
Juha Yrjola [Thu, 6 Jul 2006 12:04:19 +0000 (15:04 +0300)]
CBUS: Make Retu RTC and Tahvo USB drivers use sysfs_notify
Signed-off-by: Juha Yrjola <juha.yrjola@solidboot.com>
Juha Yrjola [Thu, 6 Jul 2006 12:03:30 +0000 (15:03 +0300)]
ARM: OMAP: Make GPIO switch driver use sysfs_notify
Signed-off-by: Juha Yrjola <juha.yrjola@solidboot.com>
Tony Lindgren [Tue, 4 Jul 2006 08:50:23 +0000 (01:50 -0700)]
Merge source.mvista.com:/home/git/linux-omap-2.6
Imre Deak [Tue, 4 Jul 2006 08:38:08 +0000 (01:38 -0700)]
input: ads7846: can't disable filtering
When filtering is disabled the driver will ignore all samples and
never detect the pen up event.
Signed-off-by: Imre Deak <imre.deak@nokia.com>
David Brownell [Tue, 4 Jul 2006 08:35:04 +0000 (01:35 -0700)]
USB: Undefined usb_disconnect
Various fixes for the OHCI OMAP glue:
- Properly use the usbcore HCD lifecycle entry points
- Remove calls to non-exported usbcore routines.
- Stop inappropriate export of some bus glue calls
Plus remove some extra whitespace.
Dirk Behme [Tue, 4 Jul 2006 07:55:42 +0000 (00:55 -0700)]
ARM: OMAP: Fix section mismatch warnings
Fix warnings
WARNING: drivers/pcmcia/omap_cf.o - Section mismatch:
reference to .init.text: from .data between '' (at offset
0x80) and 'omap_cf_ops'
WARNING: sound/arm/omap/snd-omap-alsa-aic23.o - Section
mismatch: reference to .init.text: from .data between ''
(at offset 0x68) and 'aic23_hw_constraints_rates'
Signed-off-by: Dirk Behme <dirk.behme_at_gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Juha Yrjola [Fri, 30 Jun 2006 16:40:12 +0000 (19:40 +0300)]
Menelaus: Add function menelaus_get_slot_pin_states
Signed-off-by: Juha Yrjola <juha.yrjola@solidboot.com>
Juha Yrjola [Fri, 30 Jun 2006 11:41:35 +0000 (14:41 +0300)]
Merge 65.200.49.170:linux-omap
Tony Lindgren [Thu, 29 Jun 2006 01:13:16 +0000 (18:13 -0700)]
ARM: OMAP: Fix GPMC_CS_CONFIG1 writing and typos
Fix GPMC_CS_CONFIG1 writing and typos
Signed-off-by: Tony Lindgren <tony@atomide.com>
Samuel Ortiz [Wed, 28 Jun 2006 18:00:56 +0000 (21:00 +0300)]
ARM: OMAP: DMA support for McSPI controller
Signed-off-by: Samuel Ortiz <samuel.ortiz@solidboot.com>
Signed-off-by: Juha Yrjola <juha.yrjola@solidboot.com>
Samuel Ortiz [Wed, 28 Jun 2006 09:27:05 +0000 (12:27 +0300)]
OMAP: McSPI: Start using resources to pass the base address
Signed-off-by: Samuel Ortiz <samuel.ortiz@solidboot.com>
Signed-off-by: Juha Yrjola <juha.yrjola@solidboot.com>
Timo Teras [Mon, 26 Jun 2006 15:42:53 +0000 (18:42 +0300)]
ARM: OMAP: Fix dmtimers and timer32k to compile on OMAP1
Fixes compilation errors on OMAP1.
Signed-off-by: Timo Teras <timo.teras@solidboot.com>
Signed-off-by: Juha Yrjola <juha.yrjola@solidboot.com>
Imre Deak [Mon, 26 Jun 2006 15:48:47 +0000 (18:48 +0300)]
ARM: OMAP: omapfb: update LCD drivers
- replace custom debugging stuff with the default kernel one
- pass a pointer to the LCD object instance to member functions
- rename lcd_lph8923 to the more generic lcd_mipid
- use SPI_MODE_1 instead of SPI_MODE_0 in lcd_mipid
- add ESD spike recovery support to lcd_mipid
Signed-off-by: Imre Deak <ext-imre.deak@nokia.com>
Signed-off-by: Juha Yrjola <juha.yrjola@solidboot.com>
Imre Deak [Mon, 26 Jun 2006 12:57:29 +0000 (15:57 +0300)]
ARM: OMAP: omapfb: main and LCD controller module changes
- Support for
- overlays through separate /dev/fbX nodes
- scaling and color space conversion
- per-plane memory configuration either in SRAM or SDRAM
- Replace custom debug stuff with the default kernel one
Signed-off-by: Imre Deak <ext-imre.deak@nokia.com>
Signed-off-by: Juha Yrjola <juha.yrjola@solidboot.com>
Imre Deak [Mon, 26 Jun 2006 12:52:36 +0000 (15:52 +0300)]
ARM: OMAP: omapfb platform file changes
- OMAP ATAG changes:
FBMEM - support for per plane memory configurations
LCD - add data_lines, reset GPIO line params
- FB memory configuration:
Support for per-plane memory configurations with FB location
either in SRAM or SDRAM.
- DMA consistent memory size:
Make the ARM DMA consistent memory size overridable. The default
is 2MB, but for larger frame buffers we may need more. Kconfig
option is added in the next patch.
Signed-off-by: Imre Deak <ext-imre.deak@nokia.com>
Signed-off-by: Juha Yrjola <juha.yrjola@solidboot.com>
Kevin Hilman [Fri, 23 Jun 2006 22:14:43 +0000 (15:14 -0700)]
Merge branch 'master' of /home/khilman/work/kernel/omap/pristine/
Tony Lindgren [Wed, 21 Jun 2006 22:27:09 +0000 (15:27 -0700)]
Merge source.mvista.com:/home/git/linux-omap-2.6
Tony Lindgren [Wed, 21 Jun 2006 22:26:12 +0000 (15:26 -0700)]
ARM: OMAP: Multiplexing for 24xx GPMC wait pin monitoring
Multiplexing for 24xx GPMC wait pin monitoring
Signed-off-by: Tony Lindgren <tony@atomide.com>
Kevin Hilman [Wed, 21 Jun 2006 22:06:29 +0000 (15:06 -0700)]
ARM: OMAP: fix gcc4 compile errors
Signed-off-by: Kevin Hilman <khilman@deeprooted.net>
Kevin Hilman [Wed, 21 Jun 2006 19:04:47 +0000 (12:04 -0700)]
ARM: OMAP: MMC: remove stray noisy printk
Signed-off-by: Kevin Hilman <khilman@deeprooted.net>
Tony Lindgren [Tue, 20 Jun 2006 18:05:17 +0000 (11:05 -0700)]
ARM: OMAP: Fix SRAM to use MT_MEMORY instead of MT_DEVICE
MT_MEMORY is needed in order to execute code in SRAM. Also
need to use section mapping.
Based on a patch by Richard Woodruff.
Signed-off-by: Tony Lindgren <tony@atomide.com>
Komal Shah [Tue, 20 Jun 2006 17:02:56 +0000 (10:02 -0700)]
[PATCH] ARM: OMAP: Use gpmc_cs_get_base_addr for H4 smc91x
Use gpmc_cs_get_base_addr for H4 smc91x
Signed-off-by: Komal Shah <komal_shah802003@yahoo.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Komal Shah [Tue, 20 Jun 2006 16:44:11 +0000 (09:44 -0700)]
[PATCH] ARM: OMAP: Use gpmc_cs_get_base_addr for H4 smc91x
Use gpmc_cs_get_base_addr for H4 smc91x
Signed-off-by: Komal Shah <komal_shah802003@yahoo.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Tony Lindgren [Tue, 20 Jun 2006 16:34:48 +0000 (09:34 -0700)]
Merge with /home/tmlind/src/kernel/linux-2.6
Juha Yrjola [Tue, 20 Jun 2006 13:10:41 +0000 (16:10 +0300)]
ARM: OMAP: dmtimers need longer delay when changing source clock
On OMAP2420, when running MPU at high frequencies, dmtimers need to
have a longer delay for the new functional clock to be active.
Signed-off-by: Juha Yrjola <juha.yrjola@solidboot.com>
Imre Deak [Mon, 19 Jun 2006 17:31:54 +0000 (20:31 +0300)]
ARM: OMAP2: McSPI: add debugging for setup and transfer functions
Sprinkle dev_dbg's wrapped with VERBOSE to several functions to aid
debugging.
Signed-off-by: Imre Deak <imre.deak@solidboot.com>
Signed-off-by: Juha Yrjola <juha.yrjola@solidboot.com>
Timo Teras [Mon, 19 Jun 2006 16:37:21 +0000 (19:37 +0300)]
ARM: OMAP: Update dmtimers
- Initialize timer outside of spinlock to reduce the time the spinlock is held
- Do clk_get to the source clocks during initialization to avoid sleeping later
- New function to set counter register
Signed-off-by: Timo Teras <timo.teras@solidboot.com>
Signed-off-by: Juha Yrjola <juha.yrjola@solidboot.com>
Juha Yrjola [Mon, 19 Jun 2006 15:31:20 +0000 (18:31 +0300)]
OMAP: Make clock variables static
Since the mutex protecting the clock list is static, the list
itself should be too.
Signed-off-by: Juha Yrjola <juha.yrjola@solidboot.com>
Juha Yrjola [Sun, 18 Jun 2006 17:36:06 +0000 (20:36 +0300)]
OMAP: Fix USB on Nokia 770
Also removed unused ochi_omap_host_enable() function.
Signed-off-by: Juha Yrjola <juha.yrjola@solidboot.com>
Juha Yrjola [Sun, 18 Jun 2006 17:15:51 +0000 (20:15 +0300)]
OMAP: Menelaus cleanups and support for voltages
It is now possible to dynamically set VMEM, VIO, VDCDC2 and VDCDC3.
Signed-off-by: Juha Yrjola <juha.yrjola@solidboot.com>
Linus Torvalds [Sun, 18 Jun 2006 01:49:35 +0000 (18:49 -0700)]
Linux v2.6.17
Being named "Crazed Snow-Weasel" instills a lot of confidence in this
release, so I'm sure this will be one of the better ones.
Arnd Bergmann [Thu, 15 Jun 2006 13:09:16 +0000 (15:09 +0200)]
[PATCH] powerpc: enable CPU_FTR_CI_LARGE_PAGE for cell
Reflect the fact that the Cell Broadband Engine supports 64k
pages by adding the bit to the CPU features.
Signed-off-by: Arnd Bergmann <arnd.bergmann@de.ibm.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Arnd Bergmann [Thu, 15 Jun 2006 11:15:44 +0000 (21:15 +1000)]
[PATCH] powerpc: Fix 64k pages on non-partitioned machines
The page size encoding passed to tlbie is incorrect for new-style
large pages. This fixes it. This doesn't affect anything on older
machines because mmu_psize_defs[psize].penc (the page size encoding)
is 0 for 4k and 16M pages (the two are distinguished by a separate "is
a large page" bit).
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Arnd Bergmann <arnd.bergmann@de.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Oleg Nesterov [Thu, 15 Jun 2006 16:12:02 +0000 (20:12 +0400)]
[PATCH] arm_timer: remove a racy and obsolete PF_EXITING check
arm_timer() checks PF_EXITING to prevent BUG_ON(->exit_state)
in run_posix_cpu_timers().
However, for some reason it does so only for CPUCLOCK_PERTHREAD
case (which is imho wrong).
Also, this check is not reliable, PF_EXITING could be set on
another cpu without any locks/barriers just after the check,
so it can't prevent from attaching the timer to the exiting
task.
The previous patch makes this check unneeded.
Signed-off-by: Oleg Nesterov <oleg@tv-sign.ru>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Oleg Nesterov [Thu, 15 Jun 2006 16:11:43 +0000 (20:11 +0400)]
[PATCH] run_posix_cpu_timers: remove a bogus BUG_ON()
do_exit() clears ->it_##clock##_expires, but nothing prevents
another cpu to attach the timer to exiting process after that.
arm_timer() tries to protect against this race, but the check
is racy.
After exit_notify() does 'write_unlock_irq(&tasklist_lock)' and
before do_exit() calls 'schedule() local timer interrupt can find
tsk->exit_state != 0. If that state was EXIT_DEAD (or another cpu
does sys_wait4) interrupted task has ->signal == NULL.
At this moment exiting task has no pending cpu timers, they were
cleanuped in __exit_signal()->posix_cpu_timers_exit{,_group}(),
so we can just return from irq.
John Stultz recently confirmed this bug, see
http://marc.theaimsgroup.com/?l=linux-kernel&m=
115015841413687
Signed-off-by: Oleg Nesterov <oleg@tv-sign.ru>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Oleg Nesterov [Thu, 15 Jun 2006 16:11:15 +0000 (20:11 +0400)]
[PATCH] check_process_timers: fix possible lockup
If the local timer interrupt happens just after do_exit() sets PF_EXITING
(and before it clears ->it_xxx_expires) run_posix_cpu_timers() will call
check_process_timers() with tasklist_lock + ->siglock held and
check_process_timers:
t = tsk;
do {
....
do {
t = next_thread(t);
} while (unlikely(t->flags & PF_EXITING));
} while (t != tsk);
the outer loop will never stop.
Actually, the window is bigger. Another process can attach the timer
after ->it_xxx_expires was cleared (see the next commit) and the 'if
(PF_EXITING)' check in arm_timer() is racy (see the one after that).
Signed-off-by: Oleg Nesterov <oleg@tv-sign.ru>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Stephen Hemminger [Fri, 16 Jun 2006 19:10:46 +0000 (12:10 -0700)]
[PATCH] sky2: netconsole suspend/resume interaction
A couple of fixes that should prevent crashes when using netconsole and
suspend/resume. First, netconsole poll routine shouldn't run unless the
device is up; second, the NAPI poll should be disabled during suspend.
This is only an issue on sky2, because it has to have one NAPI poll
routine for both ports on dual port boards. Normal drivers use
netif_rx_schedule_prep and that checks for netif_running.
Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Jens Axboe [Fri, 16 Jun 2006 11:02:29 +0000 (13:02 +0200)]
[PATCH] Fix missing ret assignment in __bio_map_user() error path
If get_user_pages() returns less pages than what we asked for, we jump
to out_unmap which will return ERR_PTR(ret). But ret can contain a
positive number just smaller than local_nr_pages, so be sure to set it
to -EFAULT always.
Problem found and diagnosed by Damien Le Moal <damien@sdl.hitachi.co.jp>
Signed-off-by: Jens Axboe <axboe@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Jens Axboe [Fri, 16 Jun 2006 05:46:37 +0000 (07:46 +0200)]
[PATCH] fix cdrom open
Some time ago the cdrom open routine was changed so that we call the
driver's open routine before checking to see if it is read only. However,
if we discovered that a read write open was not possible and the open
flags required a writable open, we just returned -EROFS without calling
the driver's release routine. This seems to work for most cdrom drivers,
but breaks the Powerpc iSeries virtual cdrom rather badly.
This just inserts the release call in the error path to balance the call
to "->open()" done by "open_for_data()".
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Jens Axboe <axboe@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Juha Yrjola [Fri, 16 Jun 2006 12:00:47 +0000 (15:00 +0300)]
ARM: OMAP: Fix GPMC compilation when DEBUG is defined
Signed-off-by: Juha Yrjola <juha.yrjola@solidboot.com>
Tony Lindgren [Thu, 15 Jun 2006 01:29:21 +0000 (18:29 -0700)]
ARM: OMAP: Mux updates for external DMA and GPIO
Mux updates for external DMA and GPIO. GPIO updates
by Igor Stoppa.
Signed-off-by: Tony Lindgren <tony@atomide.com>
Tony Lindgren [Thu, 15 Jun 2006 01:26:39 +0000 (18:26 -0700)]
Fix CONFIG_PRINTK_TIME
Fix CONFIG_PRINTK_TIME hangs on systems where sched_clock() does
not work before timer is initialized.
For example, on OMAP, symptoms of this problem include system
only booting with low level debug enabled when using 32KHz timer.
Signed-off-by: Tony Lindgren <tony@atomide.com>
Tony Lindgren [Thu, 15 Jun 2006 01:24:25 +0000 (18:24 -0700)]
Merge source.mvista.com:/home/git/linux-omap-2.6
Juha Yrjola [Wed, 14 Jun 2006 20:25:53 +0000 (23:25 +0300)]
OMAP: Clean up MMC driver, part 1
- Move register definitions away from the header file
- Change OMAP_MMC_{READ,WRITE} macros to use the host pointer
- Replace base with virt_base and phys_base
- Implement OMAP2420 initialization workaround
- General code cleanups
Signed-off-by: Juha Yrjola <juha.yrjola@solidboot.com>
Imre Deak [Wed, 14 Jun 2006 17:42:47 +0000 (20:42 +0300)]
ARM: OMAP: McSPI: handle clock enable / disable in omap2_mcspi
Enable / disable the mcspi_ick and mcspi_fck clocks in omap2_mcspi_probe
and omap2_mcspi_remove respectively.
Drop the ref count on the class device in omap2_mcspi_remove.
Change the clock names for mcspi_ick[123] and mcspi_fck[123] to mcspi_ick
and mcspi_fck, use instead the clk.id field for the bus id.
Signed-off-by: Imre Deak <imre.deak@solidboot.com>
Signed-off-by: Juha Yrjola <juha.yrjola@solidboot.com>
Jens Axboe [Wed, 14 Jun 2006 17:11:57 +0000 (19:11 +0200)]
[PATCH] cfq-iosched: fix crash in do_div()
We don't clear the seek stat values in cfq_alloc_io_context(), and if
->seek_mean is unlucky enough to be set to -36 by chance, the first
invocation of cfq_update_io_seektime() will oops with a divide by zero
in do_div().
Just memset the entire cic instead of filling invididual values
independently.
Signed-off-by: Jens Axboe <axboe@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Kirill Korotaev [Wed, 14 Jun 2006 13:59:35 +0000 (17:59 +0400)]
[PATCH] Return error in case flock_lock_file failure
If flock_lock_file() failed to allocate flock with locks_alloc_lock()
then "error = 0" is returned. Need to return some non-zero.
Signed-off-by: Pavel Emelianov <xemul@openvz.org>
Signed-off-by: Kirill Korotaev <dev@openvz.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Samuel Ortiz [Wed, 14 Jun 2006 11:58:12 +0000 (14:58 +0300)]
OMAP: camera code cleanups and compilation fixes
- Fixed the Makefile: camera_core should be compiled only for OMAP1, and in
conjunction with omap16xxcam.c.
- Fixed the sensor->init() calls and prototype in camera_core.c and
sensor_ov9640.c.
- Ported the code to the new videobuf code.
- Renamed camera_sensor to omap_camera_sensor since this is an OMAP-specific
structure.
Signed-off-by: Samuel Ortiz <samuel.ortiz@solidboot.com>
Signed-off-by: Juha Yrjola <juha.yrjola@solidboot.com>
Samuel Ortiz [Wed, 14 Jun 2006 11:25:29 +0000 (14:25 +0300)]
ARM: OMAP: Add OMAP_TAG_CAMERA_SENSOR
Add platform config data for camera sensors. Since it includes pointers,
it should not be passed from the bootloader.
Signed-off-by: Samuel Ortiz <samuel.ortiz@solidboot.com>
Signed-off-by: Juha Yrjola <juha.yrjola@solidboot.com>
Samuel Ortiz [Wed, 14 Jun 2006 11:14:36 +0000 (14:14 +0300)]
OMAP: Clean up Menelaus driver and add VIO and VMEM support
Add support for enabling/disabling VIO and VMEM. Implement
proper locking. Clean up code.
Signed-off-by: Samuel Ortiz <samuel.ortiz@solidboot.com>
Signed-off-by: Juha Yrjola <juha.yrjola@solidboot.com>
Komal Shah [Tue, 13 Jun 2006 20:20:49 +0000 (13:20 -0700)]
[PATCH] ARM: OMAP: Update H4 defconfig
Update H4 defconfig
Signed-off-by: Komal Shah <komal_shah802003@yahoo.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Stephen Hemminger [Tue, 13 Jun 2006 08:17:31 +0000 (17:17 +0900)]
[PATCH] sky2: stop/start hardware idle timer on suspend/resume
The resume bug was caused not by an early interrupt but because the idle
timeout was not being stopped on suspend. Also disable hardware IRQ's
on suspend. Will need to revisit this with hotplug?
Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Stephen Hemminger [Tue, 13 Jun 2006 08:17:30 +0000 (17:17 +0900)]
[PATCH] sky2: save/restore base hardware irq during suspend/resume
The hardware should be fully shut off during suspend, and the base
irq mask restored during resume.
Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Stephen Hemminger [Tue, 13 Jun 2006 08:17:29 +0000 (17:17 +0900)]
[PATCH] sky2: fix hotplug detect during poll
If the poll routine detects no hardware available, it needs to dequeue
it self from the network poll list. Linus didn't understand NAPI.
Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Stephen Hemminger [Tue, 13 Jun 2006 08:17:28 +0000 (17:17 +0900)]
[PATCH] sky2: don't hard code number of ports
It is cleaner, to not loop over both ports if only one exists.
Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Stephen Hemminger [Tue, 13 Jun 2006 08:17:27 +0000 (17:17 +0900)]
[PATCH] sky2: set_power_state should be void
The set power state function is cleaner if it doesn't return anything.
The only caller that could fail is in suspend() and it can check the argument
there.
Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Tony Lindgren [Tue, 13 Jun 2006 19:47:01 +0000 (12:47 -0700)]
ARM: OMAP: Add initial 24xx suspend support
This patch adds support for omap24xx power domains and
allows suspend to work.
Please note that for some reason core power domain still
does not seem to idle.
Signed-off-by: Tony Lindgren <tony@atomide.com>
Tony Lindgren [Tue, 13 Jun 2006 18:18:03 +0000 (11:18 -0700)]
ARM: Add ARM11 oprofile support
This patch adds oprofile support for ARM11.
Signed-off-by: Tony Lindgren <tony@atomide.com>
Tony Lindgren [Tue, 13 Jun 2006 18:13:44 +0000 (11:13 -0700)]
ARM: OMAP: Update cpufreq support for 24xx
Update cpufreq support for 24xx
Signed-off-by: Tony Lindgren <tony@atomide.com>
Tony Lindgren [Tue, 13 Jun 2006 17:21:48 +0000 (10:21 -0700)]
Merge with /home/tmlind/src/kernel/linux-2.6
Randy Dunlap [Mon, 12 Jun 2006 22:13:40 +0000 (15:13 -0700)]
[PATCH] alpha: generic hweight build fix
From: Randy Dunlap <rdunlap@xenotime.net>
According to include/asm-alpha/bitops.h, only ALPHA_EV67 has hardware
hweight support, so ALPHA_EV6 needs to use GENERIC_HWEIGHT.
Signed-off-by: Randy Dunlap <rdunlap@xenotime.net>
Cc: Richard Henderson <rth@twiddle.net>
Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
Cc: Ernst Herzberg <earny@net4u.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Juha Yrjola [Mon, 12 Jun 2006 21:31:50 +0000 (00:31 +0300)]
ARM: OMAP: Add GPMC support for OMAP2
Implement basic support for General-Purpose Memory Controller
as found on OMAP2420.
Dynamic CS address space allocation still needs to be done.
Signed-off-by: Juha Yrjola <juha.yrjola@solidboot.com>
Sergey Vlasov [Mon, 12 Jun 2006 20:53:23 +0000 (21:53 +0100)]
[PATCH] tmpfs: Decrement i_nlink correctly in shmem_rmdir()
shmem_rmdir() must undo the increment of i_nlink done in
shmem_get_inode() for directories, otherwise at least
IN_DELETE_SELF inotify event generation is broken.
Signed-off-by: Sergey Vlasov <vsu@altlinux.ru>
Signed-off-by: Hugh Dickins <hugh@veritas.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Tony Lindgren [Mon, 12 Jun 2006 21:03:30 +0000 (14:03 -0700)]
ARM: OMAP: Additional 24xx DMA fixes and functions
- DMA priority is set for each channel on 24xx, not for each port
- Add support for setting 24xx DMA write mode
- Add support for changing dma callback function and data
Signed-off-by: Tony Lindgren <tony@atomide.com>
Robin H. Johnson [Mon, 12 Jun 2006 20:50:25 +0000 (21:50 +0100)]
[PATCH] tmpfs: time granularity fix for [acm]time going backwards
I noticed a strange behavior in a tmpfs file system the other day, while
building packages - occasionally, and seemingly at random, make decided to
rebuild a target. However, only on tmpfs.
A file would be created, and if checked, it had a sub-second timestamp.
However, after an utimes related call where sub-seconds should be set, they
were zeroed instead. In the case that a file was created, and utimes(...,NULL)
was used on it in the same second, the timestamp on the file moved backwards.
After some digging, I found that this was being caused by tmpfs not having a
time granularity set, thus inheriting the default 1 second granularity.
Hugh adds: yes, we missed tmpfs when the s_time_gran mods went into 2.6.11.
Unfortunately, the granularity of CURRENT_TIME, often used in filesystems,
does not match the default granularity set by alloc_super. A few more such
discrepancies have been found, but this is the most important to fix now.
Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
Acked-by: Andi Kleen <ak@suse.de>
Signed-off-by: Hugh Dickins <hugh@veritas.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Linus Torvalds [Mon, 12 Jun 2006 20:46:43 +0000 (13:46 -0700)]
Merge /pub/scm/linux/kernel/git/davem/sparc-2.6
* master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6:
[SPARC64]: Do not double-export sys_close() when CONFIG_SOLARIS_EMUL_MODULE
Linus Torvalds [Mon, 12 Jun 2006 20:46:27 +0000 (13:46 -0700)]
Merge /pub/scm/linux/kernel/git/davem/net-2.6
* master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6:
[IPV4]: Increment ipInHdrErrors when TTL expires.
[TCP]: continued: reno sacked_out count fix
[DCCP] Ackvec: fix soft lockup in ackvec handling code
Linus Torvalds [Mon, 12 Jun 2006 20:45:41 +0000 (13:45 -0700)]
Merge master.kernel.org:/home/rmk/linux-2.6-arm
* master.kernel.org:/home/rmk/linux-2.6-arm:
[ARM] Fix Integrator and Versatile interrupt initialisation
[ARM] 3546/1: PATCH: subtle lost interrupts bug on i.MX
[ARM] 3547/1: PXA-OHCI: Allow platforms to specify a power budget
[ARM] Fix Neponset IRQ handling
Tony Lindgren [Mon, 12 Jun 2006 20:15:46 +0000 (13:15 -0700)]
ARM: OMAP: Fix DMA channel irq handling for omap24xx
- DMA CSR register is cleared by reading on omap1, but on
omap2 it is cleard by writing to it.
- DMA TOUT interrupt does not exist on omap24xx, rename it
- Add SECURE and MISALIGNED errors by default for omap24xx
- Add defines for external DMA request lines
Signed-off-by: Tony Lindgren <tony@atomide.com>
Weidong [Mon, 12 Jun 2006 20:09:59 +0000 (13:09 -0700)]
[IPV4]: Increment ipInHdrErrors when TTL expires.
Signed-off-by: Weidong <weid@nanjing-fnst.com>
Signed-off-by: David S. Miller <davem@davemloft.net>