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: Laurent Vivier
Subject: Re: [Qemu-trivial] [Qemu-devel] [PATCH v3 8/9] bt: remove muldiv64()
Date: Tue, 8 Sep 2015 14:55:39 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.1.0

ping ?

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;
> 



reply via email to

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