public inbox for linux-omap@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/4] Still more omap fixes for current -rc series
@ 2009-03-04 18:25 Tony Lindgren
  2009-03-04 18:26 ` [PATCH 1/4] ARM: OMAP: Fix compile error if pm.h is included Tony Lindgren
                   ` (4 more replies)
  0 siblings, 5 replies; 6+ messages in thread
From: Tony Lindgren @ 2009-03-04 18:25 UTC (permalink / raw)
  To: linux-arm-kernel; +Cc: linux-omap

This should be it for the omap fixes for this -rc cycle. Hopefully
we can still get these in.

Regards,

Tony

---

Aaro Koskinen (2):
      ARM: OMAP: Allow I2C bus driver to be compiled as a module
      ARM: OMAP: sched_clock() corrected

David Brownell (1):
      ARM: OMAP: Fix compile error if pm.h is included

Koen Kooi (1):
      ARM: OMAP: board-omap3beagle: set i2c-3 to 100kHz


 arch/arm/mach-omap2/board-omap3beagle.c  |    4 +++-
 arch/arm/plat-omap/Makefile              |    3 ++-
 arch/arm/plat-omap/common.c              |   14 +++++---------
 arch/arm/plat-omap/include/mach/common.h |    2 +-
 arch/arm/plat-omap/include/mach/pm.h     |    2 +-
 5 files changed, 12 insertions(+), 13 deletions(-)

-- 
Signature

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

* [PATCH 1/4] ARM: OMAP: Fix compile error if pm.h is included
  2009-03-04 18:25 [PATCH 0/4] Still more omap fixes for current -rc series Tony Lindgren
@ 2009-03-04 18:26 ` Tony Lindgren
  2009-03-04 18:27 ` [PATCH 2/4] ARM: OMAP: sched_clock() corrected Tony Lindgren
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: Tony Lindgren @ 2009-03-04 18:26 UTC (permalink / raw)
  To: linux-arm-kernel; +Cc: David Brownell, linux-omap

From: David Brownell <dbrownell@users.sourceforge.net>

Change the error to a warning.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Tony Lindgren <tony@atomide.com>
---
 arch/arm/plat-omap/include/mach/pm.h |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/arch/arm/plat-omap/include/mach/pm.h b/arch/arm/plat-omap/include/mach/pm.h
index 2a9c27a..37e2f0f 100644
--- a/arch/arm/plat-omap/include/mach/pm.h
+++ b/arch/arm/plat-omap/include/mach/pm.h
@@ -108,7 +108,7 @@
 	!defined(CONFIG_ARCH_OMAP15XX) && \
 	!defined(CONFIG_ARCH_OMAP16XX) && \
 	!defined(CONFIG_ARCH_OMAP24XX)
-#error "Power management for this processor not implemented yet"
+#warning "Power management for this processor not implemented yet"
 #endif
 
 #ifndef __ASSEMBLER__


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

