Few more omap fixes for 2.6.25
Subsystems (3)
A message that is not in the archive (sent off-list or not yet received): omap-fixes-2008-03-13
Tony Lindgren
reviewercover Few more omap fixes for 2.6.25
Hi,
Here are few more fixes for 2.6.25 if there's still time to get them applied.
Regards,
Tony
Tony Lindgren
reviewerPATCH 1/6 ARM: OMAP: Fix clockevent support for hrtimers
From: Kevin Hilman <[email protected]>
One-shot mode was broken in MPU-timer support for OMAP1 due to a typo.
Also, ensure timer is stopped before changing the auto-reload flag. The TRM says changing the AR flag when timer is running is undefined.
Also set GENERIC_CLOCKEVENTS for all omaps.
--- arch/arm/Kconfig | 1 + arch/arm/mach-omap1/time.c | 10 +++++++++- arch/arm/plat-omap/Kconfig | 1 - 3 files changed, 10 insertions(+), 2 deletions(-)
arch/arm/Kconfig +1 -0
@@ -469,6 +469,7 @@ config ARCH_OMAP bool "TI OMAP" select GENERIC_GPIO select GENERIC_TIME + select GENERIC_CLOCKEVENTS help Support for TI's OMAP platform (OMAP1 and OMAP2).
arch/arm/mach-omap1/time.c +9 -1
@@ -132,13 +132,20 @@ static inline void omap_mpu_timer_start(int nr, unsigned long load_val, timer->cntl = timerflags; } +static inline void omap_mpu_timer_stop (int nr) +{ +volatile omap_mpu_timer_regs_t * timer =omap_mpu_timer_base (nr); + + timer->cntl &= ~MPU_TIMER_ST ; +} +/* * --------------------------------------------------------------------------- * MPU timer 1 ... count down to zero, interrupt, reload * --------------------------------------------------------------------------- */ static int omap_mpu_set_next_event (unsigned long cycles, -struct clock_event_device *evt) +struct clock_event_device *evt) {omap_mpu_timer_start (0 , cycles,0 );return 0 ;
@@ -152,6 +159,7 @@ static void omap_mpu_set_mode(enum clock_event_mode mode,omap_mpu_set_autoreset (0 );break ;case CLOCK_EVT_MODE_ONESHOT : +omap_mpu_timer_stop (0 );omap_mpu_remove_autoreset (0 );break ;case CLOCK_EVT_MODE_UNUSED :
arch/arm/plat-omap/Kconfig +0 -1
@@ -11,7 +11,6 @@ choice config ARCH_OMAP1 bool "TI OMAP1" - select GENERIC_CLOCKEVENTS config ARCH_OMAP2 bool "TI OMAP2"
Signature · 1 line
1.5.3.6
Tony Lindgren
reviewerPATCH 2/6 ARM: OMAP: Fix GPIO IRQ unmask
From: Kevin Hilman <[email protected]>
GPIO IRQ unmask doesn't actually do anything useful. The problem is hidden by a separate explicit mass unmask at the end of the chained bank handler.
--- arch/arm/plat-omap/gpio.c | 3 +-- 1 files changed, 1 insertions(+), 2 deletions(-)
arch/arm/plat-omap/gpio.c +1 -2
@@ -1134,10 +1134,9 @@ static void gpio_mask_irq(unsigned int irq)static void gpio_unmask_irq (unsigned int irq) {unsigned int gpio = irq -IH_GPIO_BASE ; -unsigned int gpio_idx =get_gpio_index (gpio);struct gpio_bank *bank =get_irq_chip_data (irq); -_set_gpio_irqenable (bank, gpio_idx,1 ); +_set_gpio_irqenable (bank, gpio,1 ); }static struct irq_chip gpio_irq_chip = {
Signature · 1 line
1.5.3.6
Tony Lindgren
reviewerPATCH 3/6 ARM: OMAP: Fix missing makefile options
Although audio and dsp drivers are not integrated yet, allow compiling in mailbox and mcbsp to see any build warnings.
--- arch/arm/plat-omap/Makefile | 5 +++++ 1 files changed, 5 insertions(+), 0 deletions(-)
arch/arm/plat-omap/Makefile +5 -0
@@ -14,9 +14,14 @@ obj-$(CONFIG_OMAP_32K_TIMER) += timer32k.o # OCPI interconnect support for 1710, 1610 and 5912 obj-$(CONFIG_ARCH_OMAP16XX) += ocpi.o +obj-$(CONFIG_OMAP_MCBSP) += mcbsp.o obj-$(CONFIG_CPU_FREQ) += cpu-omap.o obj-$(CONFIG_OMAP_DM_TIMER) += dmtimer.o obj-$(CONFIG_OMAP_DEBUG_DEVICES) += debug-devices.o obj-$(CONFIG_OMAP_DEBUG_LEDS) += debug-leds.o obj-$(CONFIG_I2C_OMAP) += i2c.o + +# OMAP mailbox framework +obj-$(CONFIG_OMAP_MBOX_FWK) += mailbox.o +
Signature · 1 line
1.5.3.6
Tony Lindgren
reviewerPATCH 4/6 ARM: OMAP: Fix chain_a_transfer return value
From: Anand Gadiyar <[email protected]>
This patch changes the return value of omap_dma_chain_a_transfer to 0 on success instead of the flag 'start_dma', which wasn't really useful for anything.
--- arch/arm/plat-omap/dma.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-)
arch/arm/plat-omap/dma.c +2 -2
@@ -1248,7 +1248,7 @@ EXPORT_SYMBOL(omap_dma_chain_status);* @param frame_count * @param callbk_data - channel callback parameter data. * -* @return - Success : start_dma status +* @return - Success : 0 * Failure: -EINVAL/-EBUSY */ int omap_dma_chain_a_transfer(int chain_id, int src_start, int dest_start,
@@ -1367,7 +1367,7 @@ int omap_dma_chain_a_transfer(int chain_id, int src_start, int dest_start, dma_chan[lch].flags |=OMAP_DMA_ACTIVE ; } } -return start_dma; +return 0 ; }EXPORT_SYMBOL (omap_dma_chain_a_transfer);
Signature · 1 line
1.5.3.6
Tony Lindgren
reviewerPATCH 5/6 ARM: OMAP: Fix DMA CLINK mask, clear spurious interrupt
From: Gadiyar, Anand <[email protected]>
Fix CLINK mask, clear spurious interrupt.
--- arch/arm/plat-omap/dma.c | 5 +++-- 1 files changed, 3 insertions(+), 2 deletions(-)
arch/arm/plat-omap/dma.c +3 -2
@@ -1020,12 +1020,12 @@ static void create_dma_lch_chain(int lch_head, int lch_queue) } w =OMAP_DMA_CLNK_CTRL_REG (lch_head); - w &= ~(0x0f ); + w &= ~(0x1f ); w |= lch_queue;OMAP_DMA_CLNK_CTRL_REG (lch_head) = w; w =OMAP_DMA_CLNK_CTRL_REG (lch_queue); - w &= ~(0x0f ); + w &= ~(0x1f ); w |= (dma_chan[lch_queue].next_linked_ch);OMAP_DMA_CLNK_CTRL_REG (lch_queue) = w; }
@@ -1663,6 +1663,7 @@ static int omap2_dma_handle_ch(int ch)if (!status) {if (printk_ratelimit ())printk (KERN_WARNING "Spurious DMA IRQ for lch %d\n" , ch); +omap_writel (1 << ch,OMAP_DMA4_IRQSTATUS_L0 );return 0 ; }if (unlikely (dma_chan[ch].dev_id ==-1 )) {
Signature · 1 line
1.5.3.6
Tony Lindgren
reviewerPATCH 6/6 ARM: OMAP1: Fix typo in OMAP1 MPU clock source initialization
From: Will Newton <[email protected]>
Fix typo in OMAP1 MPU clock source initialization.
--- arch/arm/mach-omap1/time.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
arch/arm/mach-omap1/time.c +1 -1
@@ -171,7 +171,7 @@ static void omap_mpu_set_mode(enum clock_event_mode mode,static struct clock_event_device clockevent_mpu_timer1 = { .name ="mpu_timer1" , - .features =CLOCK_EVT_FEAT_PERIODIC ,CLOCK_EVT_FEAT_ONESHOT , + .features =CLOCK_EVT_FEAT_PERIODIC |CLOCK_EVT_FEAT_ONESHOT , .shift =32 , .set_next_event = omap_mpu_set_next_event, .set_mode = omap_mpu_set_mode,
Signature · 1 line
1.5.3.6
Re: [PATCH 1/6] ARM: OMAP: Fix clockevent support for hrtimers
In reply to Tony LindgrenQuoted 2 lines · Tony Lindgren
Signed-off-by Tim Bird <[email protected]>Signed-off-by Kevin Hilman <[email protected].
Only just spotted this... That trailing '.' should be a '>'.
Quoted 1 line
Signed-off-by Tony Lindgren <[email protected]>
Any chance of getting that fixed and I'll re-pull?
Tony Lindgren
reviewerRe: [PATCH 1/6] ARM: OMAP: Fix clockevent support for hrtimers
Quoted 9 lines · Russell King - ARM Linux
Quoted 2 lines · Tony Lindgren
Signed-off-by Tim Bird <[email protected]>Signed-off-by Kevin Hilman <[email protected].Only just spotted this... That trailing '.' should be a '>'.
Quoted 1 line
Signed-off-by Tony Lindgren <[email protected]>Any chance of getting that fixed and I'll re-pull?
Sure, it's now rebased against v2.6.25-rc6-117-g457fb60 with the typo fixed.
Tony
Quoted 2 lines · Tony Lindgren
Here are few more fixes for 2.6.25 if there's still time to get them applied.
There's always time to get bug fixes applied. There's never a point where we exclude real bug fixes being accepted.
Tony Lindgren
reviewerQuoted 6 lines · Russell King - ARM Linux
Quoted 2 lines · Tony Lindgren
Here are few more fixes for 2.6.25 if there's still time to get them applied.
There's always time to get bug fixes applied. There's never a point where we exclude real bug fixes being accepted.
Thanks, I've posted them as patch 4866/1 to the patch system.
Tony