12.01.2016 21:12, Dmitry Osipenko пишет:
12.01.2016 06:58, Peter Crosthwaite пишет:
On Sat, Jan 09, 2016 at 08:39:53PM +0300, Dmitry Osipenko wrote:
Currently ptimer would print error message and clear enable flag for an
arming timer that has delta = load = 0. That actually could be a valid case
for some hardware, like instant IRQ trigger for oneshot timer or continuous
in periodic mode. Support those cases by printing error message only when
period = 0.
Isn't the continuous-periodic the same as period = 0, so if we were to really
support this, there should be no error message. This would simplify as we
can remove the conditionals of 0 period completely and rely only on the
too-fast clamps you add in previous patches.
I don't think that clamping is needed. Instead doing the ptimer_tick might be
necessary, so ptimer user could handle that case on it own.
BTW, that printf isn't quite reliable, hw_error or other way of execution abort
should been used instead.
Thanks for the comment.
Just tried with the clamping. It works, but what clamping should be chosen for
icount mode? delta * period = 1ns is damn slow.
However, I'm still not sure what benefit has clamping over unclearable IRQ...
only disadvantages in form of slowdown in icount mode, +2 lines of ptimer code
and possible misbehaviour of blazing fast host machine in non-icount mode.
--
Dmitry