public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/90] Post 2.6.21 OMAP update
@ 2007-04-04 17:46 Tony Lindgren
  2007-04-04 17:46 ` [PATCH 1/90] ARM: OMAP: Place SMS and SDRC into smart idle mode Tony Lindgren
  2007-04-04 18:27 ` [PATCH 0/90] Post 2.6.21 OMAP update Tony Lindgren
  0 siblings, 2 replies; 21+ messages in thread
From: Tony Lindgren @ 2007-04-04 17:46 UTC (permalink / raw)
  To: linux-kernel

Hi all,

Attached is a rather large OMAP update for post 2.6.21.

OMAP is a series of ARM processors from Texas Instruments
used in various cell phones and PDAs.

The patch series is based on code that has been brewing
in the linux-omap tree since last fall.

We'd like to switch the linux-omap tree to use the mainline
tree for core omap stuff, and this series attemps to do it
for most part. 

As the patch series is big, Andrew Morton asked me to post
it to LKML instead of linux-arm-kernel list for a wider review,
so please comment on the patches if you have a chance!

The patches touch only omap specific code at:

arch/arm/Kconfig
arch/arm/plat-omap
arch/arm/mach-omap1
arch/arm/mach-omap2
include/asm-arm/arch-omap

Regards,

Tony



^ permalink raw reply	[flat|nested] 21+ messages in thread

* [PATCH 1/90] ARM: OMAP: Place SMS and SDRC into smart idle mode
  2007-04-04 17:46 [PATCH 0/90] Post 2.6.21 OMAP update Tony Lindgren
@ 2007-04-04 17:46 ` Tony Lindgren
  2007-04-04 17:46   ` [PATCH 2/90] ARM: OMAP: Force APLLs always active Tony Lindgren
  2007-04-04 18:27 ` [PATCH 0/90] Post 2.6.21 OMAP update Tony Lindgren
  1 sibling, 1 reply; 21+ messages in thread
From: Tony Lindgren @ 2007-04-04 17:46 UTC (permalink / raw)
  To: linux-kernel; +Cc: Juha Yrjola, Tony Lindgren

From: Juha Yrjola <juha.yrjola@solidboot.com>

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>
---
 arch/arm/mach-omap2/io.c     |    2 +
 arch/arm/mach-omap2/memory.c |   48 ++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 50 insertions(+), 0 deletions(-)

diff --git a/arch/arm/mach-omap2/io.c b/arch/arm/mach-omap2/io.c
index a0728c3..748920f 100644
--- a/arch/arm/mach-omap2/io.c
+++ b/arch/arm/mach-omap2/io.c
@@ -26,6 +26,7 @@
 extern void omap_sram_init(void);
 extern int omap2_clk_init(void);
 extern void omap2_check_revision(void);
+extern void omap2_init_memory(void);
 extern void gpmc_init(void);
 
 /*
@@ -67,5 +68,6 @@ void __init omap2_init_common_hw(void)
 {
 	omap2_mux_init();
 	omap2_clk_init();
+	omap2_init_memory();
 	gpmc_init();
 }
diff --git a/arch/arm/mach-omap2/memory.c b/arch/arm/mach-omap2/memory.c
index 85cbc2a..f173aa8 100644
--- a/arch/arm/mach-omap2/memory.c
+++ b/arch/arm/mach-omap2/memory.c
@@ -30,6 +30,38 @@
 #include "prcm-regs.h"
 #include "memory.h"
 
+#define SMS_BASE		0x68008000
+#define SMS_SYSCONFIG		0x010
+
+#define SDRC_BASE		0x68009000
+#define SDRC_SYSCONFIG		0x010
+#define SDRC_SYSSTATUS		0x014
+
+static const u32 sms_base = IO_ADDRESS(SMS_BASE);
+static const u32 sdrc_base = IO_ADDRESS(SDRC_BASE);
+
+
+static inline void sms_write_reg(int idx, u32 val)
+{
+	__raw_writel(val, sms_base + idx);
+}
+
+static inline u32 sms_read_reg(int idx)
+{
+	return __raw_readl(sms_base + idx);
+}
+
+static inline void sdrc_write_reg(int idx, u32 val)
+{
+	__raw_writel(val, sdrc_base + idx);
+}
+
+static inline u32 sdrc_read_reg(int idx)
+{
+	return __raw_readl(sdrc_base + idx);
+}
+
+
 static struct memory_timings mem_timings;
 
 u32 omap2_memory_get_slow_dll_ctrl(void)
@@ -99,3 +131,19 @@ void omap2_init_memory_params(u32 force_lock_to_unlock_mode)
 	/* 90 degree phase for anything below 133Mhz + disable DLL filter */
 	mem_timings.slow_dll_ctrl |= ((1 << 1) | (3 << 8));
 }
+
+void __init omap2_init_memory(void)
+{
+	u32 l;
+
+	l = sms_read_reg(SMS_SYSCONFIG);
+	l &= ~(0x3 << 3);
+	l |= (0x2 << 3);
+	sms_write_reg(SMS_SYSCONFIG, l);
+
+	l = sdrc_read_reg(SDRC_SYSCONFIG);
+	l &= ~(0x3 << 3);
+	l |= (0x2 << 3);
+	sdrc_write_reg(SDRC_SYSCONFIG, l);
+
+}
-- 
1.4.4.2


^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [PATCH 2/90] ARM: OMAP: Force APLLs always active
  2007-04-04 17:46 ` [PATCH 1/90] ARM: OMAP: Place SMS and SDRC into smart idle mode Tony Lindgren
@ 2007-04-04 17:46   ` Tony Lindgren
  2007-04-04 17:46     ` [PATCH 3/90] ARM: OMAP: Add DMA IRQ sanity checks Tony Lindgren
  0 siblings, 1 reply; 21+ messages in thread
