aspeed_timer.c (d1f8764099022bc1173f2413331b26d4ff609a0c) | aspeed_timer.c (cb8d4c8f54b8271f642f02382eec29d468bb1c77) |
---|---|
1/* 2 * ASPEED AST2400 Timer 3 * 4 * Andrew Jeffery <andrew@aj.id.au> 5 * 6 * Copyright (C) 2016 IBM Corp. 7 * 8 * This code is licensed under the GPL version 2 or later. See --- 173 unchanged lines hidden (view full) --- 182 default: 183 qemu_log_mask(LOG_UNIMP, "%s: Programming error: unexpected reg: %d\n", 184 __func__, reg); 185 break; 186 } 187} 188 189/* Control register operations are broken out into helpers that can be | 1/* 2 * ASPEED AST2400 Timer 3 * 4 * Andrew Jeffery <andrew@aj.id.au> 5 * 6 * Copyright (C) 2016 IBM Corp. 7 * 8 * This code is licensed under the GPL version 2 or later. See --- 173 unchanged lines hidden (view full) --- 182 default: 183 qemu_log_mask(LOG_UNIMP, "%s: Programming error: unexpected reg: %d\n", 184 __func__, reg); 185 break; 186 } 187} 188 189/* Control register operations are broken out into helpers that can be |
190 * explictly called on aspeed_timer_reset(), but also from | 190 * explicitly called on aspeed_timer_reset(), but also from |
191 * aspeed_timer_ctrl_op(). 192 */ 193 194static void aspeed_timer_ctrl_enable(AspeedTimer *t, bool enable) 195{ 196 trace_aspeed_timer_ctrl_enable(t->id, enable); 197 if (enable) { 198 ptimer_run(t->timer, 0); --- 176 unchanged lines hidden (view full) --- 375 376static void aspeed_timer_reset(DeviceState *dev) 377{ 378 int i; 379 AspeedTimerCtrlState *s = ASPEED_TIMER(dev); 380 381 for (i = 0; i < ASPEED_TIMER_NR_TIMERS; i++) { 382 AspeedTimer *t = &s->timers[i]; | 191 * aspeed_timer_ctrl_op(). 192 */ 193 194static void aspeed_timer_ctrl_enable(AspeedTimer *t, bool enable) 195{ 196 trace_aspeed_timer_ctrl_enable(t->id, enable); 197 if (enable) { 198 ptimer_run(t->timer, 0); --- 176 unchanged lines hidden (view full) --- 375 376static void aspeed_timer_reset(DeviceState *dev) 377{ 378 int i; 379 AspeedTimerCtrlState *s = ASPEED_TIMER(dev); 380 381 for (i = 0; i < ASPEED_TIMER_NR_TIMERS; i++) { 382 AspeedTimer *t = &s->timers[i]; |
383 /* Explictly call helpers to avoid any conditional behaviour through | 383 /* Explicitly call helpers to avoid any conditional behaviour through |
384 * aspeed_timer_set_ctrl(). 385 */ 386 aspeed_timer_ctrl_enable(t, false); 387 aspeed_timer_ctrl_external_clock(t, TIMER_CLOCK_USE_APB); 388 aspeed_timer_ctrl_overflow_interrupt(t, false); 389 aspeed_timer_ctrl_pulse_enable(t, false); 390 t->level = 0; 391 t->reload = 0; --- 58 unchanged lines hidden --- | 384 * aspeed_timer_set_ctrl(). 385 */ 386 aspeed_timer_ctrl_enable(t, false); 387 aspeed_timer_ctrl_external_clock(t, TIMER_CLOCK_USE_APB); 388 aspeed_timer_ctrl_overflow_interrupt(t, false); 389 aspeed_timer_ctrl_pulse_enable(t, false); 390 t->level = 0; 391 t->reload = 0; --- 58 unchanged lines hidden --- |