* [Qemu-devel] [PATCH v2] exynos4210/mct: Avoid infinite loop on non incremental timers
@ 2012-12-03 22:55 Jean-Christophe DUBOIS
2012-12-04 4:12 ` Evgeny Voevodin
2012-12-11 11:55 ` Peter Maydell
0 siblings, 2 replies; 3+ messages in thread
From: Jean-Christophe DUBOIS @ 2012-12-03 22:55 UTC (permalink / raw)
To: qemu-devel; +Cc: Jean-Christophe DUBOIS
Check for a 0 "distance" value to avoid infinite loop when the
expired FCR timer was not programed with auto-increment.
With this change the behavior is coherent with the same type
of code in the exynos4210_gfrc_restart() function in the same
file.
Linux seems to mostly use this timer with auto-increment
which explain why it is not a problem most of the time.
However other OS might have a problem with this if they
don't use the auto-increment feature.
Signed-off-by: Jean-Christophe DUBOIS <jcd@tribudubois.net>
---
hw/exynos4210_mct.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/hw/exynos4210_mct.c b/hw/exynos4210_mct.c
index e79cd6a..37dbda9 100644
--- a/hw/exynos4210_mct.c
+++ b/hw/exynos4210_mct.c
@@ -568,7 +568,7 @@ static void exynos4210_gfrc_event(void *opaque)
/* Reload FRC to reach nearest comparator */
s->g_timer.curr_comp = exynos4210_gcomp_find(s);
distance = exynos4210_gcomp_get_distance(s, s->g_timer.curr_comp);
- if (distance > MCT_GT_COUNTER_STEP) {
+ if (distance > MCT_GT_COUNTER_STEP || !distance) {
distance = MCT_GT_COUNTER_STEP;
}
exynos4210_gfrc_set_count(&s->g_timer, distance);
--
1.7.10.4
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [Qemu-devel] [PATCH v2] exynos4210/mct: Avoid infinite loop on non incremental timers
2012-12-03 22:55 [Qemu-devel] [PATCH v2] exynos4210/mct: Avoid infinite loop on non incremental timers Jean-Christophe DUBOIS
@ 2012-12-04 4:12 ` Evgeny Voevodin
2012-12-11 11:55 ` Peter Maydell
1 sibling, 0 replies; 3+ messages in thread
From: Evgeny Voevodin @ 2012-12-04 4:12 UTC (permalink / raw)
To: Jean-Christophe DUBOIS; +Cc: Kyungmin Park, qemu-devel
On 12/04/2012 02:55 AM, Jean-Christophe DUBOIS wrote:
> Check for a 0 "distance" value to avoid infinite loop when the
> expired FCR timer was not programed with auto-increment.
>
> With this change the behavior is coherent with the same type
> of code in the exynos4210_gfrc_restart() function in the same
> file.
>
> Linux seems to mostly use this timer with auto-increment
> which explain why it is not a problem most of the time.
>
> However other OS might have a problem with this if they
> don't use the auto-increment feature.
>
> Signed-off-by: Jean-Christophe DUBOIS <jcd@tribudubois.net>
> ---
> hw/exynos4210_mct.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/hw/exynos4210_mct.c b/hw/exynos4210_mct.c
> index e79cd6a..37dbda9 100644
> --- a/hw/exynos4210_mct.c
> +++ b/hw/exynos4210_mct.c
> @@ -568,7 +568,7 @@ static void exynos4210_gfrc_event(void *opaque)
> /* Reload FRC to reach nearest comparator */
> s->g_timer.curr_comp = exynos4210_gcomp_find(s);
> distance = exynos4210_gcomp_get_distance(s, s->g_timer.curr_comp);
> - if (distance > MCT_GT_COUNTER_STEP) {
> + if (distance > MCT_GT_COUNTER_STEP || !distance) {
> distance = MCT_GT_COUNTER_STEP;
> }
> exynos4210_gfrc_set_count(&s->g_timer, distance);
>
Reviewed-by: Evgeny Voevodin <e.voevodin@samsung.com>
P.S.: Next time, please, don't forget to CC appropriate people to not
let them miss your patch.
--
Kind regards,
Evgeny Voevodin,
Technical Leader,
Mobile Group,
Samsung Moscow Research Center,
e-mail: e.voevodin@samsung.com
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [Qemu-devel] [PATCH v2] exynos4210/mct: Avoid infinite loop on non incremental timers
2012-12-03 22:55 [Qemu-devel] [PATCH v2] exynos4210/mct: Avoid infinite loop on non incremental timers Jean-Christophe DUBOIS
2012-12-04 4:12 ` Evgeny Voevodin
@ 2012-12-11 11:55 ` Peter Maydell
1 sibling, 0 replies; 3+ messages in thread
From: Peter Maydell @ 2012-12-11 11:55 UTC (permalink / raw)
To: Jean-Christophe DUBOIS; +Cc: qemu-devel
On 3 December 2012 22:55, Jean-Christophe DUBOIS <jcd@tribudubois.net> wrote:
> Check for a 0 "distance" value to avoid infinite loop when the
> expired FCR timer was not programed with auto-increment.
>
> With this change the behavior is coherent with the same type
> of code in the exynos4210_gfrc_restart() function in the same
> file.
>
> Linux seems to mostly use this timer with auto-increment
> which explain why it is not a problem most of the time.
>
> However other OS might have a problem with this if they
> don't use the auto-increment feature.
>
> Signed-off-by: Jean-Christophe DUBOIS <jcd@tribudubois.net>
Thanks, applied to arm-devs.next.
-- PMM
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2012-12-11 11:55 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-12-03 22:55 [Qemu-devel] [PATCH v2] exynos4210/mct: Avoid infinite loop on non incremental timers Jean-Christophe DUBOIS
2012-12-04 4:12 ` Evgeny Voevodin
2012-12-11 11:55 ` Peter Maydell
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.