From: Tony Lindgren @ 2007-04-04 17:46 UTC (permalink / raw)
  To: linux-kernel; +Cc: Juha Yrjola, Tony Lindgren

From: Juha Yrjola <juha.yrjola@solidboot.com>

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>
---
 arch/arm/mach-omap2/clock.c |   13 ++-----------
 1 files changed, 2 insertions(+), 11 deletions(-)

diff --git a/arch/arm/mach-omap2/clock.c b/arch/arm/mach-omap2/clock.c
index 5170481..0306507 100644
--- a/arch/arm/mach-omap2/clock.c
+++ b/arch/arm/mach-omap2/clock.c
@@ -1160,8 +1160,8 @@ int __init omap2_clk_init(void)
 	clk_enable(&sync_32k_ick);
 	clk_enable(&omapctrl_ick);
 
-	/* Force the APLLs active during bootup to avoid disabling and
-	 * enabling them unnecessarily. */
+	/* Force the APLLs always active. The clocks are idled
+	 * automatically by hardware. */
 	clk_enable(&apll96_ck);
 	clk_enable(&apll54_ck);
 
@@ -1174,12 +1174,3 @@ int __init omap2_clk_init(void)
 
 	return 0;
 }
-
-static int __init omap2_disable_aplls(void)
-{
-	clk_disable(&apll96_ck);
-	clk_disable(&apll54_ck);
-
-	return 0;
-}
-late_initcall(omap2_disable_aplls);
-- 
1.4.4.2


^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [PATCH 3/90] ARM: OMAP: Add DMA IRQ sanity checks
  2007-04-04 17:46   ` [PATCH 2/90] ARM: OMAP: Force APLLs always active Tony Lindgren
@ 2007-04-04 17:46     ` Tony Lindgren
  2007-04-04 17:46       ` [PATCH 4/90] ARM: OMAP: Enable 24xx GPIO autoidling Tony Lindgren
  0 siblings, 1 reply; 21+ messages in thread
From: Tony Lindgren @ 2007-04-04 17:46 UTC (permalink / raw)
  To: linux-kernel; +Cc: Juha Yrjola, Tony Lindgren

From: Juha Yrjola <juha.yrjola@solidboot.com>

Add DMA IRQ sanity checks

Signed-off-by: Juha Yrjola <juha.yrjola@solidboot.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
---
 arch/arm/plat-omap/dma.c |   25 ++++++++++++++++++-------
 1 files changed, 18 insertions(+), 7 deletions(-)

diff --git a/arch/arm/plat-omap/dma.c b/arch/arm/plat-omap/dma.c
index f3f84fb..2d86b10 100644
--- a/arch/arm/plat-omap/dma.c
+++ b/arch/arm/plat-omap/dma.c
@@ -925,10 +925,17 @@ static int omap2_dma_handle_ch(int ch)
 {
 	u32 status = OMAP_DMA_CSR_REG(ch);
 
-	if (!status)
+	if (!status) {
+		if (printk_ratelimit())
+			printk(KERN_WARNING "Spurious DMA IRQ for lch %d\n", ch);
 		return 0;
-	if (unlikely(dma_chan[ch].dev_id == -1))
+	}
+	if (unlikely(dma_chan[ch].dev_id == -1)) {
+		if (printk_ratelimit())
+			printk(KERN_WARNING "IRQ %04x for non-allocated DMA"
+					"channel %d\n", status, ch);
 		return 0;
+	}
 	if (unlikely(status & OMAP_DMA_DROP_IRQ))
 		printk(KERN_INFO
 		       "DMA synchronization event drop occurred with device "
@@ -959,11 +966,15 @@ static irqreturn_t omap2_dma_irq_handler(int irq, void *dev_id)
 	int i;
 
 	val = omap_readl(OMAP_DMA4_IRQSTATUS_L0);
-
-	for (i = 1; i <= OMAP_LOGICAL_DMA_CH_COUNT; i++) {
-		int active = val & (1 << (i - 1));
-		if (active)
-			omap2_dma_handle_ch(i - 1);
+	if (val == 0) {
+		if (printk_ratelimit())
+			printk(KERN_WARNING "Spurious DMA IRQ\n");
+		return IRQ_HANDLED;
+	}
+	for (i = 0; i < OMAP_LOGICAL_DMA_CH_COUNT && val != 0; i++) {
+		if (val & 1)
+			omap2_dma_handle_ch(i);
+		val >>= 1;
 	}
 
 	return IRQ_HANDLED;
-- 
1.4.4.2


^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [PATCH 4/90] ARM: OMAP: Enable 24xx GPIO autoidling
  2007-04-04 17:46     ` [PATCH 3/90] ARM: OMAP: Add DMA IRQ sanity checks Tony Lindgren
@ 2007-04-04 17:46       ` Tony Lindgren
  2007-04-04 17:46         ` [PATCH 5/90] ARM: OMAP: Add function to print clock usecounts Tony Lindgren
  0 siblings, 1 reply; 21+ messages in thread
From: Tony Lindgren @ 2007-04-04 17:46 UTC (permalink / raw)
  To: linux-kernel; +Cc: Juha Yrjola, Tony Lindgren

From: Juha Yrjola <juha.yrjola@solidboot.com>

Enable 24xx GPIO autoidling

Signed-off-by: Juha Yrjola <juha.yrjola@solidboot.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
---
 arch/arm/plat-omap/gpio.c |   10 ++++++++++
 1 files changed, 10 insertions(+), 0 deletions(-)

diff --git a/arch/arm/plat-omap/gpio.c b/arch/arm/plat-omap/gpio.c
index b8c01de..e2547a7 100644
--- a/arch/arm/plat-omap/gpio.c
+++ b/arch/arm/plat-omap/gpio.c
@@ -1083,6 +1083,10 @@ static int __init _omap_gpio_init(void)
 		if (bank->method == METHOD_GPIO_24XX) {
 			__raw_writel(0x00000000, bank->base + OMAP24XX_GPIO_IRQENABLE1);
 			__raw_writel(0xffffffff, bank->base + OMAP24XX_GPIO_IRQSTATUS1);
+			__raw_writew(0x0015, bank->base + OMAP24XX_GPIO_SYSCONFIG);
+
+			/* Initialize interface clock ungated, module enabled */
+			__raw_writel(0, bank->base + OMAP24XX_GPIO_CTRL);
 
 			gpio_count = 32;
 		}