* [PATCH 2/4] ARM: OMAP: sched_clock() corrected
  2009-03-04 18:25 [PATCH 0/4] Still more omap fixes for current -rc series Tony Lindgren
  2009-03-04 18:26 ` [PATCH 1/4] ARM: OMAP: Fix compile error if pm.h is included Tony Lindgren
@ 2009-03-04 18:27 ` Tony Lindgren
  2009-03-04 18:29 ` [PATCH 3/4] ARM: OMAP: Allow I2C bus driver to be compiled as a module Tony Lindgren
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: Tony Lindgren @ 2009-03-04 18:27 UTC (permalink / raw)
  To: linux-arm-kernel; +Cc: linux-omap, Aaro Koskinen

From: Aaro Koskinen <Aaro.Koskinen@nokia.com>

After my OMAP3 board has been running for a while, I'm seeing weird
latency traces like this:

      sh-1574    0d.h2  153us : do_timer (tick_do_update_jiffies64)
      sh-1574    0d.h2  153us : update_wall_time (do_timer)
      sh-1574    0d.h2  153us!: omap_32k_read (update_wall_time)
      sh-1574    0d.h2 1883us : update_xtime_cache (update_wall_time)
      sh-1574    0d.h2 1883us : clocksource_get_next (update_wall_time)
      sh-1574    0d.h2 1883us+: _spin_lock_irqsave (clocksource_get_next)

and after a while:

      sh-17818   0d.h3  153us : do_timer (tick_do_update_jiffies64)
      sh-17818   0d.h3  153us : update_wall_time (do_timer)
      sh-17818   0d.h3  153us!: omap_32k_read (update_wall_time)
      sh-17818   0d.h3 1915us : update_xtime_cache (update_wall_time)
      sh-17818   0d.h3 1915us+: clocksource_get_next (update_wall_time)
      sh-17818   0d.h3 1945us : _spin_lock_irqsave (clocksource_get_next)

Turns out that sched_clock() is using cyc2ns(), which returns NTP
adjusted time. The sched_clock() frequency should not be adjusted. The
patch deletes omap_32k_ticks_to_nsecs() and rewrites sched_clock()
to do the conversion using the constant multiplier.

Signed-off-by: Aaro Koskinen <Aaro.Koskinen@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
---
 arch/arm/plat-omap/common.c |   14 +++++---------
 1 files changed, 5 insertions(+), 9 deletions(-)

diff --git a/arch/arm/plat-omap/common.c b/arch/arm/plat-omap/common.c
index 0843b88..6825fbb 100644
--- a/arch/arm/plat-omap/common.c
+++ b/arch/arm/plat-omap/common.c
@@ -200,20 +200,16 @@ static struct clocksource clocksource_32k = {
 };
 
 /*
- * Rounds down to nearest nsec.
- */
-unsigned long long omap_32k_ticks_to_nsecs(unsigned long ticks_32k)
-{
-	return cyc2ns(&clocksource_32k, ticks_32k);
-}
-
-/*
  * Returns current time from boot in nsecs. It's OK for this to wrap
  * around for now, as it's just a relative time stamp.
  */
 unsigned long long sched_clock(void)
 {
-	return omap_32k_ticks_to_nsecs(omap_32k_read());
+	unsigned long long ret;
+
+	ret = (unsigned long long)omap_32k_read();
+	ret = (ret * clocksource_32k.mult_orig) >> clocksource_32k.shift;
+	return ret;
 }
 
 static int __init omap_init_clocksource_32k(void)


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

* [PATCH 3/4] ARM: OMAP: Allow I2C bus driver to be compiled as a module
  2009-03-04 18:25 [PATCH 0/4] Still more omap fixes for current -rc series Tony Lindgren
  2009-03-04 18:26 ` [PATCH 1/4] ARM: OMAP: Fix compile error if pm.h is included Tony Lindgren
  2009-03-04 18:27 ` [PATCH 2/4] ARM: OMAP: sched_clock() corrected Tony Lindgren
@ 2009-03-04 18:29 ` Tony Lindgren
  2009-03-04 18:30 ` [PATCH 4/4] ARM: OMAP: board-omap3beagle: set i2c-3 to 100kHz Tony Lindgren
  2009-03-07 15:55 ` [PATCH 0/4] Still more omap fixes for current -rc series Tony Lindgren
  4 siblings, 0 replies; 6+ messages in thread
From: Tony Lindgren @ 2009-03-04 18:29 UTC (permalink / raw)
  To: linux-arm-kernel; +Cc: linux-omap, Jarkko Nikula, Aaro Koskinen

From: Aaro Koskinen <Aaro.Koskinen@nokia.com>

Fixes a linker error when OMAP I2C bus driver is compiled as a module:

   ERROR: "i2c_register_board_info" [arch/arm/plat-omap/i2c.ko] undefined!

The I2C utility functions used for board initialization should be always
built-in.

Signed-off-by: Aaro Koskinen <Aaro.Koskinen@nokia.com>
Acked-by: Jarkko Nikula  <jarkko.nikula@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
---
 arch/arm/plat-omap/Makefile              |    3 ++-
 arch/arm/plat-omap/include/mach/common.h |    2 +-
 2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/arch/arm/plat-omap/Makefile b/arch/arm/plat-omap/Makefile
index deaff58..04a100c 100644
--- a/arch/arm/plat-omap/Makefile
+++ b/arch/arm/plat-omap/Makefile
@@ -18,7 +18,8 @@ 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
+i2c-omap-$(CONFIG_I2C_OMAP) := i2c.o
+obj-y += $(i2c-omap-m) $(i2c-omap-y)
 
 # OMAP mailbox framework
 obj-$(CONFIG_OMAP_MBOX_FWK) += mailbox.o
diff --git a/arch/arm/plat-omap/include/mach/common.h b/arch/arm/plat-omap/include/mach/common.h
index ef70e2b..e746ec7 100644
--- a/arch/arm/plat-omap/include/mach/common.h
+++ b/arch/arm/plat-omap/include/mach/common.h
@@ -35,7 +35,7 @@ extern void omap_map_common_io(void);
 extern struct sys_timer omap_timer;
 extern void omap_serial_init(void);
 extern void omap_serial_enable_clocks(int enable);
-#ifdef CONFIG_I2C_OMAP
+#if defined(CONFIG_I2C_OMAP) || defined(CONFIG_I2C_OMAP_MODULE)
 extern int omap_register_i2c_bus(int bus_id, u32 clkrate,
 				 struct i2c_board_info const *info,
 				 unsigned len);


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

* [PATCH 4/4] ARM: OMAP: board-omap3beagle: set i2c-3 to 100kHz
  2009-03-04 18:25 [PATCH 0/4] Still more omap fixes for current -rc series Tony Lindgren
                   ` (2 preceding siblings ...)
  2009-03-04 18:29 ` [PATCH 3/4] ARM: OMAP: Allow I2C bus driver to be compiled as a module Tony Lindgren
