ARM: orion: implement ARM delay timer
PATCH 1/1 ARM: orion: implement ARM delay timer
Implement an ARM delay timer to be used for udelay() on orion legacy platforms. This allows us to skip the delay loop calibration at boot.
It also means that udelay() will be unaffected by CPU frequency changes when cpufreq is enabled on these platforms.
---
This needs to be tested beyond build testing...
arch/arm/plat-orion/time.c | 13 +++++++++++++ 1 file changed, 13 insertions(+)
arch/arm/plat-orion/time.c +13 -0
@@ -18,6 +18,7 @@#include <linux/irq.h> #include <linux/sched_clock.h> #include <plat/time.h> +#include <asm/delay.h> /* * MBus bridge block registers.
@@ -188,6 +189,15 @@ orion_time_set_base(void __iomem *_timer_base) timer_base = _timer_base; } +static unsigned long orion_delay_timer_read (void ) +{ +return ~readl (timer_base +TIMER0_VAL_OFF ); +} + +static struct delay_timer orion_delay_timer = { + .read_current_timer = orion_delay_timer_read, +}; +void __init orion_time_init (void __iomem *_bridge_base,u32 _bridge_timer1_clr_mask,unsigned int irq,unsigned int tclk)
@@ -202,6 +212,9 @@ orion_time_init(void __iomem *_bridge_base, u32 _bridge_timer1_clr_mask, ticks_per_jiffy = (tclk +HZ /2 ) /HZ ; + orion_delay_timer.freq = tclk; +register_current_timer_delay (&orion_delay_timer); +/* * Set scale and timer for sched_clock. */
Signature · 1 line
2.1.0
PATCH 1/1 ARM: orion: implement ARM delay timer
Quoted 9 lines · Russell King
Implement an ARM delay timer to be used for
udelay()on orion legacy platforms. This allows us to skip the delay loop calibration at boot.It also means that
udelay()will be unaffected by CPU frequency changes when cpufreq is enabled on these platforms.Signed-off-by Russell King <[email protected]>---
This needs to be tested beyond build testing...
So what's happening with this change? I see no progress on it.
Quoted 50 lines
arch/arm/plat-orion/time.c | 13 +++++++++++++ 1 file changed, 13 insertions(+)arch/arm/plat-orion/time.c +13
-0@@ -18,6 +18,7 @@#include <linux/irq.h> #include <linux/sched_clock.h> #include <plat/time.h> +#include <asm/delay.h> /* * MBus bridge block registers. @@ -188,6 +189,15 @@ orion_time_set_base(void __iomem *_timer_base) timer_base = _timer_base; } +static unsigned long orion_delay_timer_read (void ) +{ +return ~readl (timer_base +TIMER0_VAL_OFF ); +} + +static struct delay_timer orion_delay_timer = { + .read_current_timer = orion_delay_timer_read, +}; +void __init orion_time_init (void __iomem *_bridge_base,u32 _bridge_timer1_clr_mask,unsigned int irq,unsigned int tclk)@@ -202,6 +212,9 @@ orion_time_init(void __iomem *_bridge_base, u32 _bridge_timer1_clr_mask, ticks_per_jiffy = (tclk +HZ /2 ) /HZ ; + orion_delay_timer.freq = tclk; +register_current_timer_delay (&orion_delay_timer); +/* * Set scale and timer for sched_clock. */ Signature · 7 lines
2.1.0 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel at lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Signature · 2 lines
FTTC broadband for 0.8mile line: currently at 9.6Mbps down 400kbps up according to speedtest.net.
Andrew Lunn
maintainerPATCH 1/1 ARM: orion: implement ARM delay timer
Quoted 4 lines · Russell King - ARM Linux
Quoted 3 lines · Russell King
Implement an ARM delay timer to be used for
udelay()on orion legacy platforms. This allows us to skip the delay loop calibration at boot.
Quoted 8 lines
Quoted 6 lines
It also means that
udelay()will be unaffected by CPU frequency changes when cpufreq is enabled on these platforms.Signed-off-by Russell King <[email protected]>---
This needs to be tested beyond build testing...So what's happening with this change? I see no progress on it.
I said on IRC you had now tested it. Please send a Tested-by:
Andrew
PATCH 1/1 ARM: orion: implement ARM delay timer
Quoted 8 lines · Andrew Lunn
Quoted 7 lines · Russell King - ARM Linux
Quoted 6 lines · Russell King
Implement an ARM delay timer to be used for
udelay()on orion legacy platforms. This allows us to skip the delay loop calibration at boot.It also means that
udelay()will be unaffected by CPU frequency changes when cpufreq is enabled on these platforms.
Quoted 7 lines
Quoted 5 lines
Quoted 3 lines
Signed-off-by Russell King <[email protected]>---
This needs to be tested beyond build testing...So what's happening with this change? I see no progress on it.
I said on IRC you had now tested it. Please send a Tested-by:
Sorry, I've totally lost track, I'd forgotten that it gets used on Dove.
Signature · 3 lines
RMK's Patch system: http://www.arm.linux.org.uk/developer/patches/ FTTC broadband for 0.8mile line: currently at 9.6Mbps down 400kbps up according to speedtest.net.
Andrew Lunn
maintainerPATCH 1/1 ARM: orion: implement ARM delay timer
Quoted 13 lines · Russell King - ARM Linux
Quoted 12 lines · Andrew Lunn
Quoted 11 lines · Russell King - ARM Linux
Quoted 9 lines · Russell King
Implement an ARM delay timer to be used for
udelay()on orion legacy platforms. This allows us to skip the delay loop calibration at boot.It also means that
udelay()will be unaffected by CPU frequency changes when cpufreq is enabled on these platforms.Signed-off-by Russell King <[email protected]>---
This needs to be tested beyond build testing...
Quoted 7 lines
Quoted 3 lines
Quoted 1 line
So what's happening with this change? I see no progress on it.
I said on IRC you had now tested it. Please send a Tested-by:
Sorry, I've totally lost track, I'd forgotten that it gets used on Dove.
Tested-by Russell King <[email protected]>
Andrew
PATCH 1/1 ARM: orion: implement ARM delay timer
In reply to Russell KingHi Russell,
Quoted 7 lines · Russell King
Implement an ARM delay timer to be used for
udelay()on orion legacy platforms. This allows us to skip the delay loop calibration at boot.It also means that
udelay()will be unaffected by CPU frequency changes when cpufreq is enabled on these platforms.Signed-off-by Russell King <[email protected]>
Applied on mvebu/drivers with Acked-by tag from Andrew Lunn
Thanks,
Gregory
Quoted 47 lines
---
This needs to be tested beyond build testing...arch/arm/plat-orion/time.c | 13 +++++++++++++ 1 file changed, 13 insertions(+)arch/arm/plat-orion/time.c +13
-0@@ -18,6 +18,7 @@#include <linux/irq.h> #include <linux/sched_clock.h> #include <plat/time.h> +#include <asm/delay.h> /* * MBus bridge block registers. @@ -188,6 +189,15 @@ orion_time_set_base(void __iomem *_timer_base) timer_base = _timer_base; } +static unsigned long orion_delay_timer_read (void ) +{ +return ~readl (timer_base +TIMER0_VAL_OFF ); +} + +static struct delay_timer orion_delay_timer = { + .read_current_timer = orion_delay_timer_read, +}; +void __init orion_time_init (void __iomem *_bridge_base,u32 _bridge_timer1_clr_mask,unsigned int irq,unsigned int tclk)@@ -202,6 +212,9 @@ orion_time_init(void __iomem *_bridge_base, u32 _bridge_timer1_clr_mask, ticks_per_jiffy = (tclk +HZ /2 ) /HZ ; + orion_delay_timer.freq = tclk; +register_current_timer_delay (&orion_delay_timer); +/* * Set scale and timer for sched_clock. */ Signature · 1 line
2.1.0
Signature · 4 lines
Gregory Clement, Free Electrons Kernel, drivers, real-time and embedded Linux development, consulting, training and support. http://free-electrons.com
PATCH 1/1 ARM: orion: implement ARM delay timer
Quoted 7 lines · Gregory CLEMENT
Hi Russell,
Quoted 3 lines · Russell King
Implement an ARM delay timer to be used for
udelay()on orion legacy platforms. This allows us to skip the delay loop calibration at boot.
Quoted 6 lines
Quoted 4 lines
It also means that
udelay()will be unaffected by CPU frequency changes when cpufreq is enabled on these platforms.Signed-off-by Russell King <[email protected]>Applied on mvebu/drivers with Acked-by tag from Andrew Lunn
And, I hope, my tested-by which delayed Andrew's ack until December, despite the patch being marked as CFT because I wanted _others_ to test it (which never happened.)
Signature · 3 lines
RMK's Patch system: http://www.arm.linux.org.uk/developer/patches/ FTTC broadband for 0.8mile line: currently at 9.6Mbps down 400kbps up according to speedtest.net.
PATCH 1/1 ARM: orion: implement ARM delay timer
Hi Russell King,
Quoted 8 lines · Russell King - ARM Linux
Quoted 7 lines · Gregory CLEMENT
Hi Russell,
Quoted 3 lines · Russell King
Implement an ARM delay timer to be used for
udelay()on orion legacy platforms. This allows us to skip the delay loop calibration at boot.
Quoted 8 lines
Quoted 6 lines
Quoted 4 lines
It also means that
udelay()will be unaffected by CPU frequency changes when cpufreq is enabled on these platforms.Signed-off-by Russell King <[email protected]>Applied on mvebu/drivers with Acked-by tag from Andrew Lunn
And, I hope, my tested-by which delayed Andrew's ack until December,
Now yes :)
Gregory
Quoted 7 lines
despite the patch being marked as CFT because I wanted _others_ to test it (which never happened.)
Signature · 3 lines
RMK's Patch system: http://www.arm.linux.org.uk/developer/patches/ FTTC broadband for 0.8mile line: currently at 9.6Mbps down 400kbps up according to speedtest.net.
Signature · 4 lines
Gregory Clement, Free Electrons Kernel, drivers, real-time and embedded Linux development, consulting, training and support. http://free-electrons.com