On Thu, Aug 27, 2015 at 09:33:01PM +0200, Laurent Vivier wrote: > Originally, timers were ticks based, and it made sense to > add ticks to current time to know when to trigger an alarm. > > But since commit: > > 7447545 change all other clock references to use nanosecond resolution > accessors > > All timers use nanoseconds and we need to convert ticks to nanoseconds, by > doing something like: > > y = muldiv64(x, get_ticks_per_sec(), PCI_FREQUENCY) > > where x is the number of device ticks and y the number of system ticks. > > y is used as nanoseconds in timer functions, > it works because 1 tick is 1 nanosecond. > (get_ticks_per_sec() is 10^9) > > But as PCI frequency is 33 MHz, we can also do: > > y = x * 30; /* 33 MHz PCI period is 30 ns */ > > Which is much more simple. > > This implies a 33.333333 MHz PCI frequency, > but this is correct. > > Signed-off-by: Laurent Vivier <lviv...@redhat.com> > --- > v3: part of "PCI: remove muldiv64()" > hw/net/pcnet.c | 3 +-- > 1 file changed, 1 insertion(+), 2 deletions(-)
Reviewed-by: Stefan Hajnoczi <stefa...@redhat.com>