@@ -1105,6 +1109,12 @@ static int __init _omap_gpio_init(void)
 	if (cpu_is_omap16xx())
 		omap_writel(omap_readl(ULPD_CAM_CLK_CTRL) | 0x04, ULPD_CAM_CLK_CTRL);
 
+#ifdef CONFIG_ARCH_OMAP24XX
+	/* Enable autoidle for the OCP interface */
+	if (cpu_is_omap24xx())
+		omap_writel(1 << 0, 0x48019010);
+#endif
+
 	return 0;
 }
 
-- 
1.4.4.2


^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [PATCH 5/90] ARM: OMAP: Add function to print clock usecounts
  2007-04-04 17:46       ` [PATCH 4/90] ARM: OMAP: Enable 24xx GPIO autoidling Tony Lindgren
@ 2007-04-04 17:46         ` Tony Lindgren
  2007-04-04 17:46           ` [PATCH 6/90] ARM: OMAP: Enable serial idling and wakeup features Tony Lindgren
  0 siblings, 1 reply; 21+ messages in thread
From: Tony Lindgren @ 2007-04-04 17:46 UTC (permalink / raw)
  To: linux-kernel; +Cc: Juha Yrjola, Tony Lindgren

From: Juha Yrjola <juha.yrjola@solidboot.com>

Useful for debugging power management code.

Signed-off-by: Juha Yrjola <juha.yrjola@solidboot.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
---
 arch/arm/plat-omap/clock.c |   35 +++++++++++++++++++++++++++++++++++
 1 files changed, 35 insertions(+), 0 deletions(-)

diff --git a/arch/arm/plat-omap/clock.c b/arch/arm/plat-omap/clock.c
index f1179ad..3d017b0 100644
--- a/arch/arm/plat-omap/clock.c
+++ b/arch/arm/plat-omap/clock.c
@@ -33,6 +33,41 @@ static DEFINE_SPINLOCK(clockfw_lock);
 
 static struct clk_functions *arch_clock;
 
+#ifdef CONFIG_PM_DEBUG
+
+static void print_parents(struct clk *clk)
+{
+	struct clk *p;
+	int printed = 0;
+
+	list_for_each_entry(p, &clocks, node) {
+		if (p->parent == clk && p->usecount) {
+			if (!clk->usecount && !printed) {
+				printk("MISMATCH: %s\n", clk->name);
+				printed = 1;
+			}
+			printk("\t%-15s\n", p->name);
+		}
+	}
+}
+
+void clk_print_usecounts(void)
+{
+	unsigned long flags;
+	struct clk *p;
+
+	spin_lock_irqsave(&clockfw_lock, flags);
+	list_for_each_entry(p, &clocks, node) {
+		if (p->usecount)
+			printk("%-15s: %d\n", p->name, p->usecount);
+		print_parents(p);
+
+	}
+	spin_unlock_irqrestore(&clockfw_lock, flags);
+}
+
+#endif
+
 /*-------------------------------------------------------------------------
  * Standard clock functions defined in include/linux/clk.h
  *-------------------------------------------------------------------------*/
-- 
1.4.4.2


^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [PATCH 6/90] ARM: OMAP: Enable serial idling and wakeup features
  2007-04-04 17:46         ` [PATCH 5/90] ARM: OMAP: Add function to print clock usecounts Tony Lindgren
@ 2007-04-04 17:46           ` Tony Lindgren
  2007-04-04 17:46             ` [PATCH 7/90] ARM: OMAP: Optimize INTC register accesses and enable autoidling Tony Lindgren
  0 siblings, 1 reply; 21+ messages in thread
From: Tony Lindgren @ 2007-04-04 17:46 UTC (permalink / raw)
  To: linux-kernel; +Cc: Juha Yrjola, Tony Lindgren

From: Juha Yrjola <juha.yrjola@solidboot.com>

Enable serial idling and wakeup features

Signed-off-by: Juha Yrjola <juha.yrjola@solidboot.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
---
 arch/arm/mach-omap2/serial.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/arch/arm/mach-omap2/serial.c b/arch/arm/mach-omap2/serial.c
index aaa5589..e9c367f 100644
--- a/arch/arm/mach-omap2/serial.c
+++ b/arch/arm/mach-omap2/serial.c
@@ -84,7 +84,7 @@ static inline void __init omap_serial_reset(struct plat_serial8250_port *p)
 	serial_write_reg(p, UART_OMAP_MDR1, 0x07);
 	serial_write_reg(p, UART_OMAP_SCR, 0x08);
 	serial_write_reg(p, UART_OMAP_MDR1, 0x00);
-	serial_write_reg(p, UART_OMAP_SYSC, 0x01);
+	serial_write_reg(p, UART_OMAP_SYSC, (0x02 << 3) | (1 << 2) | (1 << 0));
 }
 
 void __init omap_serial_init()
-- 
1.4.4.2


