Patchwork [U-Boot,v3,4/7] Timer: Allow reset_timer() only for systems with low resolution timers

login
register
mail settings
Submitter Graeme Russ
Date July 16, 2011, 9:35 a.m.
Message ID <1310808956-3364-1-git-send-email-graeme.russ@gmail.com>
Download mbox | patch
Permalink /patch/104938/
State Accepted
Delegated to: Wolfgang Denk
Headers show

Comments

Graeme Russ - July 16, 2011, 9:35 a.m.
Signed-off-by: Graeme Russ <graeme.russ@gmail.com>
---
Changes since v2:
 - Added Signed-off-by

Changes since v1 ((WIP) [Timer]API Rewrite):
 - Rebased to 68d4230c3ccce96a72c5b99e48399bf1796fe3c6
 - Introduce new #define CONFIG_SYS_LOW_RES_TIMER

 drivers/block/mg_disk.c         |    2 ++
 drivers/mtd/cfi_flash.c         |    4 ++++
 include/configs/PCI5441.h       |    1 +
 include/configs/PK1C20.h        |    1 +
 include/configs/nios2-generic.h |    1 +
 5 files changed, 9 insertions(+), 0 deletions(-)

--
1.7.5.2.317.g391b14
Wolfgang Denk - July 26, 2011, 12:53 p.m.
Dear Graeme Russ,

In message <1310808956-3364-1-git-send-email-graeme.russ@gmail.com> you wrote:
> Signed-off-by: Graeme Russ <graeme.russ@gmail.com>
> ---
> Changes since v2:
>  - Added Signed-off-by
> 
> Changes since v1 ((WIP) [Timer]API Rewrite):
>  - Rebased to 68d4230c3ccce96a72c5b99e48399bf1796fe3c6
>  - Introduce new #define CONFIG_SYS_LOW_RES_TIMER
> 
>  drivers/block/mg_disk.c         |    2 ++
>  drivers/mtd/cfi_flash.c         |    4 ++++
>  include/configs/PCI5441.h       |    1 +
>  include/configs/PK1C20.h        |    1 +
>  include/configs/nios2-generic.h |    1 +
>  5 files changed, 9 insertions(+), 0 deletions(-)

Applied, thanks.

Best regards,

Wolfgang Denk

Patch

diff --git a/drivers/block/mg_disk.c b/drivers/block/mg_disk.c
index b74307a..921bce9 100644
--- a/drivers/block/mg_disk.c
+++ b/drivers/block/mg_disk.c
@@ -91,7 +91,9 @@  static unsigned int mg_wait (u32 expect, u32 msec)
 	u32 from, cur, err;

 	err = MG_ERR_NONE;
+#ifdef CONFIG_SYS_LOW_RES_TIMER
 	reset_timer();
+#endif
 	from = get_timer(0);

 	status = readb(mg_base() + MG_REG_STATUS);
diff --git a/drivers/mtd/cfi_flash.c b/drivers/mtd/cfi_flash.c
index 929f9a9..ac91dfd 100644
--- a/drivers/mtd/cfi_flash.c
+++ b/drivers/mtd/cfi_flash.c
@@ -573,7 +573,9 @@  static int flash_status_check (flash_info_t * info, flash_sect_t sector,
 #endif

 	/* Wait for command completion */
+#ifdef CONFIG_SYS_LOW_RES_TIMER
 	reset_timer();
+#endif
 	start = get_timer (0);
 	while (flash_is_busy (info, sector)) {
 		if (get_timer (start) > tout) {
@@ -662,7 +664,9 @@  static int flash_status_poll(flash_info_t *info, void *src, void *dst,
 #endif

 	/* Wait for command completion */
+#ifdef CONFIG_SYS_LOW_RES_TIMER
 	reset_timer();
+#endif
 	start = get_timer(0);
 	while (1) {
 		switch (info->portwidth) {
diff --git a/include/configs/PCI5441.h b/include/configs/PCI5441.h
index 70775e7..ae5bc2e 100644
--- a/include/configs/PCI5441.h
+++ b/include/configs/PCI5441.h
@@ -118,6 +118,7 @@ 
  * TMRMS represents the desired mecs per tick (msecs per interrupt).
  *----------------------------------------------------------------------*/
 #define CONFIG_SYS_HZ			1000	/* Always 1000 */
+#define CONFIG_SYS_LOW_RES_TIMER
 #define CONFIG_SYS_NIOS_TMRBASE	0x00920860	/* Tick timer base addr	*/
 #define CONFIG_SYS_NIOS_TMRIRQ		3	/* Timer IRQ num */
 #define CONFIG_SYS_NIOS_TMRMS		10	/* Desired period (msec)*/
diff --git a/include/configs/PK1C20.h b/include/configs/PK1C20.h
index b466c4b..95c30cc 100644
--- a/include/configs/PK1C20.h
+++ b/include/configs/PK1C20.h
@@ -128,6 +128,7 @@ 
  * TMRMS represents the desired mecs per tick (msecs per interrupt).
  *----------------------------------------------------------------------*/
 #define CONFIG_SYS_HZ			1000	/* Always 1000 */
+#define CONFIG_SYS_LOW_RES_TIMER
 #define CONFIG_SYS_NIOS_TMRBASE	0x02120820	/* Tick timer base addr */
 #define CONFIG_SYS_NIOS_TMRIRQ		3	/* Timer IRQ num */
 #define CONFIG_SYS_NIOS_TMRMS		10	/* Desired period */
diff --git a/include/configs/nios2-generic.h b/include/configs/nios2-generic.h
index 53f2084..d57d53c 100644
--- a/include/configs/nios2-generic.h
+++ b/include/configs/nios2-generic.h
@@ -52,6 +52,7 @@ 
 /*
  * TIMER
  */
+#define CONFIG_SYS_LOW_RES_TIMER
 #define CONFIG_SYS_NIOS_TMRBASE	CONFIG_SYS_TIMER_BASE
 #define CONFIG_SYS_NIOS_TMRIRQ		CONFIG_SYS_TIMER_IRQ
 #define CONFIG_SYS_HZ			1000	/* Always 1000 */