From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:43341) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZfTgq-0007B0-Cx for qemu-devel@nongnu.org; Fri, 25 Sep 2015 10:09:33 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZfTgn-0007H1-3F for qemu-devel@nongnu.org; Fri, 25 Sep 2015 10:09:32 -0400 Received: from mx1.redhat.com ([209.132.183.28]:45210) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZfTgm-0007Gk-TR for qemu-devel@nongnu.org; Fri, 25 Sep 2015 10:09:29 -0400 Received: from int-mx10.intmail.prod.int.phx2.redhat.com (int-mx10.intmail.prod.int.phx2.redhat.com [10.5.11.23]) by mx1.redhat.com (Postfix) with ESMTPS id 83AD8461D8 for ; Fri, 25 Sep 2015 14:09:28 +0000 (UTC) From: Laurent Vivier Date: Fri, 25 Sep 2015 16:09:09 +0200 Message-Id: <1443190150-17312-9-git-send-email-lvivier@redhat.com> In-Reply-To: <1443190150-17312-1-git-send-email-lvivier@redhat.com> References: <1443190150-17312-1-git-send-email-lvivier@redhat.com> Subject: [Qemu-devel] [PULL 8/9] bt: remove muldiv64() List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: pbonzini@redhat.com Cc: Laurent Vivier , qemu-devel@nongnu.org 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 Reviewed-by: Paolo Bonzini --- 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 3fec435..6a88d49 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; -- 2.1.0