^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [PATCH 7/90] ARM: OMAP: Optimize INTC register accesses and enable autoidling
  2007-04-04 17:46           ` [PATCH 6/90] ARM: OMAP: Enable serial idling and wakeup features Tony Lindgren
@ 2007-04-04 17:46             ` Tony Lindgren
  2007-04-04 17:46               ` [PATCH 8/90] ARM: OMAP: FB: add controller platform data Tony Lindgren
  0 siblings, 1 reply; 21+ messages in thread
From: Tony Lindgren @ 2007-04-04 17:46 UTC (permalink / raw)
  To: linux-kernel; +Cc: Juha Yrjola, Tony Lindgren

From: Juha Yrjola <juha.yrjola@solidboot.com>

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>
---
 arch/arm/mach-omap2/irq.c |   19 +++++++++++--------
 1 files changed, 11 insertions(+), 8 deletions(-)

diff --git a/arch/arm/mach-omap2/irq.c b/arch/arm/mach-omap2/irq.c
index a39d306..f064f72 100644
--- a/arch/arm/mach-omap2/irq.c
+++ b/arch/arm/mach-omap2/irq.c
@@ -37,7 +37,7 @@ static struct omap_irq_bank {
 } __attribute__ ((aligned(4))) irq_banks[] = {
 	{
 		/* MPU INTC */
-		.base_reg	= OMAP24XX_IC_BASE,
+		.base_reg	= IO_ADDRESS(OMAP24XX_IC_BASE),
 		.nr_irqs	= 96,
 	}, {
 		/* XXX: DSP INTC */
@@ -47,7 +47,7 @@ static struct omap_irq_bank {
 /* XXX: FIQ and additional INTC support (only MPU at the moment) */
 static void omap_ack_irq(unsigned int irq)
 {
-	omap_writel(0x1, irq_banks[0].base_reg + INTC_CONTROL);
+	__raw_writel(0x1, irq_banks[0].base_reg + INTC_CONTROL);
 }
 
 static void omap_mask_irq(unsigned int irq)
@@ -60,7 +60,7 @@ static void omap_mask_irq(unsigned int irq)
 		irq %= 32;
 	}
 
-	omap_writel(1 << irq, irq_banks[0].base_reg + INTC_MIR_SET0 + offset);
+	__raw_writel(1 << irq, irq_banks[0].base_reg + INTC_MIR_SET0 + offset);
 }
 
 static void omap_unmask_irq(unsigned int irq)
@@ -73,7 +73,7 @@ static void omap_unmask_irq(unsigned int irq)
 		irq %= 32;
 	}
 
-	omap_writel(1 << irq, irq_banks[0].base_reg + INTC_MIR_CLEAR0 + offset);
+	__raw_writel(1 << irq, irq_banks[0].base_reg + INTC_MIR_CLEAR0 + offset);
 }
 
 static void omap_mask_ack_irq(unsigned int irq)
@@ -93,17 +93,20 @@ static void __init omap_irq_bank_init_one(struct omap_irq_bank *bank)
 {
 	unsigned long tmp;
 
-	tmp = omap_readl(bank->base_reg + INTC_REVISION) & 0xff;
+	tmp = __raw_readl(bank->base_reg + INTC_REVISION) & 0xff;
 	printk(KERN_INFO "IRQ: Found an INTC at 0x%08lx "
 			 "(revision %ld.%ld) with %d interrupts\n",
 			 bank->base_reg, tmp >> 4, tmp & 0xf, bank->nr_irqs);
 
-	tmp = omap_readl(bank->base_reg + INTC_SYSCONFIG);
+	tmp = __raw_readl(bank->base_reg + INTC_SYSCONFIG);
 	tmp |= 1 << 1;	/* soft reset */
-	omap_writel(tmp, bank->base_reg + INTC_SYSCONFIG);
+	__raw_writel(tmp, bank->base_reg + INTC_SYSCONFIG);
 
-	while (!(omap_readl(bank->base_reg + INTC_SYSSTATUS) & 0x1))
+	while (!(__raw_readl(bank->base_reg + INTC_SYSSTATUS) & 0x1))
 		/* Wait for reset to complete */;
+
+	/* Enable autoidle */
+	__raw_writel(1 << 0, bank->base_reg + INTC_SYSCONFIG);
 }
 
 void __init omap_init_irq(void)
-- 
1.4.4.2


^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [PATCH 8/90] ARM: OMAP: FB: add controller platform data
  2007-04-04 17:46             ` [PATCH 7/90] ARM: OMAP: Optimize INTC register accesses and enable autoidling Tony Lindgren
@ 2007-04-04 17:46               ` Tony Lindgren
  0 siblings, 0 replies; 21+ messages in thread
From: Tony Lindgren @ 2007-04-04 17:46 UTC (permalink / raw)
  To: linux-kernel; +Cc: Imre Deak, Juha Yrjola, Tony Lindgren

From: Imre Deak <imre.deak@solidboot.com>

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>
---
 arch/arm/plat-omap/fb.c            |    5 +++++
 include/asm-arm/arch-omap/omapfb.h |    8 +++++---
 2 files changed, 10 insertions(+), 3 deletions(-)

diff --git a/arch/arm/plat-omap/fb.c b/arch/arm/plat-omap/fb.c
index 56acb87..91ebdaf 100644
--- a/arch/arm/plat-omap/fb.c
+++ b/arch/arm/plat-omap/fb.c
@@ -55,6 +55,11 @@ void omapfb_reserve_mem(void)
 	}
 }
 
+void omapfb_set_ctrl_platform_data(void *data)
+{
+	omapfb_config.ctrl_platform_data = data;
+}
+
 static inline int omap_init_fb(void)
 {
 	const struct omap_lcd_config *conf;
diff --git a/include/asm-arm/arch-omap/omapfb.h b/include/asm-arm/arch-omap/omapfb.h
index fccdb3d..ce80a71 100644
--- a/include/asm-arm/arch-omap/omapfb.h
+++ b/include/asm-arm/arch-omap/omapfb.h
@@ -292,8 +292,9 @@ struct omapfb_device {
 };
 
 struct omapfb_platform_data {
-	struct omap_lcd_config   lcd;
-	struct omap_fbmem_config fbmem;
+	struct omap_lcd_config	lcd;
+	struct omapfb_mem_desc	mem_desc;
+	void			*ctrl_platform_data;
 };
 
 #define OMAPFB_EVENT_READY	1
@@ -317,8 +318,9 @@ extern int  omapfb_update_window_async(struct omapfb_update_window *win,
 					void (*callback)(void *),
 					void *callback_data);
 
-/* in arch/arm/plat-omap/devices.c */
+/* in arch/arm/plat-omap/fb.c */
 extern void omapfb_reserve_mem(void);
+extern void omapfb_set_ctrl_platform_data(void *pdata);
 
 #endif /* __KERNEL__ */
 
-- 
1.4.4.2


^ permalink raw reply related	[flat|nested] 21+ messages in thread

* Re: [PATCH 0/90] Post 2.6.21 OMAP update
  2007-04-04 17:46 [PATCH 0/90] Post 2.6.21 OMAP update Tony Lindgren
  2007-04-04 17:46 ` [PATCH 1/90] ARM: OMAP: Place SMS and SDRC into smart idle mode Tony Lindgren
