diff --git a/arch/arm/cpu/arm1136/mx31/timer.c b/arch/arm/cpu/arm1136/mx31/timer.c index 86916d1edb1c603f40039b5ab3ae8da05ef0cbc1..790bab457cb8b7b908d76ec552437bb68d278518 100644 --- a/arch/arm/cpu/arm1136/mx31/timer.c +++ b/arch/arm/cpu/arm1136/mx31/timer.c @@ -117,11 +117,11 @@ unsigned long long get_ticks(void) if (now >= gd->lastinc) /* normal mode (non roll) */ /* move stamp forward with absolut diff ticks */ - gd->tbl += (now - gd->lastinc); + gd->arch.tbl += (now - gd->lastinc); else /* we have rollover of incrementer */ - gd->tbl += (0xFFFFFFFF - gd->lastinc) + now; + gd->arch.tbl += (0xFFFFFFFF - gd->lastinc) + now; gd->lastinc = now; - return gd->tbl; + return gd->arch.tbl; } ulong get_timer_masked(void) diff --git a/arch/arm/cpu/arm1136/mx35/timer.c b/arch/arm/cpu/arm1136/mx35/timer.c index 9680b7fde7bb18a6bb0615c698c76094a612b438..c21ca3f9833b83d319ab2f4d653bc345fa7f2563 100644 --- a/arch/arm/cpu/arm1136/mx35/timer.c +++ b/arch/arm/cpu/arm1136/mx35/timer.c @@ -32,7 +32,7 @@ DECLARE_GLOBAL_DATA_PTR; -#define timestamp (gd->tbl) +#define timestamp (gd->arch.tbl) #define lastinc (gd->lastinc) /* General purpose timers bitfields */ diff --git a/arch/arm/cpu/arm1136/omap24xx/timer.c b/arch/arm/cpu/arm1136/omap24xx/timer.c index e929ae45bbf7023248608d3cf055692da423fc7f..e179bb54d60e221dabe0cb4cd33483c25fd42f0f 100644 --- a/arch/arm/cpu/arm1136/omap24xx/timer.c +++ b/arch/arm/cpu/arm1136/omap24xx/timer.c @@ -52,7 +52,7 @@ int timer_init (void) /* reset time */ gd->lastinc = READ_TIMER; /* capture current incrementer value */ - gd->tbl = 0; /* start "advancing" time stamp */ + gd->arch.tbl = 0; /* start "advancing" time stamp */ return(0); } @@ -82,7 +82,7 @@ void __udelay (unsigned long usec) if ((tmo + tmp + 1) < tmp) { /* if setting this forward will roll */ /* time stamp, then reset time */ gd->lastinc = READ_TIMER; /* capture incrementer value */ - gd->tbl = 0; /* start time stamp */ + gd->arch.tbl = 0; /* start time stamp */ } else { tmo += tmp; /* else, set advancing stamp wake up time */ } @@ -94,12 +94,15 @@ ulong get_timer_masked (void) { ulong now = READ_TIMER; /* current tick value */ - if (now >= gd->lastinc) /* normal mode (non roll) */ - gd->tbl += (now - gd->lastinc); /* move stamp fordward with absoulte diff ticks */ - else /* we have rollover of incrementer */ - gd->tbl += (0xFFFFFFFF - gd->lastinc) + now; + if (now >= gd->lastinc) { /* normal mode (non roll) */ + /* move stamp fordward with absoulte diff ticks */ + gd->arch.tbl += (now - gd->lastinc); + } else { + /* we have rollover of incrementer */ + gd->arch.tbl += (0xFFFFFFFF - gd->lastinc) + now; + } gd->lastinc = now; - return gd->tbl; + return gd->arch.tbl; } /* waits specified delay value and resets timestamp */ diff --git a/arch/arm/cpu/arm920t/a320/timer.c b/arch/arm/cpu/arm920t/a320/timer.c index 781533be1eaa5eac0ac2cc81f43695dcf37097c6..512fb9d73db8dfb7cf7331c914ff62c84c84b19d 100644 --- a/arch/arm/cpu/arm920t/a320/timer.c +++ b/arch/arm/cpu/arm920t/a320/timer.c @@ -75,7 +75,7 @@ int timer_init(void) writel(cr, &tmr->cr); gd->arch.timer_rate_hz = TIMER_CLOCK; - gd->arch.tbu = gd->tbl = 0; + gd->arch.tbu = gd->arch.tbl = 0; return 0; } @@ -89,10 +89,10 @@ unsigned long long get_ticks(void) ulong now = TIMER_LOAD_VAL - readl(&tmr->timer3_counter); /* increment tbu if tbl has rolled over */ - if (now < gd->tbl) + if (now < gd->arch.tbl) gd->arch.tbu++; - gd->tbl = now; - return (((unsigned long long)gd->arch.tbu) << 32) | gd->tbl; + gd->arch.tbl = now; + return (((unsigned long long)gd->arch.tbu) << 32) | gd->arch.tbl; } void __udelay(unsigned long usec) diff --git a/arch/arm/cpu/arm920t/at91/timer.c b/arch/arm/cpu/arm920t/at91/timer.c index 91607b525e40efd616db06440e6a7c8c32ecae02..439ceab950c71fb3bb04e4ae703022cc894b21a1 100644 --- a/arch/arm/cpu/arm920t/at91/timer.c +++ b/arch/arm/cpu/arm920t/at91/timer.c @@ -64,7 +64,7 @@ int timer_init(void) writel(AT91_TC_CCR_SWTRG | AT91_TC_CCR_CLKEN, &tc->tc[0].ccr); gd->lastinc = 0; - gd->tbl = 0; + gd->arch.tbl = 0; return 0; } @@ -91,14 +91,14 @@ ulong get_timer_raw(void) if (now >= gd->lastinc) { /* normal mode */ - gd->tbl += now - gd->lastinc; + gd->arch.tbl += now - gd->lastinc; } else { /* we have an overflow ... */ - gd->tbl += now + TIMER_LOAD_VAL - gd->lastinc; + gd->arch.tbl += now + TIMER_LOAD_VAL - gd->lastinc; } gd->lastinc = now; - return gd->tbl; + return gd->arch.tbl; } ulong get_timer_masked(void) diff --git a/arch/arm/cpu/arm920t/s3c24x0/timer.c b/arch/arm/cpu/arm920t/s3c24x0/timer.c index e59e614268a71441ace0dbb204e8b793632aae55..eb2b8d081612ab826758f48fcb1ca95d03e42dff 100644 --- a/arch/arm/cpu/arm920t/s3c24x0/timer.c +++ b/arch/arm/cpu/arm920t/s3c24x0/timer.c @@ -63,7 +63,7 @@ int timer_init(void) tmr = (tmr & ~0x0700000) | 0x0500000; writel(tmr, &timers->tcon); gd->lastinc = 0; - gd->tbl = 0; + gd->arch.tbl = 0; return 0; } @@ -130,14 +130,14 @@ unsigned long long get_ticks(void) if (gd->lastinc >= now) { /* normal mode */ - gd->tbl += gd->lastinc - now; + gd->arch.tbl += gd->lastinc - now; } else { /* we have an overflow ... */ - gd->tbl += gd->lastinc + gd->arch.tbu - now; + gd->arch.tbl += gd->lastinc + gd->arch.tbu - now; } gd->lastinc = now; - return gd->tbl; + return gd->arch.tbl; } /* diff --git a/arch/arm/cpu/arm926ejs/armada100/timer.c b/arch/arm/cpu/arm926ejs/armada100/timer.c index 18ffd0c700f17cd180dd422ffbddf0478bf150a8..948607f8c033f41ceb6bcd31d3a0488b6978635a 100644 --- a/arch/arm/cpu/arm926ejs/armada100/timer.c +++ b/arch/arm/cpu/arm926ejs/armada100/timer.c @@ -61,7 +61,7 @@ struct armd1tmr_registers { #define COUNT_RD_REQ 0x1 DECLARE_GLOBAL_DATA_PTR; -/* Using gd->arch.tbu from timestamp and gd->tbl for lastdec */ +/* Using gd->arch.tbu from timestamp and gd->arch.tbl for lastdec */ /* For preventing risk of instability in reading counter value, * first set read request to register cvwr and then read same @@ -82,14 +82,14 @@ ulong get_timer_masked(void) { ulong now = read_timer(); - if (now >= gd->tbl) { + if (now >= gd->arch.tbl) { /* normal mode */ - gd->arch.tbu += now - gd->tbl; + gd->arch.tbu += now - gd->arch.tbl; } else { /* we have an overflow ... */ - gd->arch.tbu += now + TIMER_LOAD_VAL - gd->tbl; + gd->arch.tbu += now + TIMER_LOAD_VAL - gd->arch.tbl; } - gd->tbl = now; + gd->arch.tbl = now; return gd->arch.tbu; } @@ -135,8 +135,8 @@ int timer_init(void) /* Enable timer 0 */ writel(0x1, &armd1timers->cer); - /* init the gd->arch.tbu and gd->tbl value */ - gd->tbl = read_timer(); + /* init the gd->arch.tbu and gd->arch.tbl value */ + gd->arch.tbl = read_timer(); gd->arch.tbu = 0; return 0; diff --git a/arch/arm/cpu/arm926ejs/at91/timer.c b/arch/arm/cpu/arm926ejs/at91/timer.c index f691518c741469897f321fc9b615d1b6efb648ea..4443fefb6472f984a9072002d88239bc8b66602a 100644 --- a/arch/arm/cpu/arm926ejs/at91/timer.c +++ b/arch/arm/cpu/arm926ejs/at91/timer.c @@ -80,7 +80,7 @@ int timer_init(void) writel(TIMER_LOAD_VAL | AT91_PIT_MR_EN , &pit->mr); gd->arch.timer_rate_hz = gd->arch.mck_rate_hz / 16; - gd->arch.tbu = gd->tbl = 0; + gd->arch.tbu = gd->arch.tbl = 0; return 0; } @@ -95,10 +95,10 @@ unsigned long long get_ticks(void) ulong now = readl(&pit->piir); /* increment tbu if tbl has rolled over */ - if (now < gd->tbl) + if (now < gd->arch.tbl) gd->arch.tbu++; - gd->tbl = now; - return (((unsigned long long)gd->arch.tbu) << 32) | gd->tbl; + gd->arch.tbl = now; + return (((unsigned long long)gd->arch.tbu) << 32) | gd->arch.tbl; } void __udelay(unsigned long usec) diff --git a/arch/arm/cpu/arm926ejs/davinci/timer.c b/arch/arm/cpu/arm926ejs/davinci/timer.c index e28e6e3a08f290c2c77552939c4ecddd0a635319..b620bf7eb1b86a376bb2047bfea7bd8aefea17bb 100644 --- a/arch/arm/cpu/arm926ejs/davinci/timer.c +++ b/arch/arm/cpu/arm926ejs/davinci/timer.c @@ -74,11 +74,11 @@ unsigned long long get_ticks(void) unsigned long now = readl(&timer->tim34); /* increment tbu if tbl has rolled over */ - if (now < gd->tbl) + if (now < gd->arch.tbl) gd->arch.tbu++; - gd->tbl = now; + gd->arch.tbl = now; - return (((unsigned long long)gd->arch.tbu) << 32) | gd->tbl; + return (((unsigned long long)gd->arch.tbu) << 32) | gd->arch.tbl; } ulong get_timer(ulong base) diff --git a/arch/arm/cpu/arm926ejs/kirkwood/timer.c b/arch/arm/cpu/arm926ejs/kirkwood/timer.c index f5d01603977a01affebaacfc87dd67da986d3109..41dc0745f165bf112c2d13f789e72d52d0d4078f 100644 --- a/arch/arm/cpu/arm926ejs/kirkwood/timer.c +++ b/arch/arm/cpu/arm926ejs/kirkwood/timer.c @@ -86,7 +86,7 @@ struct kwtmr_registers *kwtmr_regs = (struct kwtmr_registers *)KW_TIMER_BASE; DECLARE_GLOBAL_DATA_PTR; -#define timestamp gd->tbl +#define timestamp gd->arch.tbl #define lastdec gd->lastinc ulong get_timer_masked(void) diff --git a/arch/arm/cpu/arm926ejs/mb86r0x/timer.c b/arch/arm/cpu/arm926ejs/mb86r0x/timer.c index 75314b91b3fbd0f5fab4c690fdffee8b69d7665d..1f1900e9099104f54e8ecfe52642bbc832601e04 100644 --- a/arch/arm/cpu/arm926ejs/mb86r0x/timer.c +++ b/arch/arm/cpu/arm926ejs/mb86r0x/timer.c @@ -35,7 +35,7 @@ DECLARE_GLOBAL_DATA_PTR; -#define timestamp gd->tbl +#define timestamp gd->arch.tbl #define lastdec gd->lastinc static inline unsigned long long tick_to_time(unsigned long long tick) diff --git a/arch/arm/cpu/arm926ejs/mx25/timer.c b/arch/arm/cpu/arm926ejs/mx25/timer.c index 4dc4041c08dd15008bee089720e4d2c3c81489e4..8b5217ff4fbe7b644f1c191e003b39da2ab823a7 100644 --- a/arch/arm/cpu/arm926ejs/mx25/timer.c +++ b/arch/arm/cpu/arm926ejs/mx25/timer.c @@ -44,7 +44,7 @@ DECLARE_GLOBAL_DATA_PTR; -#define timestamp (gd->tbl) +#define timestamp (gd->arch.tbl) #define lastinc (gd->lastinc) /* diff --git a/arch/arm/cpu/arm926ejs/mx27/timer.c b/arch/arm/cpu/arm926ejs/mx27/timer.c index a5dd68425aafd4fc1a6cc14f43b13d278ca23073..06e30867bd4740bcfa068c190da26b493678cf6f 100644 --- a/arch/arm/cpu/arm926ejs/mx27/timer.c +++ b/arch/arm/cpu/arm926ejs/mx27/timer.c @@ -45,7 +45,7 @@ DECLARE_GLOBAL_DATA_PTR; -#define timestamp (gd->tbl) +#define timestamp (gd->arch.tbl) #define lastinc (gd->lastinc) /* diff --git a/arch/arm/cpu/arm926ejs/mxs/timer.c b/arch/arm/cpu/arm926ejs/mxs/timer.c index 4ed75e604ca8b589ffb0592cff24c0b3a0d866c9..a12a7e31506123180c2702e8f87d3817aa600b2e 100644 --- a/arch/arm/cpu/arm926ejs/mxs/timer.c +++ b/arch/arm/cpu/arm926ejs/mxs/timer.c @@ -36,7 +36,7 @@ DECLARE_GLOBAL_DATA_PTR; -#define timestamp (gd->tbl) +#define timestamp (gd->arch.tbl) #define lastdec (gd->lastinc) /* diff --git a/arch/arm/cpu/arm926ejs/omap/timer.c b/arch/arm/cpu/arm926ejs/omap/timer.c index 390c9c8abb5fd40bb0503eb9060af717e1c3f6df..71b8700f0cffb519df469e48d284ce0112fc95d8 100644 --- a/arch/arm/cpu/arm926ejs/omap/timer.c +++ b/arch/arm/cpu/arm926ejs/omap/timer.c @@ -44,7 +44,7 @@ DECLARE_GLOBAL_DATA_PTR; -#define timestamp gd->tbl +#define timestamp gd->arch.tbl #define lastdec gd->lastinc int timer_init (void) diff --git a/arch/arm/cpu/arm926ejs/orion5x/timer.c b/arch/arm/cpu/arm926ejs/orion5x/timer.c index 8a8aaf15d901b440f4437afa56efb68233586866..f69af71b7942fd38ea5bebea8180340ad56cc804 100644 --- a/arch/arm/cpu/arm926ejs/orion5x/timer.c +++ b/arch/arm/cpu/arm926ejs/orion5x/timer.c @@ -92,7 +92,7 @@ static inline ulong read_timer(void) DECLARE_GLOBAL_DATA_PTR; -#define timestamp gd->tbl +#define timestamp gd->arch.tbl #define lastdec gd->lastinc ulong get_timer_masked(void) diff --git a/arch/arm/cpu/arm926ejs/pantheon/timer.c b/arch/arm/cpu/arm926ejs/pantheon/timer.c index 701d4396d72a9e36714be843252ca5889d9d6687..2d9ddbad24001ae6a546cb03ff4edb30d3512d66 100644 --- a/arch/arm/cpu/arm926ejs/pantheon/timer.c +++ b/arch/arm/cpu/arm926ejs/pantheon/timer.c @@ -60,7 +60,7 @@ struct panthtmr_registers { #define COUNT_RD_REQ 0x1 DECLARE_GLOBAL_DATA_PTR; -/* Using gd->arch.tbu from timestamp and gd->tbl for lastdec */ +/* Using gd->arch.tbu from timestamp and gd->arch.tbl for lastdec */ /* * For preventing risk of instability in reading counter value, @@ -90,14 +90,14 @@ ulong get_timer_masked(void) { ulong now = read_timer(); - if (now >= gd->tbl) { + if (now >= gd->arch.tbl) { /* normal mode */ - gd->arch.tbu += now - gd->tbl; + gd->arch.tbu += now - gd->arch.tbl; } else { /* we have an overflow ... */ - gd->arch.tbu += now + TIMER_LOAD_VAL - gd->tbl; + gd->arch.tbu += now + TIMER_LOAD_VAL - gd->arch.tbl; } - gd->tbl = now; + gd->arch.tbl = now; return gd->arch.tbu; } @@ -144,8 +144,8 @@ int timer_init(void) /* Enable timer 0 */ writel(0x1, &panthtimers->cer); - /* init the gd->arch.tbu and gd->tbl value */ - gd->tbl = read_timer(); + /* init the gd->arch.tbu and gd->arch.tbl value */ + gd->arch.tbl = read_timer(); gd->arch.tbu = 0; return 0; diff --git a/arch/arm/cpu/arm926ejs/spear/timer.c b/arch/arm/cpu/arm926ejs/spear/timer.c index 1dc78600c2b17d5d688ab4fb10b8f434cff17445..06ea65b66ee55142109b65864bb43c234f19c196 100644 --- a/arch/arm/cpu/arm926ejs/spear/timer.c +++ b/arch/arm/cpu/arm926ejs/spear/timer.c @@ -38,7 +38,7 @@ static struct misc_regs *const misc_regs_p = DECLARE_GLOBAL_DATA_PTR; -#define timestamp gd->tbl +#define timestamp gd->arch.tbl #define lastdec gd->lastinc int timer_init(void) diff --git a/arch/arm/cpu/arm926ejs/versatile/timer.c b/arch/arm/cpu/arm926ejs/versatile/timer.c index f58e151662086694cd7f4192bcd9d2069fe18e80..be73b932960075aa9d642af276b450db1506ccf4 100644 --- a/arch/arm/cpu/arm926ejs/versatile/timer.c +++ b/arch/arm/cpu/arm926ejs/versatile/timer.c @@ -44,7 +44,7 @@ DECLARE_GLOBAL_DATA_PTR; -#define timestamp gd->tbl +#define timestamp gd->arch.tbl #define lastdec gd->lastinc #define TIMER_ENABLE (1 << 7) diff --git a/arch/arm/cpu/armv7/omap-common/timer.c b/arch/arm/cpu/armv7/omap-common/timer.c index 9f8bc934470bf2129459e1d6934997f98ca93218..e321d53458d668251a9fa4169692f4c30e30b372 100644 --- a/arch/arm/cpu/armv7/omap-common/timer.c +++ b/arch/arm/cpu/armv7/omap-common/timer.c @@ -57,7 +57,7 @@ int timer_init(void) /* reset time, capture current incrementer value time */ gd->lastinc = readl(&timer_base->tcrr) / (TIMER_CLOCK / CONFIG_SYS_HZ); - gd->tbl = 0; /* start "advancing" time stamp from 0 */ + gd->arch.tbl = 0; /* start "advancing" time stamp from 0 */ return 0; } @@ -91,14 +91,15 @@ ulong get_timer_masked(void) /* current tick value */ ulong now = readl(&timer_base->tcrr) / (TIMER_CLOCK / CONFIG_SYS_HZ); - if (now >= gd->lastinc) /* normal mode (non roll) */ + if (now >= gd->lastinc) { /* normal mode (non roll) */ /* move stamp fordward with absoulte diff ticks */ - gd->tbl += (now - gd->lastinc); - else /* we have rollover of incrementer */ - gd->tbl += ((TIMER_LOAD_VAL / (TIMER_CLOCK / CONFIG_SYS_HZ)) - - gd->lastinc) + now; + gd->arch.tbl += (now - gd->lastinc); + } else { /* we have rollover of incrementer */ + gd->arch.tbl += ((TIMER_LOAD_VAL / (TIMER_CLOCK / + CONFIG_SYS_HZ)) - gd->lastinc) + now; + } gd->lastinc = now; - return gd->tbl; + return gd->arch.tbl; } /* diff --git a/arch/arm/cpu/armv7/s5p-common/timer.c b/arch/arm/cpu/armv7/s5p-common/timer.c index bb0e795e66823d4963acd309ebbdd3e67bf7d4a4..156622638633da4a56c324e94b753b23c615e218 100644 --- a/arch/arm/cpu/armv7/s5p-common/timer.c +++ b/arch/arm/cpu/armv7/s5p-common/timer.c @@ -106,7 +106,7 @@ void reset_timer_masked(void) /* reset time */ gd->lastinc = readl(&timer->tcnto4); - gd->tbl = 0; + gd->arch.tbl = 0; } unsigned long get_timer_masked(void) @@ -124,13 +124,13 @@ unsigned long get_current_tick(void) unsigned long count_value = readl(&timer->tcntb4); if (gd->lastinc >= now) - gd->tbl += gd->lastinc - now; + gd->arch.tbl += gd->lastinc - now; else - gd->tbl += gd->lastinc + count_value - now; + gd->arch.tbl += gd->lastinc + count_value - now; gd->lastinc = now; - return gd->tbl; + return gd->arch.tbl; } /* diff --git a/arch/arm/cpu/armv7/socfpga/timer.c b/arch/arm/cpu/armv7/socfpga/timer.c index 321e9b4181357ab797cbda4433e4bc19941804ba..a7421215369678a60a613bbd0749550bafc71c05 100644 --- a/arch/arm/cpu/armv7/socfpga/timer.c +++ b/arch/arm/cpu/armv7/socfpga/timer.c @@ -83,13 +83,13 @@ ulong get_timer_masked(void) if (gd->lastinc >= now) { /* normal mode (non roll) */ /* move stamp forward with absolute diff ticks */ - gd->tbl += gd->lastinc - now; + gd->arch.tbl += gd->lastinc - now; } else { /* we have overflow of the count down timer */ - gd->tbl += TIMER_LOAD_VAL - gd->lastinc + now; + gd->arch.tbl += TIMER_LOAD_VAL - gd->lastinc + now; } gd->lastinc = now; - return gd->tbl; + return gd->arch.tbl; } /* @@ -100,5 +100,5 @@ void reset_timer(void) /* capture current decrementer value time */ gd->lastinc = read_timer() / (CONFIG_TIMER_CLOCK_KHZ/CONFIG_SYS_HZ); /* start "advancing" time stamp from 0 */ - gd->tbl = 0; + gd->arch.tbl = 0; } diff --git a/arch/arm/cpu/armv7/u8500/timer.c b/arch/arm/cpu/armv7/u8500/timer.c index bb9165b0f45961c8124c3d418defded3835aef0d..a20897b76a96e970355c89764bec7f900f2722a5 100644 --- a/arch/arm/cpu/armv7/u8500/timer.c +++ b/arch/arm/cpu/armv7/u8500/timer.c @@ -100,12 +100,14 @@ ulong get_timer_masked(void) /* current tick value */ ulong now = TICKS_TO_HZ(READ_TIMER()); - if (now >= gd->lastinc) /* normal (non rollover) */ - gd->tbl += (now - gd->lastinc); - else /* rollover */ - gd->tbl += (TICKS_TO_HZ(TIMER_LOAD_VAL) - gd->lastinc) + now; + if (now >= gd->lastinc) { /* normal (non rollover) */ + gd->arch.tbl += (now - gd->lastinc); + } else { /* rollover */ + gd->arch.tbl += (TICKS_TO_HZ(TIMER_LOAD_VAL) - gd->lastinc) + + now; + } gd->lastinc = now; - return gd->tbl; + return gd->arch.tbl; } /* Delay x useconds */ diff --git a/arch/arm/cpu/armv7/zynq/timer.c b/arch/arm/cpu/armv7/zynq/timer.c index 323e7b5a49bd0bc3f5ffec7ee50f58f75c4d3b12..e126ebbcd8a71aec73721a9ac7060f7f7845ac64 100644 --- a/arch/arm/cpu/armv7/zynq/timer.c +++ b/arch/arm/cpu/armv7/zynq/timer.c @@ -85,7 +85,7 @@ int timer_init(void) /* Reset time */ gd->lastinc = readl(&timer_base->counter) / (TIMER_TICK_HZ / CONFIG_SYS_HZ); - gd->tbl = 0; + gd->arch.tbl = 0; return 0; } @@ -102,14 +102,14 @@ ulong get_timer_masked(void) if (gd->lastinc >= now) { /* Normal mode */ - gd->tbl += gd->lastinc - now; + gd->arch.tbl += gd->lastinc - now; } else { /* We have an overflow ... */ - gd->tbl += gd->lastinc + TIMER_LOAD_VAL - now; + gd->arch.tbl += gd->lastinc + TIMER_LOAD_VAL - now; } gd->lastinc = now; - return gd->tbl; + return gd->arch.tbl; } void __udelay(unsigned long usec) diff --git a/arch/arm/cpu/pxa/timer.c b/arch/arm/cpu/pxa/timer.c index a8f7462c1b75aca4a9687852eec274a845a706c2..7799c146b53f809f3afdb8a661d821c8d07b64f6 100644 --- a/arch/arm/cpu/pxa/timer.c +++ b/arch/arm/cpu/pxa/timer.c @@ -31,7 +31,7 @@ DECLARE_GLOBAL_DATA_PTR; #define TIMER_LOAD_VAL 0xffffffff -#define timestamp (gd->tbl) +#define timestamp (gd->arch.tbl) #define lastinc (gd->lastinc) #if defined(CONFIG_CPU_PXA27X) || defined(CONFIG_CPU_MONAHANS) diff --git a/arch/arm/cpu/tegra-common/timer.c b/arch/arm/cpu/tegra-common/timer.c index 034ea5ad28847eb1d9fc44fd40c11585c97364f5..dc9cc6cc3a9a1c5df27f6ae91dbeabcb8a03085f 100644 --- a/arch/arm/cpu/tegra-common/timer.c +++ b/arch/arm/cpu/tegra-common/timer.c @@ -77,12 +77,12 @@ ulong get_timer_masked(void) if (now >= gd->lastinc) /* normal mode (non roll) */ /* move stamp forward with absolute diff ticks */ - gd->tbl += (now - gd->lastinc); + gd->arch.tbl += (now - gd->lastinc); else /* we have rollover of incrementer */ - gd->tbl += ((TIMER_LOAD_VAL / (TIMER_CLK / CONFIG_SYS_HZ)) + gd->arch.tbl += ((TIMER_LOAD_VAL / (TIMER_CLK / CONFIG_SYS_HZ)) - gd->lastinc) + now; gd->lastinc = now; - return gd->tbl; + return gd->arch.tbl; } /* diff --git a/arch/arm/imx-common/timer.c b/arch/arm/imx-common/timer.c index b021903d9b443bca0d74202d8997ed94b1509adf..de21e44a20760e477a9a81d97ac084e6c9fbfc5a 100644 --- a/arch/arm/imx-common/timer.c +++ b/arch/arm/imx-common/timer.c @@ -48,7 +48,7 @@ static struct mxc_gpt *cur_gpt = (struct mxc_gpt *)GPT1_BASE_ADDR; DECLARE_GLOBAL_DATA_PTR; -#define timestamp (gd->tbl) +#define timestamp (gd->arch.tbl) #define lastinc (gd->lastinc) static inline unsigned long long tick_to_time(unsigned long long tick) diff --git a/arch/arm/include/asm/global_data.h b/arch/arm/include/asm/global_data.h index 47fa4c048a34aea01621cdaab29d2fb91eb8e902..f44730804f64a67a5fd817622132358fa2d3b165 100644 --- a/arch/arm/include/asm/global_data.h +++ b/arch/arm/include/asm/global_data.h @@ -38,6 +38,7 @@ struct arch_global_data { /* "static data" needed by most of timer.c on ARM platforms */ unsigned long timer_rate_hz; unsigned long tbu; + unsigned long tbl; }; /* @@ -64,7 +65,6 @@ typedef struct global_data { #endif #ifdef CONFIG_ARM /* "static data" needed by most of timer.c on ARM platforms */ - unsigned long tbl; unsigned long long timer_reset_value; unsigned long lastinc; #endif diff --git a/arch/mips/cpu/xburst/timer.c b/arch/mips/cpu/xburst/timer.c index b6b3855ea193a6e7ecd2747da749b2d5058f9704..8ac8bf70ff96cfbfd93ded3e64c7af6c718cad42 100644 --- a/arch/mips/cpu/xburst/timer.c +++ b/arch/mips/cpu/xburst/timer.c @@ -35,7 +35,7 @@ void reset_timer_masked(void) { /* reset time */ gd->lastinc = readl(&tcu->tcnt0); - gd->tbl = 0; + gd->arch.tbl = 0; } ulong get_timer_masked(void) @@ -43,15 +43,15 @@ ulong get_timer_masked(void) ulong now = readl(&tcu->tcnt0); if (gd->lastinc <= now) - gd->tbl += now - gd->lastinc; /* normal mode */ + gd->arch.tbl += now - gd->lastinc; /* normal mode */ else { /* we have an overflow ... */ - gd->tbl += TIMER_FDATA + now - gd->lastinc; + gd->arch.tbl += TIMER_FDATA + now - gd->lastinc; } gd->lastinc = now; - return gd->tbl; + return gd->arch.tbl; } void udelay_masked(unsigned long usec) @@ -95,7 +95,7 @@ int timer_init(void) writeb(1 << TIMER_CHAN, &tcu->tesr); /* start counting up */ gd->lastinc = 0; - gd->tbl = 0; + gd->arch.tbl = 0; return 0; } @@ -112,7 +112,7 @@ ulong get_timer(ulong base) void set_timer(ulong t) { - gd->tbl = t; + gd->arch.tbl = t; } void __udelay(unsigned long usec)