@ 2009-03-04 18:30 ` Tony Lindgren
  2009-03-07 15:55 ` [PATCH 0/4] Still more omap fixes for current -rc series Tony Lindgren
  4 siblings, 0 replies; 6+ messages in thread
From: Tony Lindgren @ 2009-03-04 18:30 UTC (permalink / raw)
  To: linux-arm-kernel; +Cc: David Brownell, linux-omap, Koen Kooi

From: Koen Kooi <koen@beagleboard.org>

Changing it do 100kHz is needed to make more devices works properly. Controlling the
TI DLP Pico projector[1] doesn't work properly at 400kHz, 100kHz and lower work fine.
EDID readout is unaffected by this change.

[1] http://focus.ti.com/dlpdmd/docs/dlpdiscovery.tsp?sectionId=60&tabId=2234

Signed-off-by: Koen Kooi <koen@beagleboard.org>
Acked-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Tony Lindgren <tony@atomide.com>
---
 arch/arm/mach-omap2/board-omap3beagle.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/arch/arm/mach-omap2/board-omap3beagle.c b/arch/arm/mach-omap2/board-omap3beagle.c
index 38c88fb..e39cd2c 100644
--- a/arch/arm/mach-omap2/board-omap3beagle.c
+++ b/arch/arm/mach-omap2/board-omap3beagle.c
@@ -178,7 +178,9 @@ static int __init omap3_beagle_i2c_init(void)
 #ifdef CONFIG_I2C2_OMAP_BEAGLE
 	omap_register_i2c_bus(2, 400, NULL, 0);
 #endif
-	omap_register_i2c_bus(3, 400, NULL, 0);
+	/* Bus 3 is attached to the DVI port where devices like the pico DLP
+	 * projector don't work reliably with 400kHz */
+	omap_register_i2c_bus(3, 100, NULL, 0);
 	return 0;
 }
 


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

* Re: [PATCH 0/4] Still more omap fixes for current -rc series
  2009-03-04 18:25 [PATCH 0/4] Still more omap fixes for current -rc series Tony Lindgren
                   ` (3 preceding siblings ...)
  2009-03-04 18:30 ` [PATCH 4/4] ARM: OMAP: board-omap3beagle: set i2c-3 to 100kHz Tony Lindgren
@ 2009-03-07 15:55 ` Tony Lindgren
  4 siblings, 0 replies; 6+ messages in thread
From: Tony Lindgren @ 2009-03-07 15:55 UTC (permalink / raw)
  To: Russell King; +Cc: linux-omap, linux-arm-kernel

[-- Attachment #1: Type: text/plain, Size: 216 bytes --]

* Tony Lindgren <tony@atomide.com> [090304 10:31]:
> This should be it for the omap fixes for this -rc cycle. Hopefully
> we can still get these in.

Russell, here's the pull request for you for these fixes.

Tony
 

[-- Attachment #2: pull.txt --]
[-- Type: text/plain, Size: 853 bytes --]

The following changes since commit fec6c6fec3e20637bee5d276fb61dd8b49a3f9cc:
  Linus Torvalds (1):
        Linux 2.6.29-rc7

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6.git omap-fixes

Aaro Koskinen (2):
      ARM: OMAP: sched_clock() corrected
      ARM: OMAP: Allow I2C bus driver to be compiled as a module

David Brownell (1):
      ARM: OMAP: Fix compile error if pm.h is included

Koen Kooi (1):
      ARM: OMAP: board-omap3beagle: set i2c-3 to 100kHz

 arch/arm/mach-omap2/board-omap3beagle.c  |    4 +++-
 arch/arm/plat-omap/Makefile              |    3 ++-
 arch/arm/plat-omap/common.c              |   14 +++++---------
 arch/arm/plat-omap/include/mach/common.h |    2 +-
 arch/arm/plat-omap/include/mach/pm.h     |    2 +-
 5 files changed, 12 insertions(+), 13 deletions(-)

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

end of thread, other threads:[~2009-03-07 15:55 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-03-04 18:25 [PATCH 0/4] Still more omap fixes for current -rc series Tony Lindgren
2009-03-04 18:26 ` [PATCH 1/4] ARM: OMAP: Fix compile error if pm.h is included Tony Lindgren
2009-03-04 18:27 ` [PATCH 2/4] ARM: OMAP: sched_clock() corrected Tony Lindgren
2009-03-04 18:29 ` [PATCH 3/4] ARM: OMAP: Allow I2C bus driver to be compiled as a module Tony Lindgren
2009-03-04 18:30 ` [PATCH 4/4] ARM: OMAP: board-omap3beagle: set i2c-3 to 100kHz Tony Lindgren
2009-03-07 15:55 ` [PATCH 0/4] Still more omap fixes for current -rc series Tony Lindgren

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