@ 2007-04-04 18:27 ` Tony Lindgren
  2007-04-04 18:39   ` Randy Dunlap
  1 sibling, 1 reply; 21+ messages in thread
From: Tony Lindgren @ 2007-04-04 18:27 UTC (permalink / raw)
  To: linux-kernel

* Tony Lindgren <tony@atomide.com> [070404 14:02]:
> Hi all,
> 
> Attached is a rather large OMAP update for post 2.6.21.
> 
> OMAP is a series of ARM processors from Texas Instruments
> used in various cell phones and PDAs.
> 
> The patch series is based on code that has been brewing
> in the linux-omap tree since last fall.
> 
> We'd like to switch the linux-omap tree to use the mainline
> tree for core omap stuff, and this series attemps to do it
> for most part. 
> 
> As the patch series is big, Andrew Morton asked me to post
> it to LKML instead of linux-arm-kernel list for a wider review,
> so please comment on the patches if you have a chance!
> 
> The patches touch only omap specific code at:
> 
> arch/arm/Kconfig
> arch/arm/plat-omap
> arch/arm/mach-omap1
> arch/arm/mach-omap2
> include/asm-arm/arch-omap

Looks like using git-send-email --chain-reply-to with this many
messages is not a good idea... The threading gets nested too wide :)

For mutt users, changing the view temporarily can be done with:

:set sort=date

instead of

:set sort=threads

Regards,

Tony

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH 0/90] Post 2.6.21 OMAP update
  2007-04-04 18:27 ` [PATCH 0/90] Post 2.6.21 OMAP update Tony Lindgren
@ 2007-04-04 18:39   ` Randy Dunlap
  2007-04-04 18:44     ` Tony Lindgren
  0 siblings, 1 reply; 21+ messages in thread
From: Randy Dunlap @ 2007-04-04 18:39 UTC (permalink / raw)
  To: Tony Lindgren; +Cc: linux-kernel

On Wed, 4 Apr 2007 14:27:30 -0400 Tony Lindgren wrote:

> * Tony Lindgren <tony@atomide.com> [070404 14:02]:
> > Hi all,
> > 
> > Attached is a rather large OMAP update for post 2.6.21.
> > 
> > OMAP is a series of ARM processors from Texas Instruments
> > used in various cell phones and PDAs.
> > 
> > The patch series is based on code that has been brewing
> > in the linux-omap tree since last fall.
> > 
> > We'd like to switch the linux-omap tree to use the mainline
> > tree for core omap stuff, and this series attemps to do it
> > for most part. 
> > 
> > As the patch series is big, Andrew Morton asked me to post
> > it to LKML instead of linux-arm-kernel list for a wider review,
> > so please comment on the patches if you have a chance!
> > 
> > The patches touch only omap specific code at:
> > 
> > arch/arm/Kconfig
> > arch/arm/plat-omap
> > arch/arm/mach-omap1
> > arch/arm/mach-omap2
> > include/asm-arm/arch-omap
> 
> Looks like using git-send-email --chain-reply-to with this many
> messages is not a good idea... The threading gets nested too wide :)

That's only a problem when there are <too many> patches to be
reviewed.  Hence, do more frequent postings of fewer patches per series.
That will likely also get you more reviewers.

---
~Randy
*** Remember to use Documentation/SubmitChecklist when testing your code ***

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH 0/90] Post 2.6.21 OMAP update
  2007-04-04 18:39   ` Randy Dunlap
@ 2007-04-04 18:44     ` Tony Lindgren
  2007-04-04 21:44       ` Alan Cox
  0 siblings, 1 reply; 21+ messages in thread
From: Tony Lindgren @ 2007-04-04 18:44 UTC (permalink / raw)
  To: Randy Dunlap; +Cc: linux-kernel

* Randy Dunlap <randy.dunlap@oracle.com> [070404 14:37]:
> On Wed, 4 Apr 2007 14:27:30 -0400 Tony Lindgren wrote:
> 
> > * Tony Lindgren <tony@atomide.com> [070404 14:02]:
> > > Hi all,
> > > 
> > > Attached is a rather large OMAP update for post 2.6.21.
> > > 
> > > OMAP is a series of ARM processors from Texas Instruments
> > > used in various cell phones and PDAs.
> > > 
> > > The patch series is based on code that has been brewing
> > > in the linux-omap tree since last fall.
> > > 
> > > We'd like to switch the linux-omap tree to use the mainline
> > > tree for core omap stuff, and this series attemps to do it
> > > for most part. 
> > > 
> > > As the patch series is big, Andrew Morton asked me to post
> > > it to LKML instead of linux-arm-kernel list for a wider review,
> > > so please comment on the patches if you have a chance!
> > > 
> > > The patches touch only omap specific code at:
> > > 
> > > arch/arm/Kconfig
> > > arch/arm/plat-omap
> > > arch/arm/mach-omap1
> > > arch/arm/mach-omap2
> > > include/asm-arm/arch-omap
> > 
> > Looks like using git-send-email --chain-reply-to with this many
> > messages is not a good idea... The threading gets nested too wide :)
> 
> That's only a problem when there are <too many> patches to be
> reviewed.  Hence, do more frequent postings of fewer patches per series.
> That will likely also get you more reviewers.

