[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;
>
- Re: [Qemu-trivial] [Qemu-devel] [PATCH v3 8/9] bt: remove muldiv64(),
Laurent Vivier <=