qemu-trivial
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-trivial] [Qemu-devel] [PATCH v3 8/9] bt: remove muldiv64()


From: Paolo Bonzini
Subject: Re: [Qemu-trivial] [Qemu-devel] [PATCH v3 8/9] bt: remove muldiv64()
Date: Tue, 8 Sep 2015 08:57:59 -0400 (EDT)

> ping ?

Not really the most alive part of QEMU. :-)

> On 27/08/2015 21:33, 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.
> > 
> > As get_ticks_per_sec() is 10^9,
> > 
> >     a = muldiv64(b, get_ticks_per_sec(), 100);
> >     y = muldiv64(x, get_ticks_per_sec(), 1000000);
> > 
> > can be converted to
> > 
> >     a = b * 10000000;
> >     y = x * 1000;
> > 
> > Signed-off-by: Laurent Vivier <address@hidden>
> > ---
> >  hw/bt/hci.c | 4 ++--
> >  1 file changed, 2 insertions(+), 2 deletions(-)
> > 
> > diff --git a/hw/bt/hci.c b/hw/bt/hci.c
> > index 7ea3dc6..585ee2e 100644
> > --- a/hw/bt/hci.c
> > +++ b/hw/bt/hci.c
> > @@ -595,7 +595,7 @@ static void bt_hci_inquiry_result(struct bt_hci_s *hci,
> >  static void bt_hci_mod_timer_1280ms(QEMUTimer *timer, int period)
> >  {
> >      timer_mod(timer, qemu_clock_get_ns(QEMU_CLOCK_VIRTUAL) +
> > -                   muldiv64(period << 7, get_ticks_per_sec(), 100));
> > +                     (uint64_t)(period << 7) * 10000000);
> >  }
> >  
> >  static void bt_hci_inquiry_start(struct bt_hci_s *hci, int length)
> > @@ -1099,7 +1099,7 @@ static int bt_hci_mode_change(struct bt_hci_s *hci,
> > uint16_t handle,
> >      bt_hci_event_status(hci, HCI_SUCCESS);
> >  
> >      timer_mod(link->acl_mode_timer, qemu_clock_get_ns(QEMU_CLOCK_VIRTUAL)
> >      +
> > -                   muldiv64(interval * 625, get_ticks_per_sec(),
> > 1000000));
> > +                                    ((uint64_t)interval * 625) * 1000);
> >      bt_hci_lmp_mode_change_master(hci, link->link, mode, interval);
> >  
> >      return 0;
> > 
> 

Reviewed-by: Paolo Bonzini <address@hidden>



reply via email to

[Prev in Thread] Current Thread [Next in Thread]