Yeah, I agree.. We've already missed two merge windows because of the
large patch set :( The problem is that patch set just keeps growing.

Things should be to normal small patch sets once this pile is dealt
with.

Regards,

Tony

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH 0/90] Post 2.6.21 OMAP update
  2007-04-04 18:44     ` Tony Lindgren
@ 2007-04-04 21:44       ` Alan Cox
  2007-04-05 13:21         ` Tony Lindgren
  0 siblings, 1 reply; 21+ messages in thread
From: Alan Cox @ 2007-04-04 21:44 UTC (permalink / raw)
  To: Tony Lindgren; +Cc: Randy Dunlap, linux-kernel

> > That's only a problem when there are <too many> patches to be
> > reviewed.  Hence, do more frequent postings of fewer patches per series.
> > That will likely also get you more reviewers.
> 
> Yeah, I agree.. We've already missed two merge windows because of the
> large patch set :( The problem is that patch set just keeps growing.

The other problem is that GIT patch sets are completely useless for
merging and reviewing if you simply fire off a blast of 70 changesets.
Each time you do it at least one gets queried or a NAK and the lot go in
the bin again. Repeat 50 times...

It would be enormously helpful if instead we got say 15 small patch sets
which are independant so that a query or NAK means 14 sets get applied
this time around not zero.

Alan

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH 0/90] Post 2.6.21 OMAP update
  2007-04-04 21:44       ` Alan Cox
@ 2007-04-05 13:21         ` Tony Lindgren
  2007-04-05 16:31           ` Roland Dreier
  0 siblings, 1 reply; 21+ messages in thread
From: Tony Lindgren @ 2007-04-05 13:21 UTC (permalink / raw)
  To: Alan Cox; +Cc: Randy Dunlap, linux-kernel

* Alan Cox <alan@lxorguk.ukuu.org.uk> [070404 17:42]:
> > > That's only a problem when there are <too many> patches to be
> > > reviewed.  Hence, do more frequent postings of fewer patches per series.
> > > That will likely also get you more reviewers.
> > 
> > Yeah, I agree.. We've already missed two merge windows because of the
> > large patch set :( The problem is that patch set just keeps growing.
> 
> The other problem is that GIT patch sets are completely useless for
> merging and reviewing if you simply fire off a blast of 70 changesets.
> Each time you do it at least one gets queried or a NAK and the lot go in
> the bin again. Repeat 50 times...

Yeah, it is also big pain to maintain patchset this large.

> It would be enormously helpful if instead we got say 15 small patch sets
> which are independant so that a query or NAK means 14 sets get applied
> this time around not zero.

I was thinking about merging the patches together more, but the end result
would not be very readable, and we would lose the original author info.

Also trying to do this 15 small patches at time would make it hard
to have it all integrated within the two week merge window.

It would be nice to get to a situation where we only have 10 - 20 small
linux-omap patches ready for every merge window, and then send fixes
during the -rc series.

Regards,

Tony

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH 0/90] Post 2.6.21 OMAP update
  2007-04-05 13:21         ` Tony Lindgren
@ 2007-04-05 16:31           ` Roland Dreier
  2007-04-05 18:03             ` Tony Lindgren
  0 siblings, 1 reply; 21+ messages in thread
From: Roland Dreier @ 2007-04-05 16:31 UTC (permalink / raw)
  To: Tony Lindgren; +Cc: Alan Cox, Randy Dunlap, linux-kernel

 > > It would be enormously helpful if instead we got say 15 small patch sets
 > > which are independant so that a query or NAK means 14 sets get applied
 > > this time around not zero.
 > 
 > I was thinking about merging the patches together more, but the end result
 > would not be very readable, and we would lose the original author info.
 > 
 > Also trying to do this 15 small patches at time would make it hard
 > to have it all integrated within the two week merge window.

I think you misunderstood the suggestion.  The idea is that you leave
the patches basically as-is (modulo any small tweaks required by
reordering), but rather than one 90-patch series, you divide the
patches up into independent subsets.  Maybe something like

 - basic OMAP fixes for bugs in core support
 - Palm platform stuff
 - ...other platform stuff
 - new features

etc.  then it's easier for people to review the stuff they're
interested in, and it's easier for at least some of the subsets to get
applied (which reduces your backlog).

 - R.

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH 0/90] Post 2.6.21 OMAP update
  2007-04-05 16:31           ` Roland Dreier
@ 2007-04-05 18:03             ` Tony Lindgren
  2007-04-05 18:29               ` Roland Dreier
  2007-04-05 20:27               ` Alan Cox
  0 siblings, 2 replies; 21+ messages in thread
From: Tony Lindgren @ 2007-04-05 18:03 UTC (permalink / raw)
  To: Roland Dreier; +Cc: Alan Cox, Randy Dunlap, linux-kernel

* Roland Dreier <rdreier@cisco.com> [070405 12:32]:
>  > > It would be enormously helpful if instead we got say 15 small patch sets
>  > > which are independant so that a query or NAK means 14 sets get applied
>  > > this time around not zero.
>  > 
>  > I was thinking about merging the patches together more, but the end result
>  > would not be very readable, and we would lose the original author info.
>  > 
>  > Also trying to do this 15 small patches at time would make it hard
>  > to have it all integrated within the two week merge window.
> 
> I think you misunderstood the suggestion.  The idea is that you leave
> the patches basically as-is (modulo any small tweaks required by
> reordering), but rather than one 90-patch series, you divide the
> patches up into independent subsets.  Maybe something like
> 
>  - basic OMAP fixes for bugs in core support
>  - Palm platform stuff
>  - ...other platform stuff
>  - new features
> 
> etc.  then it's easier for people to review the stuff they're
> interested in, and it's easier for at least some of the subsets to get
> applied (which reduces your backlog).

Hmm, yeah I'll see if I could group them a bit. The problem there
is that the patch series contains multiple rounds of "add and fix"
cycles. Pretty much all the non-dependant fixes have already been
applied, BTW.

Tony

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH 0/90] Post 2.6.21 OMAP update
  2007-04-05 18:03             ` Tony Lindgren
