* [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