@ 2007-04-05 18:29               ` Roland Dreier
  2007-04-09 21:45                 ` Tony Lindgren
  2007-04-05 20:27               ` Alan Cox
  1 sibling, 1 reply; 21+ messages in thread
From: Roland Dreier @ 2007-04-05 18:29 UTC (permalink / raw)
  To: Tony Lindgren; +Cc: Alan Cox, Randy Dunlap, linux-kernel

 > Hmm, yeah I'll see if I could group them a bit. The problem there
 > is that the patch series contains multiple rounds of "add and fix"
 > cycles. Pretty much all the non-dependant fixes have already been
 > applied, BTW.

I think it's nice to roll up fixes into patches that haven't been
merged upstream yet.  For example I try to avoid merging series like

  Add feature A
  Add feature B
  Fix 1 for feature A
  Fix 2 for feature A
  Fix for fix 1 for feature A

because that means I already knew the first patch was broken before it
ever got merged.  And it's better to avoid setting any more booby
traps for people trying to use git bisect or something like
that... enough bugs get merged by accident without us merging known
bugs.  So before I merge, I go back and create a new series like

  Add fixed feature A
  Add feature B

 - R.

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH 0/90] Post 2.6.21 OMAP update
  2007-04-05 18:03             ` Tony Lindgren
  2007-04-05 18:29               ` Roland Dreier
@ 2007-04-05 20:27               ` Alan Cox
  2007-04-06  7:18                 ` Russell King
  1 sibling, 1 reply; 21+ messages in thread
From: Alan Cox @ 2007-04-05 20:27 UTC (permalink / raw)
  To: Tony Lindgren; +Cc: Roland Dreier, Randy Dunlap, linux-kernel

> Hmm, yeah I'll see if I could group them a bit. The problem there
> is that the patch series contains multiple rounds of "add and fix"
> cycles. Pretty much all the non-dependant fixes have already been
> applied, BTW.

Bear in mind that it doesn't work now, so merging some stuff and being in
a "more merged but still not yet a tree to build OMAP from" is not a
regression or a problem.

Going back some time the PA-RISC merge occurred over several months until
one day it was all there.

Alan

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH 0/90] Post 2.6.21 OMAP update
  2007-04-05 20:27               ` Alan Cox
@ 2007-04-06  7:18                 ` Russell King
  2007-04-09 21:49                   ` Tony Lindgren
  0 siblings, 1 reply; 21+ messages in thread
From: Russell King @ 2007-04-06  7:18 UTC (permalink / raw)
  To: Alan Cox; +Cc: Tony Lindgren, Roland Dreier, Randy Dunlap, linux-kernel

On Thu, Apr 05, 2007 at 09:27:13PM +0100, Alan Cox wrote:
> > Hmm, yeah I'll see if I could group them a bit. The problem there
> > is that the patch series contains multiple rounds of "add and fix"
> > cycles. Pretty much all the non-dependant fixes have already been
> > applied, BTW.
> 
> Bear in mind that it doesn't work now, so merging some stuff and being in
> a "more merged but still not yet a tree to build OMAP from" is not a
> regression or a problem.
> 
> Going back some time the PA-RISC merge occurred over several months until
> one day it was all there.

I think Tony's problem is the volume of changes though - I think it is
fair to say that in 2.6.18 it was fully merged and working.

Since then, for one reason or another the merge windows got missed (ISTR
it was triggered due to me not being able to devote the full 14 days to
kernel work during the 2.6.19 merge window due to going on holiday) which
has resulted in subsequent merge windows being missed, and therefore the
number of changes increasing and the problem Tony's now in.

In that respect, if it no longer "work"s now, it's technically a
regression.

Clearly the real solution is for rmk never to go on holiday during a
merge window, but I don't personally find that acceptable.  Or maybe
human cloning, but I'm sure there's people here who think that one rmk
is enough. ;)

-- 
Russell King
 Linux kernel    2.6 ARM Linux   - http://www.arm.linux.org.uk/
 maintainer of:

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH 0/90] Post 2.6.21 OMAP update
  2007-04-05 18:29               ` Roland Dreier
@ 2007-04-09 21:45                 ` Tony Lindgren
  0 siblings, 0 replies; 21+ messages in thread
From: Tony Lindgren @ 2007-04-09 21:45 UTC (permalink / raw)
  To: Roland Dreier; +Cc: Alan Cox, Randy Dunlap, linux-kernel

* Roland Dreier <rdreier@cisco.com> [070405 14:29]:
>  > Hmm, yeah I'll see if I could group them a bit. The problem there
>  > is that the patch series contains multiple rounds of "add and fix"
>  > cycles. Pretty much all the non-dependant fixes have already been
>  > applied, BTW.
> 
> I think it's nice to roll up fixes into patches that haven't been
> merged upstream yet.  For example I try to avoid merging series like
> 
>   Add feature A
>   Add feature B
>   Fix 1 for feature A
>   Fix 2 for feature A
>   Fix for fix 1 for feature A
> 
> because that means I already knew the first patch was broken before it
> ever got merged.  And it's better to avoid setting any more booby
> traps for people trying to use git bisect or something like
> that... enough bugs get merged by accident without us merging known
> bugs.  So before I merge, I go back and create a new series like
> 
>   Add fixed feature A
>   Add feature B

OK, done and reposted. Your suggestion got the following fixes merged
into other patches:

0022-ARM-OMAP-Fix-Amstrad-Delta-omap-keypad-usage.txt
0023-ARM-OMAP-PalmZ71-extra-brace-fix.txt
0024-ARM-OMAP-Fix-typo-in-gpio.txt
0030-ARM-OMAP-Palm-Zire71-minor-fixes.txt
0033-ARM-OMAP-This-patch-enables-I2C-2-support-for-2430-SDP.txt
0034-ARM-OMAP-Set-keypad-sense-delays-for-the-Palms.txt
0048-ARM-OMAP-I2C-1-init-fix-for-2430.txt
0049-ARM-OMAP-update-board-2430-file-for-TWL-PIH-interrupts.txt
0050-ARM-OMAP-board-sdp2430.c-Remove-unnecessary-includes.txt
0056-ARM-OMAP-Make-board-palmz71-compile-again.txt
0058-ARM-OMAP-musb_hdrc-tusb-dma-patch-minor.txt
0064-ARM-OMAP-Fix-warning-in-pm.c.txt
0065-ARM-OMAP-Convert-interrupt-flags-SA_-to-IRQF_.txt
0073-ARM-OMAP-Add-onennand-board-specific-support-for-N800.txt
0074-ARM-OMAP-N800-Update-board-specific-audio-support.txt
0079-ARM-OMAP-fix-H4-dependencies-again.txt
0081-ARM-OMAP-omap2-pm.c-build-fix.txt
0084-ARM-OMAP-Update-changed-TSC2301-config-names-in-N800-board-files.txt
0089-ARM-OMAP-Activate-MPU-retention-code-in-omap2-pm.c.txt

I also split 0040-ARM-OMAP-Sync-board-specific-files-with-linux-omap.txt
into two patches, one for OMAP1 and one for OMAP2.

So now there are somewhat smaller mountain of patches :)

Regards,

Tony


^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH 0/90] Post 2.6.21 OMAP update
  2007-04-06  7:18                 ` Russell King
@ 2007-04-09 21:49                   ` Tony Lindgren
  0 siblings, 0 replies; 21+ messages in thread
From: Tony Lindgren @ 2007-04-09 21:49 UTC (permalink / raw)
  To: Alan Cox, Roland Dreier, Randy Dunlap, linux-kernel

Hi,

* Russell King <rmk+lkml@arm.linux.org.uk> [070406 03:19]:
> On Thu, Apr 05, 2007 at 09:27:13PM +0100, Alan Cox wrote:
> > > Hmm, yeah I'll see if I could group them a bit. The problem there
> > > is that the patch series contains multiple rounds of "add and fix"
> > > cycles. Pretty much all the non-dependant fixes have already been
> > > applied, BTW.
> > 
> > Bear in mind that it doesn't work now, so merging some stuff and being in
> > a "more merged but still not yet a tree to build OMAP from" is not a
> > regression or a problem.
> > 
> > Going back some time the PA-RISC merge occurred over several months until
> > one day it was all there.
> 
> I think Tony's problem is the volume of changes though - I think it is
> fair to say that in 2.6.18 it was fully merged and working.
> 
> Since then, for one reason or another the merge windows got missed (ISTR
> it was triggered due to me not being able to devote the full 14 days to
> kernel work during the 2.6.19 merge window due to going on holiday) which
> has resulted in subsequent merge windows being missed, and therefore the
> number of changes increasing and the problem Tony's now in.
> 
> In that respect, if it no longer "work"s now, it's technically a
> regression.

Yeah, it works, but the current omap code in the mainline kernel is still
mostly at 2.6.18 level like you mentioned.

> Clearly the real solution is for rmk never to go on holiday during a
> merge window, but I don't personally find that acceptable.  Or maybe
> human cloning, but I'm sure there's people here who think that one rmk
> is enough. ;)

Or maybe there should be a two week common code and interface merge
window, then another two weeks for merging board and driver specific
stuff?

That would make it easier to update the board and driver specific
patches to the common code and interface changes first before they
are submitted.

Regards,

Tony

^ permalink raw reply	[flat|nested] 21+ messages in thread

end of thread, other threads:[~2007-04-09 21:50 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-04-04 17:46 [PATCH 0/90] Post 2.6.21 OMAP update Tony Lindgren
2007-04-04 17:46 ` [PATCH 1/90] ARM: OMAP: Place SMS and SDRC into smart idle mode Tony Lindgren
2007-04-04 17:46   ` [PATCH 2/90] ARM: OMAP: Force APLLs always active Tony Lindgren
2007-04-04 17:46     ` [PATCH 3/90] ARM: OMAP: Add DMA IRQ sanity checks Tony Lindgren
2007-04-04 17:46       ` [PATCH 4/90] ARM: OMAP: Enable 24xx GPIO autoidling Tony Lindgren
2007-04-04 17:46         ` [PATCH 5/90] ARM: OMAP: Add function to print clock usecounts Tony Lindgren
2007-04-04 17:46           ` [PATCH 6/90] ARM: OMAP: Enable serial idling and wakeup features Tony Lindgren
2007-04-04 17:46             ` [PATCH 7/90] ARM: OMAP: Optimize INTC register accesses and enable autoidling Tony Lindgren
2007-04-04 17:46               ` [PATCH 8/90] ARM: OMAP: FB: add controller platform data Tony Lindgren
2007-04-04 18:27 ` [PATCH 0/90] Post 2.6.21 OMAP update Tony Lindgren
2007-04-04 18:39   ` Randy Dunlap
2007-04-04 18:44     ` Tony Lindgren
2007-04-04 21:44       ` Alan Cox
2007-04-05 13:21         ` Tony Lindgren
2007-04-05 16:31           ` Roland Dreier
2007-04-05 18:03             ` Tony Lindgren
2007-04-05 18:29               ` Roland Dreier
2007-04-09 21:45                 ` Tony Lindgren
2007-04-05 20:27               ` Alan Cox
2007-04-06  7:18                 ` Russell King
2007-04-09 21:49                   ` Tony Lindgren

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox